모듈:변환/테스터

Module:Convert/tester

-- 고정 텍스트와 비교하여 템플릿의 출력을 테스트하십시오. -- 예상 텍스트는 한 줄이어야 하지만 다음이 포함될 수 있음 - "\n"(2자)으로 뉴라인이 예상됨을 나타냄 -- 테스트는 p.tests(string 또는 테이블)를 설정하여 실행(또는 생성)하거나, -- 페이지=를 설정하여PAGE_TITLE(및 선택적으로 섹션=)섹션_TITLE), -- 그런 다음 run_reason(또는 make_reason)을 실행하십시오.  국부적 컬렉션 = {} 컬렉션.__index = 컬렉션 하다  기능을 하다 컬렉션:덧셈을(항목)   만일 항목 ~= 못을 박다 그때    자아의.n = 자아의.n + 1    자아의[자아의.n] = 항목   종지부를 찍다  종지부를 찍다  기능을 하다 컬렉션:합류하다(9월을 보내다)   돌아오다 table.classat(자아의, 9월을 보내다)  종지부를 찍다  기능을 하다 컬렉션.새로운()   돌아오다 설정 가능한({n = 0}, 컬렉션)  종지부를 찍다 종지부를 찍다  국부적 기능을 하다 텅 빈(문자 메시지를 보내다)  -- 텍스트가 0이거나 비어 있으면 true로 반환( 문자열 추정)  돌아오다 문자 메시지를 보내다 == 못을 박다 또는 문자 메시지를 보내다 == '' 종지부를 찍다  국부적 기능을 하다 옷을 벗기다(문자 메시지를 보내다)  -- 선행/트레이닝 공백 없이 텍스트 반환  돌아오다 문자 메시지를 보내다:짝을 맞추다("^%s*(^%)%s*$") 종지부를 찍다  국부적 기능을 하다 정상화하다(문자 메시지를 보내다)  -- 스트립 마커를 교체하여 정규화된 텍스트 반환  - 고정된 값을 가진 고유 번호로 비교가 가능하다.  돌아오다 문자 메시지를 보내다:gsub('(\127[^\127]*UNIQ[^\127]*%-)(%x\+)(-QINU[^]\127]*\127)', '%100000000%3') 종지부를 찍다  국부적 기능을 하다 status_box(통계, 예상한, 실제의, 등화)  국부적 라벨을 붙이다, 색칠을 하다, 정렬시키다, 실패하다  만일 등화 그때   실제의 = ''   정렬시키다 = '중앙'   색칠을 하다 = 'silver'   라벨을 붙이다 = 'cmnt'  그렇지 않으면 예상한 == '' 그때   통계.무시한 = 통계.무시한 + 1   돌아오다 '', 실제의  그렇지 않으면 정상화하다(예상한) == 정상화하다(실제의) 그때   통계.통과하다 = 통계.통과하다 + 1   실제의 = ''   정렬시키다 = '중앙'   색칠을 하다 = '녹색'   라벨을 붙이다 = '통과'  다른   통계.실패하다 = 통계.실패하다 + 1   정렬시키다 = '중앙'   색칠을 하다 = '빨간색'   라벨을 붙이다 = '실패'   실패하다 = 진실의  종지부를 찍다  국부적 sbox = 'style="text-thead:' .. 정렬시키다 .. ';color:white;white:' .. 색칠을 하다 .. ';"   ' .. 라벨을 붙이다  돌아오다 sbox, 실제의, 실패하다 종지부를 찍다  국부적 기능을 하다 status_text(통계)  국부적 색칠을 하다, discused_text, 음스그, t텍스트  만일 통계.템플릿 그때   t텍스트 = ""사용[템플릿:" .. 통계.템플릿 .. "]]:''' "  다른   t텍스트 = ''  종지부를 찍다  만일 통계.실패하다 == 0 그때   만일 통계.통과하다 == 0 그때    색칠을 하다 = 'salmon'    음스그 = '테스트 수행 없음'   다른    색칠을 하다 = '녹색'    음스그 = 문자열.format('모든 %d 테스트 합격', 통계.통과하다)   종지부를 찍다  다른   색칠을 하다 = '어두워진'   음스그 = 문자열.format('%d 테스트%s 실패', 통계.실패하다, 통계.실패하다 == 1 그리고 '' 또는 's)  종지부를 찍다  만일 통계.무시한 == 0 그때   discused_text = ''  다른   색칠을 하다 = 'salmon'   discused_text = 문자열.format(', %d 테스트%s이(가) 무시됨(예상된 텍스트가 비어 있음, 통계.무시한, 통계.무시한 == 1 그리고 '' 또는 's)  종지부를 찍다  돌아오다 t텍스트 .. '<span style="font-size:120%;color:흰색;;-color:' .. 색칠을 하다 .. ';">' ..   음스그 .. discused_text .. '.[/span]' 종지부를 찍다  국부적 기능을 하다 run_beates(액자에 넣다, 템플릿, 아그, clush_multiline)  -- 템플릿 "{예 2 = def abc name = ghi jkl }"  -- xargs { "abc ", "def", 이름 = "ghi jkl" }.  만일 템플릿:후보선수(1, 2) == '{{' 그리고 템플릿:후보선수(-2, -1) == '}}' 그때   템플릿 = 템플릿:후보선수(3, -3) .. ' '  &shy; 마지막 필드를 얻기 위한 보초  다른   돌아오다 '(기본 템플릿)'  종지부를 찍다  국부적 자르그 = {}  국부적 색인을 달다 = 1  국부적 템플리트 이름  국부적 기능을 하다 put_arg(k, v)   -- 슬러지:모듈:Val은 모듈 사용:인수를 자르는 인수 및   - 빈 논쟁은 생략한다.여기서 시뮬레이션을 해보십시오.   &shy; 나중에 이것을 통제할 매개 변수가 필요하다.   만일 템플리트 이름:후보선수(1, 3) == '발' 그때    v = 옷을 벗기다(v)    만일 v == '' 그때     돌아오다    종지부를 찍다   종지부를 찍다   자르그[k] = v  종지부를 찍다  템플릿 = 템플릿:gsub('(%[%[[^%[%]]-) (.-%]%])', '%1\0%2')  - 파이프 링크의 파이프를 0바이트로 교체  을 위해 밭을 갈다  템플릿:gmatch('(.-) ') 하다   밭을 갈다 = 밭을 갈다:gsub('%z', ' ')  - 파이프 링크의 파이프 복원   만일 템플리트 이름 == 못을 박다 그때    템플리트 이름 = 아그.템플릿 또는 옷을 벗기다(밭을 갈다)    만일 템플리트 이름 == '' 그때     돌아오다 '(기본 템플릿)'    종지부를 찍다   다른    국부적 k, eq, v = 밭을 갈다:짝을 맞추다("^(.-)(=)(.*)$")    만일 eq 그때     k, v = 옷을 벗기다(k), 옷을 벗기다(v)  -- k 및/또는 v는 비워 둘 수 있음     국부적 i = 톤넘버(k)     만일 i 그리고 i > 0 그리고 끈.매치(k, '^%d+
                
) 그때 put_arg(i, v) 다른 put_arg(k, v) 종지부를 찍다 다른 하는 동안에 자르그[색인을 달다] ~= 못을 박다 하다 -- "5=5"와 같은 명시적 번호 매개 변수를 건너뛰십시오. 색인을 달다 = 색인을 달다 + 1 종지부를 찍다 put_arg(색인을 달다, 밭을 갈다) 종지부를 찍다 종지부를 찍다 종지부를 찍다 만일 아그.시험하다 그리고 아닌 자르그.시험하다 그때 -- 변환의 경우 test=preview 또는 test=nopreview를 에 주입하도록 허용 -- 테스트 중인 변환기(이미 해당 매개 변수를 사용하지 않는 경우). -- 예를 들어 make_tests의 미리 보기를 통해 nopreview 결과를 표시할 수 있다. 자르그.시험하다 = 아그.시험하다 종지부를 찍다 국부적 기능을 하다 확대하다(t) 돌아오다 액자에 넣다:expansion템플릿(t) 종지부를 찍다 국부적 네 알겠습니다, 결과 = 피콜(확대하다, { 칭호를 붙이다 = 템플리트 이름, 아그 = 자르그 }) 만일 아닌 네 알겠습니다 그때 결과 = '오류:.' .. 결과 종지부를 찍다 만일 clush_multiline 그때 결과 = 결과:gsub('\n', '\\n') 종지부를 찍다 돌아오다 결과 종지부를 찍다 국부적 기능을 하다 _make_make_make(액자에 넣다, all_message, 아그) 국부적 최대치의 = 38 을 위해 _, 항목 아이페어(all_message) 하다 국부적 템플릿 = 항목[1] 만일 템플릿 그때 국부적 템플 기사단 = mw.우스트링.(템플릿) 항목.템플 기사단 = 템플 기사단 만일 최대치의 < 템플 기사단 그리고 템플 기사단 <= 70 그때 최대치의 = 템플 기사단 종지부를 찍다 종지부를 찍다 종지부를 찍다 국부적 결과 = 컬렉션.새로운() 을 위해 _, 항목 아이페어(all_message) 하다 국부적 템플릿 = 항목[1] 만일 템플릿 그때 국부적 실제의 = run_beates(액자에 넣다, 템플릿, 아그, 진실의) 국부적 패드를 붙이다 = 끈.rep(' ', 최대치의 - 항목.템플 기사단) .. ' ' 결과:덧셈을(템플릿 .. 패드를 붙이다 .. 실제의) 다른 국부적 문자 메시지를 보내다 = 항목.문자 메시지를 보내다 만일 문자 메시지를 보내다 그때 결과:덧셈을(문자 메시지를 보내다) 종지부를 찍다 종지부를 찍다 종지부를 찍다 -- 모듈에 의해 반환되는 사전 태그는 wikitxt <pre>와는 달리 html 태그 입니다...</준비>. 돌아오다 '[이전]\n' .. mw.문자 메시지를 보내다.노위키(결과:합류하다('\n')) .. '\n</준비> 종지부를 찍다 국부적 기능을 하다 _run_noon_door(액자에 넣다, all_message, 아그) 국부적 기능을 하다 safe_cell(문자 메시지를 보내다, 여러 줄의) --{{convert}}} 테스트의 경우, '[kg]]'와 같은 위키텍스트를 변경하지 않길 바란다. -- 따라서 링크가 작동하고 표시되는 텍스트가 짧다(예: "kg"). 문자 메시지를 보내다 = 문자 메시지를 보내다:gsub('(%[%[[^%[%]]-) (.-%]%])', '%1\0%2') - 파이프 링크의 파이프를 0바이트로 교체 문자 메시지를 보내다 = 문자 메시지를 보내다:gsub('{', '&#123;'):gsub(' ', '&#124;') -- 탈출 '{'와 '' 문자 메시지를 보내다 = 문자 메시지를 보내다:gsub('%z', ' ') - 파이프 링크의 파이프 복원 만일 여러 줄의 그때 문자 메시지를 보내다 = 문자 메시지를 보내다:gsub('\\n', '[<</>]) 종지부를 찍다 돌아오다 문자 메시지를 보내다 종지부를 찍다 국부적 기능을 하다 nowiki_cell(문자 메시지를 보내다, 여러 줄의) 문자 메시지를 보내다 = mw.문자 메시지를 보내다.노위키(문자 메시지를 보내다) 만일 여러 줄의 그때 문자 메시지를 보내다 = 문자 메시지를 보내다:gsub('\\n', '[<</>]) 종지부를 찍다 돌아오다 문자 메시지를 보내다 종지부를 찍다 국부적 통계 = { 통과하다 = 0, 실패하다 = 0, 무시한 = 0, 템플릿 = 아그.템플릿 } 국부적 결과 = 컬렉션.새로운() 결과:덧셈을('{class="유효한 분류 가능") 결과:덧셈을('! 템플릿!!기대되는 !!실제, 다르다면!!상태') 을 위해 _, 항목 아이페어(all_message) 하다 국부적 템플릿, 예상한 = 항목[1], 항목[2] 또는 '' 만일 템플릿 그때 국부적 실제의 = run_beates(액자에 넣다, 템플릿, 아그, 진실의) 국부적 sbox, 실제의, 실패하다 = status_box(통계, 예상한, 실제의) 결과:덧셈을(' -') 결과:덧셈을(' ' .. safe_cell(템플릿)) 결과:덧셈을(' ' .. safe_cell(예상한, 진실의)) 결과:덧셈을(' ' .. safe_cell(실제의, 진실의)) 결과:덧셈을(' ' .. sbox) 만일 실패하다 그때 결과:덧셈을(' -') 결과:덧셈을(align="중앙"(위, nowiki)) 결과:덧셈을(' ' .. nowiki_cell(정상화하다(예상한), 진실의)) 결과:덧셈을(' ' .. nowiki_cell(정상화하다(실제의), 진실의)) 결과:덧셈을(' ') 종지부를 찍다 다른 국부적 문자 메시지를 보내다 = 항목.문자 메시지를 보내다 만일 문자 메시지를 보내다 그리고 문자 메시지를 보내다:후보선수(1, 3) == '---' 그때 결과:덧셈을(' -') 결과:덧셈을('콜스판="3" 스타일="색상:흰색;흰색;흰색:색상:색상;색상;" .. safe_cell(옷을 벗기다(문자 메시지를 보내다:후보선수(4)), 진실의)) 결과:덧셈을(' ' .. status_box(통계, '', '', 진실의)) 종지부를 찍다 종지부를 찍다 종지부를 찍다 결과:덧셈을(' }') 돌아오다 status_text(통계) .. '\n\n' .. 결과:합류하다('\n') 종지부를 찍다 국부적 기능을 하다 get_page_content(page_page, unse_message) 국부적 t = mw.칭호를 붙이다.새로운(page_page) 만일 t 그때 국부적 내용물 = t:getContent() 만일 내용물 그때 만일 내용물:후보선수(-1) ~= '\n' 그때 내용물 = 내용물 .. '\n' 종지부를 찍다 돌아오다 내용물 종지부를 찍다 종지부를 찍다 만일 아닌 unse_message 그때 착오('wikitext를 '[]에서 읽을 수 없음 .. page_page .. ']]".', 0) 종지부를 찍다 종지부를 찍다 국부적 기능을 하다 _beakes(액자에 넣다, page_page) 국부적 접두사를 붙이다 = 액자에 넣다.아그.접두사를 붙이다 또는 '*' 국부적 기능을 하다 diff_link(제목1, 제목2) 돌아오다 '[<span class="splinks"] .. 토스트링(mw.우리당.풀룰('특수:페이지 비교', { 1 페이지 = 제목1, 2 페이지 = 제목2 })) .. 'diff'[/span]' 종지부를 찍다 국부적 기능을 하다 연결하다(칭호를 붙이다) 돌아오다 '[[' .. 칭호를 붙이다 .. ']]' 종지부를 찍다 국부적 기능을 하다 메세지(문자 메시지를 보내다, 좋다) 국부적 색을 칠하다 = 좋다 그리고 '녹색' 또는 '어두워진' 돌아오다 '<스팬 스타일="컬러:' .. 색을 칠하다 .. ';">' .. 문자 메시지를 보내다 .. '[/span]' 종지부를 찍다 국부적 결과 = 컬렉션.새로운() 을 위해 _, 항목 아이페어(page_page) 하다 국부적 라벨을 붙이다 국부적 제목1 = 항목[1] 국부적 제목2 = 항목[2] 만일 제목1 == 제목2 그때 라벨을 붙이다 = 메세지('직함', 거짓의) 다른 국부적 내용1 = get_page_content(제목1, 진실의) 국부적 내용2 = get_page_content(제목2, 진실의) 만일 아닌 내용1 또는 아닌 내용2 그때 라벨을 붙이다 = 메세지('존재하지 않음', 거짓의) 그렇지 않으면 내용1 == 내용2 그때 라벨을 붙이다 = 메세지('비공개 내용', 진실의) 다른 라벨을 붙이다 = 메세지('different', 거짓의) .. ' (' .. diff_link(제목1, 제목2) .. ')' 종지부를 찍다 종지부를 찍다 결과:덧셈을(접두사를 붙이다 .. 연결하다(제목1) .. ' • ' .. 연결하다(제목2) .. ' • ' .. 라벨을 붙이다) 종지부를 찍다 돌아오다 결과:합류하다('\n') 종지부를 찍다 국부적 기능을 하다 단면(문자 메시지를 보내다) 돌아오다 { 맨 처음의 = 1, - 마지막 제목 끝의 새 줄 바로 뒤에 this_section = 1, next_snow = 기능을 하다(자아의) 국부적 맨 처음의 = 자아의.맨 처음의 하는 동안에 맨 처음의 <= #문자 메시지를 보내다 하다 국부적 지난, 표제 맨 처음의, 지난, 표제 = 문자 메시지를 보내다:찾아내다('==+[\t]*([^\n]-)[\t]*==+[\t\r]*\n', 맨 처음의) 만일 맨 처음의 그때 만일 맨 처음의 == 1 또는 문자 메시지를 보내다:후보선수(맨 처음의 - 1, 맨 처음의 - 1) == '\n' 그때 자아의.this_section = 맨 처음의 자아의.맨 처음의 = 지난 + 1 돌아오다 표제 종지부를 찍다 맨 처음의 = 지난 + 1 다른 부숴뜨리다 종지부를 찍다 종지부를 찍다 자아의.맨 처음의 = #문자 메시지를 보내다 + 1 돌아오다 못을 박다 종지부를 찍다, current_section = 기능을 하다(자아의) 국부적 맨 처음의 = 자아의.this_section 국부적 지난 = 문자 메시지를 보내다:찾아내다('\n==[^\n]-==[\t\r]*\n', 맨 처음의) 만일 아닌 지난 그때 지난 = -1 종지부를 찍다 돌아오다 문자 메시지를 보내다:후보선수(맨 처음의, 지난) 종지부를 찍다, } 종지부를 찍다 국부적 기능을 하다 get_beats(액자에 넣다, 시험) 국부적 아그 = 액자에 넣다.아그 국부적 page_page, section_message = 아그.페이지를 매기다, 아그.단면 국부적 show_all = (아그.보여 주다 == '모두') 만일 아닌 텅 빈(page_page) 그때 만일 아닌 텅 빈(시험) 그때 착오('Invoke는 "page="를 설정해서는 안 된다. .. page_page .. ''p.p.p.p.p.를 설정하는 경우', 0) 종지부를 찍다 만일 page_page:후보선수(1, 2) == '[[' 그리고 page_page:후보선수(-2) == ']]' 그때 page_page = 옷을 벗기다(page_page:후보선수(3, -3)) 종지부를 찍다 시험 = get_page_content(page_page) 만일 아닌 텅 빈(section_message) 그때 국부적 s = 단면(시험) 하는 동안에 진실의 하다 국부적 표제 = s:next_snow() 만일 표제 그때 만일 표제 == section_message 그때 시험 = s:current_section() 부숴뜨리다 종지부를 찍다 다른 착오('섹션' .. section_message .. 페이지 [[]에서 ''을(를) 찾을 수 없음 .. page_page .. ']].', 0) 종지부를 찍다 종지부를 찍다 종지부를 찍다 종지부를 찍다 만일 타자를 치다(시험) ~= '끈' 그때 만일 타자를 치다(시험) == '테이블' 그때 돌아오다 시험 종지부를 찍다 착오('시험이 지정되지 않았다. [[모듈:변환/테스터/doc]]., 0) 종지부를 찍다 만일 시험:후보선수(-1) ~= '\n' 그때 시험 = 시험 .. '\n' 종지부를 찍다 국부적 template_count = 0 국부적 all_message = 컬렉션.새로운() 을 위해 선을 긋다 (시험):gmatch('([^\n]-)[\t\r]*\n') 하다 국부적 템플릿, 예상한 = 선을 긋다:짝을 맞추다('^({{{}})%s*(-)%s*
$$SIDE_BOTTOM$$
    $$BOTTOM$$