Permanently protected module

모듈:템플릿 테스트 케이스

Module:Template test case

--[[ 테스트 사례 템플릿을 생성하기 위한 모듈.  이 모듈에는 영어 위키백과의 "테스트케이스 테이블"에서 나온 코드가 통합되어 있다. 모듈(Module, [1] Frietjes [2]가 Stradivarius씨의 기여로 작성함 [3] Jackmcbarn, [4] 및 영어 위키백과의 "테스트케이스 행" 모듈, [5] 스트라디바리우스 씨가 쓴  "테스트케이스 테이블" 및 "테스트케이스 행" 모듈은 CC BY-SA 3.0 라이센스 [6] 및 GFDL.[7]  라이센스: CC BY-SA 3.0 및 GFDL 저자: 스트라디바리우스 씨  [1] https://en.wikipedia.org/wiki/Module:Testcase_table [2] https://en.wikipedia.org/wiki/User:Frietjes [3] https://en.wikipedia.org/wiki/User:Mr._Stradivarius [4] https://en.wikipedia.org/wiki/User:Jackmcbarn [5] https://en.wikipedia.org/wiki/Module:Testcase_rows [6] https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License [7] https://en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License ]]  -- 필요한 모듈 로드 국부적 예스노 = 요구하다('모듈:예스노')  -- 상수 설정 국부적 DATA_MODUL = '모듈:템플릿 테스트 케이스/데이터'  ------------------------------------------------------------------------------- -- 공유 방법 -------------------------------------------------------------------------------  국부적 기능을 하다 메세지(자아의, 핵심을, ...)  -- 이 방법은 본 교육생의 메시지를 다루어야 하는 수업에 추가된다.  -- config module.  국부적 음스그 = 자아의.cfg.음스그[핵심을]  만일 선발하다(1, ...) 그때   돌아오다 mw.메세지.newRawMessage(음스그, ...):평이한()  다른   돌아오다 음스그  종지부를 찍다 종지부를 찍다  ------------------------------------------------------------------------------- -- 템플릿 클래스 -------------------------------------------------------------------------------  국부적 템플릿 = {}  템플릿.메모화된 방법 = {  -- 각 개체에서 메모할 메서드의 이름.이 테이블은 오직  -- 매개 변수 없이 메서드를 보유하십시오.  getFullPage = 진실의,  getName = 진실의,  메이크헤더 = 진실의,  getOutput = 진실의 }  기능을 하다 템플릿.새로운(호출Obj, 옵션들)  국부적 오비지 = {}   -- 입력 설정  을 위해 k, v  쌍들(옵션들 또는 {}) 하다   만일 아닌 템플릿[k] 그때    오비지[k] = v   종지부를 찍다  종지부를 찍다  오비지._직무직 = 호출Obj   -- 입력 유효성 확인.  만일 아닌 오비지.템플릿 그리고 아닌 오비지.칭호를 붙이다 그때   착오('지정된 템플릿 또는 제목 없음', 2)  종지부를 찍다   -- 값비싼 메서드 호출 메모화  국부적 메모펀치 = {}  돌아오다 설정 가능한(오비지, {   __index = 기능을 하다 (t, 핵심을)    만일 템플릿.메모화된 방법[핵심을] 그때     국부적 펑크 = 메모펀치[핵심을]     만일 아닌 펑크 그때      국부적 발랄하게 하다 = 템플릿[핵심을](t)      펑크 = 기능을 하다 () 돌아오다 발랄하게 하다 종지부를 찍다      메모펀치[핵심을] = 펑크     종지부를 찍다     돌아오다 펑크    다른     돌아오다 템플릿[핵심을]    종지부를 찍다   종지부를 찍다  }) 종지부를 찍다  기능을 하다 템플릿:getFullPage()  만일 아닌 자아의.템플릿 그때   돌아오다 자아의.칭호를 붙이다.접두사의텍스트  그렇지 않으면 자아의.템플릿:후보선수(1, 7) == '#invoke' 그때   돌아오다 '모듈' .. 자아의.템플릿:후보선수(8):gsub(' .*', '')  다른   국부적 벗겨진 템플릿, 하스콜론 = 자아의.템플릿:gsub('^:', '', 1)   하스콜론 = 하스콜론 > 0   국부적 ns = 벗겨진 템플릿:짝을 맞추다('^(.-):')   ns = ns 그리고 mw.사이트.네임스페이스[ns]   만일 ns 그때    돌아오다 벗겨진 템플릿   그렇지 않으면 하스콜론 그때    돌아오다 벗겨진 템플릿 -- 주 네임스페이스   다른    돌아오다 mw.사이트.네임스페이스[10].이름을 붙이다 .. ':' .. 벗겨진 템플릿   종지부를 찍다  종지부를 찍다 종지부를 찍다  기능을 하다 템플릿:getName()  만일 자아의.템플릿 그때   돌아오다 자아의.템플릿  다른   돌아오다 요구하다('모듈:템플릿 호출').이름을 붙이다(자아의.칭호를 붙이다)  종지부를 찍다 종지부를 찍다  기능을 하다 템플릿:makeLink(전시하다)  만일 전시하다 그때   돌아오다 문자열.format('[:%s %s]', 자아의:getFullPage(), 전시하다)  다른   돌아오다 문자열.format('[:%s]', 자아의:getFullPage())  종지부를 찍다 종지부를 찍다  기능을 하다 템플릿:makeBraceLink(전시하다)  전시하다 = 전시하다 또는 자아의:getName()  국부적 연결하다 = 자아의:makeLink(전시하다)  돌아오다 mw.문자 메시지를 보내다.노위키('{{') .. 연결하다 .. mw.문자 메시지를 보내다.노위키('}}') 종지부를 찍다  기능을 하다 템플릿:메이크헤더()  돌아오다 자아의.표제 또는 자아의:makeBraceLink() 종지부를 찍다  기능을 하다 템플릿:getInvocation(형식을 갖추다)  국부적 호출 = 자아의._직무직:getInvocation{   템플릿 = 자아의:getName(),   필요 매직 워드 = 자아의.필요 매직 워드,  }  만일 형식을 갖추다 == '코드' 그때   호출 = ', <코드>." .. mw.문자 메시지를 보내다.노위키(호출) .. '[/code]'  그렇지 않으면 형식을 갖추다 == 'kbd' 그때   호출 = ''<kbd'' .. mw.문자 메시지를 보내다.노위키(호출) .. '[/kbd]'  그렇지 않으면 형식을 갖추다 == 'plain' 그때   호출 = mw.문자 메시지를 보내다.노위키(호출)  다른   -- 기본값은 사전 태그임   호출 = mw.문자 메시지를 보내다.인코딩하다(호출, '&')   호출 = '<pre style="white-space: pre-pre-pre-pre-propert .. 호출 .. '[/준비]'   호출 = mw.getCurrentFrame():전처리하다(호출)  종지부를 찍다  돌아오다 호출 종지부를 찍다  기능을 하다 템플릿:getOutput()  국부적 보호하다 = 요구하다('모듈:보호하다')  - 자신을 부르는 것._invocation:getOutput{...}  돌아오다 보호하다(자아의._직무직.getOutput)(자아의._직무직, {   템플릿 = 자아의:getName(),   필요 매직 워드 = 자아의.필요 매직 워드,  }) 종지부를 찍다  ------------------------------------------------------------------------------- -- TestCase 클래스 -------------------------------------------------------------------------------  국부적 테스트케이스 = {} 테스트케이스.__index = 테스트케이스 테스트케이스.메세지 = 메세지 -- 메시지 방법 추가  테스트케이스.렌더메소드 = {  -- 이 표의 키는 "형식" 옵션의 값이며, 값은  -- 형식을 렌더링하는 방법.  기둥 = '렌더콜럼스',  노를 젓다 = '렌더로우스',  태블러드 = '렌더로우스',  횡대로 = '렌더인라인',  세포들 = '렌더셀스',  체납 = 'renderDefault' }  기능을 하다 테스트케이스.새로운(호출Obj, 옵션들, cfg)  국부적 오비지 = 설정 가능한({}, 테스트케이스)  오비지.cfg = cfg   -- 템플릿 옵션과 일반 옵션 구분템플릿 옵션은  -- 번호가 매겨진 반면, 일반 옵션은 그렇지 않다.  국부적 일반옵션, template옵션 = {}, {}  을 위해 k, v  쌍들(옵션들) 하다   국부적 접두사를 붙이다, 숫자   만일 타자를 치다(k) == '끈' 그때    접두사를 붙이다, 숫자 = k:짝을 맞추다('^(.-)([1-9][0-9]*)
                
) 종지부를 찍다 만일 접두사를 붙이다 그때 숫자 = 톤넘버(숫자) template옵션[숫자] = template옵션[숫자] 또는 {} template옵션[숫자][접두사를 붙이다] = v 다른 일반옵션[k] = v 종지부를 찍다 종지부를 찍다 -- 일반 옵션 설정 일반옵션.쇼코드 = 예스노(일반옵션.쇼코드) 일반옵션.쇼헤더 = 예스노(일반옵션.쇼헤더) ~= 거짓의 일반옵션.쇼케이프 = 예스노(일반옵션.쇼케이프) ~= 거짓의 일반옵션.접을 수 있는 = 예스노(일반옵션.접을 수 있는) 일반옵션.소멸되지 않은 = 예스노(일반옵션.소멸되지 않은) 일반옵션.땡땡이 치다 = 예스노(일반옵션.땡땡이 치다) 오비지.옵션들 = 일반옵션 -- 템플릿 아그 사전 처리 을 위해 숫자, t 쌍들(template옵션) 하다 만일 t.쇼템플릿 ~= 못을 박다 그때 t.쇼템플릿 = 예스노(t.쇼템플릿) 종지부를 찍다 종지부를 찍다 -- 처음 두 개의 템플릿 옵션 테이블을 설정하여 - "template3"이 지정되어 있는데, 이 경우 첫 번째 템플릿이 만들어지지 않는다. -- 테이블 옵션 배열이 압축됨. template옵션[1] = template옵션[1] 또는 {} template옵션[2] = template옵션[2] 또는 {} -- "템플릿" 옵션이 다음에 대한 "템플릿1" 옵션을 재정의하도록 허용 -- [모듈:]와의 역호환성Testcase table]]]]]. 만일 일반옵션.템플릿 그때 template옵션[1].템플릿 = 일반옵션.템플릿 종지부를 찍다 -- 기본 템플릿 옵션 추가 만일 template옵션[1].템플릿 그리고 아닌 template옵션[2].템플릿 그때 template옵션[2].템플릿 = template옵션[1].템플릿 .. '/' .. 오비지.cfg.샌드박스하위 페이지 종지부를 찍다 만일 아닌 template옵션[1].템플릿 그때 template옵션[1].칭호를 붙이다 = mw.칭호를 붙이다.getCurrentTitle().basePageTitle 종지부를 찍다 만일 아닌 template옵션[2].템플릿 그때 template옵션[2].칭호를 붙이다 = template옵션[1].칭호를 붙이다:하위 페이지제목( 오비지.cfg.샌드박스하위 페이지 ) 종지부를 찍다 -- 쇼템플릿이 있는 템플릿에 대한 템플릿 옵션 제거 -- 논쟁은 거짓이다.이렇게 하면 해당 템플릿의 출력이 차단된다. 을 위해 숫자, t 쌍들(template옵션) 하다 만일 t.쇼템플릿 == 거짓의 그때 template옵션[숫자] = 못을 박다 종지부를 찍다 종지부를 찍다 -- 누락된 템플릿 이름을 확인하십시오. 을 위해 숫자, t 쌍들(template옵션) 하다 만일 아닌 t.템플릿 그리고 아닌 t.칭호를 붙이다 그때 착오(오비지:메세지( '이중-선택-선택-선택-유휴', 숫자, 숫자 ), 2) 종지부를 찍다 종지부를 찍다 -- Compress templateOptions 테이블로 ipecer를 반복할 수 있도록 하십시오. template옵션 = (기능을 하다 (t) 국부적 숫자 = {} 을 위해 숫자 쌍들(t) 하다 숫자[#숫자 + 1] = 숫자 종지부를 찍다 table.properties(숫자) 국부적 되받아치다 = {} 을 위해 i, 숫자 아이페어(숫자) 하다 되받아치다[i] = t[숫자] 종지부를 찍다 돌아오다 되받아치다 종지부를 찍다)(template옵션) -- 다음과 같은 경우 nowiki 호출에 __TEMPLATENAME_ 마법 단어 필요 없음 -- 출력되는 템플릿은 하나뿐입니다. 만일 #template옵션 <= 1 그때 template옵션[1].필요 매직 워드 = 거짓의 종지부를 찍다 mw.logObject(template옵션) -- 템플릿 개체 만들기 오비지.템플릿 = {} 을 위해 i, 옵션들 아이페어(template옵션) 하다 table.insert(오비지.템플릿, 템플릿.새로운(호출Obj, 옵션들)) 종지부를 찍다 -- 추적 카테고리 추가.현재 우리는 단지 템플릿만 추적하고 있다. - "입력" 매개변수 또는 "출력" 매개변수를 사용하는 경우. 오비지.분류 = {} 을 위해 k, v 쌍들(옵션들) 하다 만일 타자를 치다(k) == '끈' 그리고 k:찾아내다('heading') 그때 오비지.분류['헤딩 매개 변수를 사용하여 테스트 사례'] = 진실의 그렇지 않으면 k == '출력' 그때 오비지.분류['출력 매개 변수를 사용하여 테스트 사례'] = 진실의 종지부를 찍다 종지부를 찍다 돌아오다 오비지 종지부를 찍다 기능을 하다 테스트케이스:getTemplateOutput(templateObj) 국부적 생산량 = templateObj:getOutput() 만일 자아의.옵션들.resetRefs 그때 mw.getCurrentFrame():확장 태그('references') 종지부를 찍다 돌아오다 생산량 종지부를 찍다 기능을 하다 테스트케이스:templateOutputIsEqual() -- 모든 템플릿 출력이 동일한지 여부를 나타내는 부울 반환. -- 스트립 마커의 무작위 부분([도움말:] 참조):스트립 마커]])는 - 비교 전에 제거됨.이것은 스트립 마커가 어떤 것이든 포함할 수 있다는 것을 의미한다. - 그리고 여전히 동등한 대우를 받지만, 그렇지 않은 문제를 해결한다. -- 동일한 위키텍스트가 정확히 동일하게 반환되지 않음. 국부적 기능을 하다 정상화하다출력(오비지) 국부적 밖으로 = 오비지:getOutput() -- 스트립 마커에서 임의 부품을 제거하십시오. 밖으로 = 밖으로:gsub('(\127\'""UNIQ.-)%-%x+%-(QINU)"\'\127)', '%1%2') 돌아오다 밖으로 종지부를 찍다 국부적 퍼스트 아웃풋 = 정상화하다출력(자아의.템플릿[1]) 을 위해 i = 2, #자아의.템플릿 하다 국부적 생산량 = 정상화하다출력(자아의.템플릿[i]) 만일 생산량 ~= 퍼스트 아웃풋 그때 돌아오다 거짓의 종지부를 찍다 종지부를 찍다 돌아오다 진실의 종지부를 찍다 기능을 하다 테스트케이스:접을 수 있게 하다(s) 국부적 칭호를 붙이다 = 자아의.옵션들.칭호를 붙이다 또는 자아의.템플릿[1]:메이크헤더() 만일 자아의.옵션들.타이틀 코드 그때 칭호를 붙이다 = 자아의.템플릿[1]:getInvocation('kbd') 종지부를 찍다 국부적 이퀄 = 자아의:templateOutputIsEqual() 국부적 뿌리를 내리다 = mw.html.만들다('div') 뿌리를 내리다 :addClass('mw 접을 수 있는') :css('폭', '100%') :css('경계', '고형 은 1px') :css('padding', '0.2em') :addClass(자아의.옵션들.소멸되지 않은 == 거짓의 그리고 'mw-mough' 또는 못을 박다) 만일 자아의.옵션들.땡땡이 치다 그때 뿌리를 내리다 :꼬리표를 달다('div') :css('색깔', 이퀄 그리고 '노란색' 또는 '#90a8ee') :css('font-weight', 'bold') :css('padding', '0.2em') :위키텍스트(칭호를 붙이다) :끝냈다() 다른 만일 자아의.옵션들.소멸되지 않은 ~= 진실의 또는 거짓의 그때 뿌리를 내리다 :addClass(이퀄 그리고 'mw-mough' 또는 못을 박다) 종지부를 찍다 뿌리를 내리다 :꼬리표를 달다('div') :css('색깔', 이퀄 그리고 '빛녹색' 또는 '노란색') :css('font-weight', 'bold') :css('padding', '0.2em') :위키텍스트(칭호를 붙이다) :끝냈다() 종지부를 찍다 뿌리를 내리다 :꼬리표를 달다('div') :addClass('mw-collapable-content') :뉴라인() :위키텍스트(s) :뉴라인() 돌아오다 토스트링(뿌리를 내리다) 종지부를 찍다 기능을 하다 테스트케이스:렌더콜럼스() 국부적 뿌리를 내리다 = mw.html.만들다() 만일 자아의.옵션들.쇼코드 그때 뿌리를 내리다 :위키텍스트(자아의.템플릿[1]:getInvocation()) :뉴라인() 종지부를 찍다 국부적 태블루트 = 뿌리를 내리다:꼬리표를 달다('테이블') 만일 자아의.옵션들.쇼헤더 그때 -- 캡션 만일 자아의.옵션들.쇼케이프 그때 태블루트 :addClass(자아의.옵션들.계급) :cssText(자아의.옵션들.문체를 하다) :꼬리표를 달다('caption') :위키텍스트(자아의.옵션들.자막 또는 자아의:메세지('columns-header')) 종지부를 찍다 -- 머리글 국부적 머리글 행 = 태블루트:꼬리표를 달다('tr') 만일 자아의.옵션들.노 젓는 사람 그때 -- 여기서 행헤더가 옳다.만약 우리가 다른 셀을 추가해야 한다면 -- 제목 0이 누락된 경우에도 행헤더를 더 아래로 설정하십시오. 머리글 행:꼬리표를 달다('th'):위키텍스트(자아의.옵션들.제목0) 종지부를 찍다 국부적 너비 만일 #자아의.템플릿 > 0 그때 너비 = 토스트링(수학을 하다.(100 / #자아의.템플릿)) .. '%' 다른 너비 = '100%' 종지부를 찍다 을 위해 i, 오비지 아이페어(자아의.템플릿) 하다 머리글 행 :꼬리표를 달다('th') :css('폭', 너비) :위키텍스트(오비지:메이크헤더()) 종지부를 찍다 종지부를 찍다 -- 행 헤더 국부적 dataRow = 태블루트:꼬리표를 달다('tr'):css('vertical-align', '톱') 만일 자아의.옵션들.노 젓는 사람 그때 dataRow:꼬리표를 달다('th') :동뜨다('scope', 'row') :위키텍스트(자아의.옵션들.노 젓는 사람) 종지부를 찍다 -- 템플릿 출력 을 위해 i, 오비지 아이페어(자아의.템플릿) 하다 만일 자아의.옵션들.생산량 == '노위키+' 그때 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(자아의.옵션들.전에) :위키텍스트(자아의:getTemplateOutput(오비지)) :위키텍스트(자아의.옵션들.다음에) :위키텍스트('<pre style="white-space: pre-pre-pre-pre-propert) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의.옵션들.전에 또는 "")) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지))) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의.옵션들.다음에 또는 "")) :위키텍스트('[/준비]') 그렇지 않으면 자아의.옵션들.생산량 == '노위키' 그때 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의.옵션들.전에 또는 "")) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지))) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의.옵션들.다음에 또는 "")) 다른 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(자아의.옵션들.전에) :위키텍스트(자아의:getTemplateOutput(오비지)) :위키텍스트(자아의.옵션들.다음에) 종지부를 찍다 종지부를 찍다 돌아오다 토스트링(뿌리를 내리다) 종지부를 찍다 기능을 하다 테스트케이스:렌더로우() 국부적 뿌리를 내리다 = mw.html.만들다() 만일 자아의.옵션들.쇼코드 그때 뿌리를 내리다 :위키텍스트(자아의.템플릿[1]:getInvocation()) :뉴라인() 종지부를 찍다 국부적 태블루트 = 뿌리를 내리다:꼬리표를 달다('테이블') 태블루트 :addClass(자아의.옵션들.계급) :cssText(자아의.옵션들.문체를 하다) 만일 자아의.옵션들.자막 그때 태블루트 :꼬리표를 달다('caption') :위키텍스트(자아의.옵션들.자막) 종지부를 찍다 을 위해 _, 오비지 아이페어(자아의.템플릿) 하다 국부적 dataRow = 태블루트:꼬리표를 달다('tr') -- 머리글 만일 자아의.옵션들.쇼헤더 그때 만일 자아의.옵션들.형식을 갖추다 == '버들러즈' 그때 dataRow:꼬리표를 달다('th') :동뜨다('scope', 'row') :css('vertical-align', '톱') :css('텍스트-스크립트', '왼쪽') :위키텍스트(오비지:메이크헤더()) dataRow:꼬리표를 달다('td') :css('vertical-align', '톱') :css('padding', '0 1em') :위키텍스트('→') 다른 dataRow:꼬리표를 달다('td') :css('텍스트-스크립트', '중앙') :css('font-weight', 'bold') :위키텍스트(오비지:메이크헤더()) dataRow = 태블루트:꼬리표를 달다('tr') 종지부를 찍다 종지부를 찍다 -- 템플릿 출력 만일 자아의.옵션들.생산량 == '노위키+' 그때 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(자아의:getTemplateOutput(오비지)) :위키텍스트('<pre style="white-space: pre-pre-pre-pre-propert) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지))) :위키텍스트('[/준비]') 그렇지 않으면 자아의.옵션들.생산량 == '노위키' 그때 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지))) 다른 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(자아의:getTemplateOutput(오비지)) 종지부를 찍다 종지부를 찍다 돌아오다 토스트링(뿌리를 내리다) 종지부를 찍다 기능을 하다 테스트케이스:렌더인라인() 국부적 화살 = mw.언어.getContentLanguage():getarrow('forwards') 국부적 되받아치다 = {} 을 위해 i, 오비지 아이페어(자아의.템플릿) 하다 국부적 선을 긋다 = {} 선을 긋다[#선을 긋다 + 1] = 자아의.옵션들.접두사를 붙이다 또는 '* ' 만일 자아의.옵션들.쇼코드 그때 선을 긋다[#선을 긋다 + 1] = 오비지:getInvocation('코드') 선을 긋다[#선을 긋다 + 1] = ' ' 선을 긋다[#선을 긋다 + 1] = 화살 선을 긋다[#선을 긋다 + 1] = ' ' 종지부를 찍다 만일 자아의.옵션들.생산량 == '노위키+' 그때 선을 긋다[#선을 긋다 + 1] = 자아의:getTemplateOutput(오비지) 선을 긋다[#선을 긋다 + 1] = '<pre style="white-space: pre-pre-pre-pre-propert 선을 긋다[#선을 긋다 + 1] = mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지)) 선을 긋다[#선을 긋다 + 1] = '[/준비]' 그렇지 않으면 자아의.옵션들.생산량 == '노위키' 그때 선을 긋다[#선을 긋다 + 1] = mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지)) 다른 선을 긋다[#선을 긋다 + 1] = 자아의:getTemplateOutput(오비지) 종지부를 찍다 되받아치다[#되받아치다 + 1] = table.classat(선을 긋다) 종지부를 찍다 만일 자아의.옵션들.덧줄을 치다 그때 국부적 선을 긋다 = {} 선을 긋다[#선을 긋다 + 1] = 자아의.옵션들.접두사를 붙이다 또는 '* ' 선을 긋다[#선을 긋다 + 1] = 자아의.옵션들.덧줄을 치다 되받아치다[#되받아치다 + 1] = table.classat(선을 긋다) 종지부를 찍다 돌아오다 table.classat(되받아치다, '\n') 종지부를 찍다 기능을 하다 테스트케이스:렌더셀() 국부적 뿌리를 내리다 = mw.html.만들다() 국부적 dataRow = 뿌리를 내리다:꼬리표를 달다('tr') dataRow :css('vertical-align', '톱') :addClass(자아의.옵션들.계급) :cssText(자아의.옵션들.문체를 하다) -- 행 헤더 만일 자아의.옵션들.노 젓는 사람 그때 dataRow:꼬리표를 달다('th') :동뜨다('scope', 'row') :뉴라인() :위키텍스트(자아의.옵션들.노 젓는 사람 또는 자아의:메세지('row-beat')) 종지부를 찍다 -- 캡션 만일 자아의.옵션들.쇼케이프 그때 dataRow:꼬리표를 달다('th') :동뜨다('scope', 'row') :뉴라인() :위키텍스트(자아의.옵션들.자막 또는 자아의:메세지('columns-header')) 종지부를 찍다 -- 코드 표시 만일 자아의.옵션들.쇼코드 그때 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(자아의:getInvocation('코드')) 종지부를 찍다 -- 템플릿 출력 을 위해 i, 오비지 아이페어(자아의.템플릿) 하다 만일 자아의.옵션들.생산량 == '노위키+' 그때 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(자아의.옵션들.전에) :위키텍스트(자아의:getTemplateOutput(오비지)) :위키텍스트(자아의.옵션들.다음에) :위키텍스트('<pre style="white-space: pre-pre-pre-pre-propert) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의.옵션들.전에 또는 "")) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지))) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의.옵션들.다음에 또는 "")) :위키텍스트('[/준비]') 그렇지 않으면 자아의.옵션들.생산량 == '노위키' 그때 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의.옵션들.전에 또는 "")) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지))) :위키텍스트(mw.문자 메시지를 보내다.노위키(자아의.옵션들.다음에 또는 "")) 다른 dataRow:꼬리표를 달다('td') :뉴라인() :위키텍스트(자아의.옵션들.전에) :위키텍스트(자아의:getTemplateOutput(오비지)) :위키텍스트(자아의.옵션들.다음에) 종지부를 찍다 종지부를 찍다 돌아오다 토스트링(뿌리를 내리다) 종지부를 찍다 기능을 하다 테스트케이스:렌더기본값() 국부적 되받아치다 = {} 만일 자아의.옵션들.쇼코드 그때 되받아치다[#되받아치다 + 1] = 자아의.템플릿[1]:getInvocation() 종지부를 찍다 을 위해 i, 오비지 아이페어(자아의.템플릿) 하다 되받아치다[#되받아치다 + 1] = '<div style="clear: 둘 다;"[/div]' 만일 자아의.옵션들.쇼헤더 그때 되받아치다[#되받아치다 + 1] = 오비지:메이크헤더() 종지부를 찍다 만일 자아의.옵션들.생산량 == '노위키+' 그때 되받아치다[#되받아치다 + 1] = 자아의:getTemplateOutput(오비지) .. '<pre style="white-space: pre-pre-pre-pre-propert .. mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지)) .. '[/준비]' 그렇지 않으면 자아의.옵션들.생산량 == '노위키' 그때 되받아치다[#되받아치다 + 1] = mw.문자 메시지를 보내다.노위키(자아의:getTemplateOutput(오비지)) 다른 되받아치다[#되받아치다 + 1] = 자아의:getTemplateOutput(오비지) 종지부를 찍다 종지부를 찍다 돌아오다 table.classat(되받아치다, '\n\n') 종지부를 찍다 기능을 하다 테스트케이스:__토스트링() 국부적 형식을 갖추다 = 자아의.옵션들.형식을 갖추다 국부적 방법 = 형식을 갖추다 그리고 테스트케이스.렌더메소드[형식을 갖추다] 또는 'renderDefault' 국부적 되받아치다 = 자아의[방법](자아의) 만일 자아의.옵션들.접을 수 있는 그때 되받아치다 = 자아의:접을 수 있게 하다(되받아치다) 종지부를 찍다 을 위해 고양이를 쌍들(자아의.분류) 하다 되받아치다 = 되받아치다 .. 문자열.format('[범주:%s]', 고양이를) 종지부를 찍다 돌아오다 되받아치다 종지부를 찍다 ------------------------------------------------------------------------------- -- Nowiki 호출 클래스 ------------------------------------------------------------------------------- 국부적 노위키인보직 = {} 노위키인보직.__index = 노위키인보직 노위키인보직.메세지 = 메세지 -- 메시지 방법 추가 기능을 하다 노위키인보직.새로운(호출, cfg) 국부적 오비지 = 설정 가능한({}, 노위키인보직) 오비지.cfg = cfg 호출 = mw.문자 메시지를 보내다.발을 빼다(호출) -- <, > 및 "에 대한 HTML 엔티티를 디코딩하십시오.즉, HTML 엔티티가 -- 원래 코드는 (예: &amp;lt;)로 이스케이프해야 하는데, 유감스럽게도, - 하지만 <, >, ", 그리고 &lt;의 구별으로서 우리가 할 수 있는 최선이다. -- &gt;, &gt; 원래 노위키 작업 중에 손실됨. 호출 = 호출:gsub('&lt;', '<') 호출 = 호출:gsub('&gt;', '>') 호출 = 호출:gsub('&#8226;', '"') 오비지.호출 = 호출 돌아오다 오비지 종지부를 찍다 기능을 하다 노위키인보직:getInvocation(옵션들) 국부적 템플릿 = 옵션들.템플릿:gsub('%%', '%%%%') -- "%"로 "%" 탈출 국부적 호출, 수를 세다 = 자아의.호출:gsub( 자아의.cfg.templateNameMagicWordPattern, 템플릿 ) 만일 옵션들.필요 매직 워드 ~= 거짓의 그리고 수를 세다 < 1 그때 착오(자아의:메세지( '노위키-노위키-말-말-말-말-말', 자아의.cfg.templateNameMagicWord )) 종지부를 찍다 돌아오다 호출 종지부를 찍다 기능을 하다 노위키인보직:getOutput(옵션들) 국부적 호출 = 자아의:getInvocation(옵션들) 돌아오다 mw.getCurrentFrame():전처리하다(호출) 종지부를 찍다 ------------------------------------------------------------------------------- -- 테이블 호출 클래스 ------------------------------------------------------------------------------- 국부적 TableInvocation = {} TableInvocation.__index = TableInvocation TableInvocation.메세지 = 메세지 -- 메시지 방법 추가 기능을 하다 TableInvocation.새로운(호출아그, nowiki코드, cfg) 국부적 오비지 = 설정 가능한({}, TableInvocation) 오비지.cfg = cfg 오비지.호출아그 = 호출아그 오비지.부호를 붙이다 = nowiki코드 돌아오다 오비지 종지부를 찍다 기능을 하다 TableInvocation:getInvocation(옵션들) 만일 자아의.부호를 붙이다 그때 국부적 노비키오브지 = 노위키인보직.새로운(자아의.부호를 붙이다, 자아의.cfg) 돌아오다 노비키오브지:getInvocation(옵션들) 다른 돌아오다 요구하다('모듈:템플릿 호출').호출( 옵션들.템플릿, 자아의.호출아그 ) 종지부를 찍다 종지부를 찍다 기능을 하다 TableInvocation:getOutput(옵션들) 만일 (옵션들.템플릿:후보선수(1, 7) == '#invoke') 그때 국부적 모듈콜 = mw.문자 메시지를 보내다.갈라지다(옵션들.템플릿, ' ', 진실의) 국부적 아그 = mw.복제하다(자아의.호출아그) table.insert(아그, 1, 모듈콜[2]) 돌아오다 mw.getCurrentFrame():콜파서 기능(모듈콜[1], 아그) 종지부를 찍다 돌아오다 mw.getCurrentFrame():expansion템플릿{ 칭호를 붙이다 = 옵션들.템플릿, 아그 = 자아의.호출아그 } 종지부를 찍다 ------------------------------------------------------------------------------- -- 브리지 함수 -- -- 이러한 함수는 템플릿 인수를 수락할 수 있는 형식으로 변환한다. -- 다른 등급별로, 그리고 결과를 반환하십시오. ------------------------------------------------------------------------------- 국부적 다리를 놓다 = {} 기능을 하다 다리를 놓다.테이블(아그, cfg) cfg = cfg 또는 mw.로드데이터(DATA_MODUL) 국부적 옵션들, 호출아그 = {}, {} 을 위해 k, v 쌍들(아그) 하다 국부적 옵션키 = 타자를 치다(k) == '끈' 그리고 k:짝을 맞추다('^_(.*)
$$SIDE_BOTTOM$$
    $$BOTTOM$$