모듈:해트노트/테스트케이스 리다이렉트

Module
현지의 mRedirect Hatnote = 요구하다('모듈:해트노트/샌드박스 리다이렉트') 현지의 _개요 = mRedirect Hatnote._개요 현지의 스크리분토 유닛 = 요구하다('모듈:스크리분토 유닛') 현지의 스위트 = 스크리분토 유닛:신규()  -------------------------------------------------------------------------------- -- 도우미 기능 --------------------------------------------------------------------------------  기능. 스위트.runRedirect(리다이렉트)(args, 차일드 아그)  -- args 테이블을 사용하여 "redirect" 함수를 실행합니다.  -- 부모 프레임.  현지의  = .get Current Frame(전류 프레임)()  현지의 부모 = :새로운 아이{args = args}  현지의 어린아이 = 부모:새로운 아이{args = 차일드 아그}  돌아가다 mRedirect Hatnote.리다이렉트(어린아이) 끝.  -------------------------------------------------------------------------------- -- 테스트 #호출 함수 기본 --------------------------------------------------------------------------------  기능. 스위트:테스트 블랭크()  현지의 결과 = 스위트.runRedirect(리다이렉트)({},{})  자신:assert String 포함('redirect 매개 변수 지정', 결과, 진실의)  자신:assert String 포함('템플릿:리다이렉트 #오류', 결과, 진실의) 끝.  기능. 스위트:testRedirect만()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.그 외의 용도는, [[:REDIRECT(명료화)]] 를 참조해 주세요., 결과, 진실의) 끝.  기능. 스위트:테스트 사용 1()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1의 경우는, [[:REDIRECT(명료화)]] 를 참조해 주세요., 결과, 진실의) 끝.  기능. 스위트:테스트 페이지 1()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1]].', 결과, 진실의) 끝.  기능. 스위트:테스트 사용2()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2의 경우는, [[:REDIRECT(명료화)]] 를 참조해 주세요., 결과, 진실의) 끝.  기능. 스위트:test Page2()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '페이지2'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2에 대해서는 [[:PAGE2]].', 결과, 진실의) 끝.  기능. 스위트:테스트 사용 3()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '페이지2', '사용방법3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2에 대해서는 [[:PAGE2 ] 。USE3의 경우는, [[:REDIRECT(명료화)]] 를 참조해 주세요., 결과, 진실의) 끝.  기능. 스위트:test Page()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '페이지2', '사용방법3', '페이지3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2에 대해서는 [[:PAGE2 ] 。USE3에 대해서는 [[:PAGE3]].', 결과, 진실의) 끝.  기능. 스위트:테스트 사용 4()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '페이지2', '사용방법3', '페이지3', 'USE4'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2에 대해서는 [[:PAGE2 ] 。USE3에 대해서는 [[:페이지 3] ] 。USE4의 경우는, [[:REDIRECT(명료화)]] 를 참조해 주세요., 결과, 진실의) 끝.  기능. 스위트:테스트 페이지 4()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '페이지2', '사용방법3', '페이지3', 'USE4', '페이지4'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2에 대해서는 [[:PAGE2 ] 。USE3에 대해서는 [[:페이지 3] ] 。USE4에 대해서는 [[:PAGE4 ] ].', 결과, 진실의) 끝.  기능. 스위트:test Pipe Input (파이프 입력)()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 'PAGE1(모호한 설명) PAGE1', 'USE2', 'PAGE2(모호한 설명) PAGE2', '사용방법3', 'PAGE3(모호한 설명) PAGE3', 'USE4', 'PAGE4(모호한 설명) PAGE4'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1(모호한) PAGE1].USE2에 대해서는 [[:PAGE2(모호한) PAGE2].USE3에 대해서는 [[:PAGE3(모호한) PAGE3].USE4에 대해서는 [[:PAGE4(모호한 설명) PAGE4].', 결과, 진실의) 끝.  -------------------------------------------------------------------------------- -- 테스트 "및" --------------------------------------------------------------------------------  기능. 스위트:test Page1 And Page2()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '그리고', '페이지2'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1] 및 [[:PAGE2]].', 결과, 진실의) 끝.  기능. 스위트:test Page2 And Page3()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '페이지2', '그리고', '페이지3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2에 대해서는 [[:PAGE2] 및 [[:PAGE3]].', 결과, 진실의) 끝.  기능. 스위트:test Page1 And Page2 Page3 And Page4()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '그리고', '페이지2', 'USE2', '페이지3', '그리고', '페이지4'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1] 및 [[:PAGE2 ] 。USE2에 대해서는 [[:PAGE3] 및 [[:PAGE4 ] ].', 결과, 진실의) 끝.  기능. 스위트:testTwoAnds(투앤드)()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '그리고', '페이지2', '그리고', '페이지3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1], [[:PAGE2] 및 [[:PAGE3]].', 결과, 진실의) 끝.  기능. 스위트:test Three Ands (3안드)()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '그리고', '페이지2', '그리고', '페이지3', '그리고', '페이지4'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1], [[:PAGE2], [[:PAGE3] 및 [[:PAGE4 ] ].', 결과, 진실의) 끝.  기능. 스위트:testTwoAndsUse2()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '그리고', '페이지2', '그리고', '페이지3', 'USE2', '페이지4'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1], [[:PAGE2] 및 [[:페이지 3] ] 。USE2에 대해서는 [[:PAGE4 ] ].', 결과, 진실의) 끝.  -------------------------------------------------------------------------------- -- 테스트 건너뛰기 파라미터 --------------------------------------------------------------------------------  기능. 스위트:testUse1건너뛰기()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '', 페이지 1'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.기타 용도는 [[:PAGE1]].', 결과, 진실의) 끝.  기능. 스위트:test Page1 건너뛰기()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', '', 'USE2'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1의 경우는, [[:REDIRECT(명료화)]를 참조해 주세요.USE2의 경우는, [[:REDIRECT(명료화)]] 를 참조해 주세요., 결과, 진실의) 끝.  기능. 스위트:testUse2건너뛰기()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '', '페이지2'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1]].', 결과, 진실의) 끝.  기능. 스위트:test Page2 건너뛰기()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '', '사용방법3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2의 경우는, [[:REDIRECT(명료화)]를 참조해 주세요.USE3의 경우는, [[:REDIRECT(명료화)]] 를 참조해 주세요., 결과, 진실의) 끝.  기능. 스위트:testUse3건너뛰기()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '페이지2', '', '페이지3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2에 대해서는 [[:PAGE2]].', 결과, 진실의) 끝.  기능. 스위트:test Middle Use Skiped(중간 사용 생략)()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '', '페이지2', '사용방법3', '페이지3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1]].', 결과, 진실의) 끝.  기능. 스위트:testMiddlePage 건너뛰기()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', 'USE2', '', '사용방법3', '페이지3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2의 경우는, [[:REDIRECT(명료화)]를 참조해 주세요.USE3에 대해서는 [[:PAGE3]].', 결과, 진실의) 끝.  -------------------------------------------------------------------------------- -- 다른 용도를 테스트합니다. --------------------------------------------------------------------------------  기능. 스위트:testUse2건너뛰기()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '', '페이지2'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1]].', 결과, 진실의) 끝.  기능. 스위트:test Other Uses Is Not Final()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, '용도 1', 페이지 1', '기타 용도', '페이지2', '사용방법3', '페이지3'},{1})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。기타 용도는 [[:PAGE2 ] 。USE3에 대해서는 [[:PAGE3]].', 결과, 진실의) 끝.  -------------------------------------------------------------------------------- -- 테스트 옵션 --------------------------------------------------------------------------------  기능. 스위트:테스트 Self Ref()  현지의 결과 = 스위트.runRedirect(리다이렉트)({리다이렉트, 셀프레프 = '네'},{1})  자신:assert String 포함('class='-selfref.-"', 결과, 거짓의) 끝.  -------------------------------------------------------------------------------- -- Lua 인터페이스 테스트 --------------------------------------------------------------------------------  기능. 스위트:assert Error(아스텐 에러)(...)  현지의 성공., 결과 = pcall(_개요, ...)  자신:assert False(거짓)(성공.) 끝.  기능. 스위트:testInvalidInput()  자신:assert Error(아스텐 에러)()  자신:assert Error(아스텐 에러)(9)  자신:assert Error(아스텐 에러)(진실의)  자신:assert Error(아스텐 에러)(리다이렉트, '실패')  자신:assert Error(아스텐 에러)(리다이렉트, '실패', {})  자신:assert Error(아스텐 에러)(리다이렉트, 제로, '실패')  자신:assert Error(아스텐 에러)(리다이렉트, {}, '실패') 끝.  기능. 스위트:testLuaRedirect만()  현지의 결과 = _개요({리다이렉트})  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.그 외의 용도는, [[:REDIRECT(명료화)]] 를 참조해 주세요., 결과, 진실의) 끝.  기능. 스위트:test Lua Page 1()  현지의 결과 = _개요(   {리다이렉트, '용도 1', 페이지 1'},   1  )  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1]].', 결과, 진실의) 끝.  기능. 스위트:test Lua Page 3()  현지의 결과 = _개요(   {리다이렉트, '용도 1', 페이지 1', 'USE2', '페이지2', '사용방법3', '페이지3'},   1  )  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1 ] 。USE2에 대해서는 [[:PAGE2 ] 。USE3에 대해서는 [[:PAGE3]].', 결과, 진실의) 끝.  기능. 스위트:테스트 Lua Multiple Pages()  현지의 결과 = _개요(   {리다이렉트, '용도 1', 페이지 1', '그리고', '페이지2', '그리고', '페이지3', 'USE2', '페이지4', '그리고', '페이지5'},   1  )  자신:assert String 포함(「REDIRECT」는 여기서 리다이렉트 합니다.USE1에 대해서는 [[:PAGE1], [[:PAGE2] 및 [[:페이지 3] ] 。USE2에 대해서는 [[:PAGE4] 및 [[:PAGE5 。, 결과, 진실의) 끝.  기능. 스위트:테스트 Lua Selfref()  현지의 결과 = _개요({리다이렉트}, 1, {셀프레프 = 진실의})  자신:assert String 포함('class='-selfref.-"', 결과, 거짓의) 끝.  -------------------------------------------------------------------------------- -- 테스트 추적 카테고리 --------------------------------------------------------------------------------  기능. 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)(페이지입니다., )  현지의 직함  한다면 페이지입니다. 그리고나서   직함 = .직함.신규(페이지입니다.)  또 다른   직함 = .직함.get Current Title(전류 제목)()  끝.  위해서 k, v  쌍들( 또는 {}) 하다   rawset(원래 세트)(직함, k, v)  끝.  돌아가다 직함 끝.  현지의 d = {}  -- 카테고리 d.missing Cat(고양이 없음) = '방향 수정 누락' d.invalid Cat = '리다이렉트 해트노트가 있는 기사 검토 필요'  기능. 스위트:assert추적 카테고리(카테고리, 결과)  카테고리 = string.format('[카테고리:%s]', 카테고리)  자신:assert String 포함(카테고리, 결과, 진실의) 끝.  기능. 스위트:assert Not Contains(포함되지 않음)추적 카테고리(결과)  자신:assert Not String 포함('%[%][카테고리:[^%]]+%]%]', 결과) 끝.  기능. 스위트:test Tracking Category Non Mainspace()  현지의 current Title(현재 제목) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('Wikipedia:네임스페이스')  스위트:assert Not Contains(포함되지 않음)추적 카테고리(_개요({'예'}, 제로, 제로, current Title(현재 제목))) 끝.  기능. 스위트:test Tracking Category(트래킹 카테고리)예외()  현지의 current Title(현재 제목) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예')  위해서 _, s  아이페어{리다이렉트, 리다이렉트 1', 리다이렉트 1678', 기간} 하다   자신:assert Not Contains(포함되지 않음)추적 카테고리(_개요({s}, 제로, 제로, current Title(현재 제목)))  끝. 끝.  기능. 스위트:test Tracking Category(트래킹 카테고리)유효하지 않은 제목()  현지의 current Title(현재 제목) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예')  자신:assert추적 카테고리(d.missing Cat(고양이 없음), _개요({'시험 2'}, 제로, 제로, current Title(현재 제목))) 끝.  기능. 스위트:test Tracking Category Nonexent()  현지의 current Title(현재 제목) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예')  현지의 리다이렉트 타이틀 = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예 2', {존재한다 = 거짓의, 리다이렉트 = 거짓의})  자신:assert추적 카테고리(d.missing Cat(고양이 없음), _개요({리다이렉트 타이틀.프리픽스본문}, 제로, 제로, current Title(현재 제목), 리다이렉트 타이틀)) 끝.  기능. 스위트:test Tracking Category Not Redirect()  현지의 current Title(현재 제목) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예')  현지의 리다이렉트 타이틀 = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예 2', {존재한다 = 진실의, 리다이렉트 = 거짓의, 컨텐츠의 취득 = 기능. ()   돌아가다 '방향 수정 안 돼!'  끝.})  자신:assert추적 카테고리(d.invalid Cat, _개요({리다이렉트 타이틀.프리픽스본문}, 제로, 제로, current Title(현재 제목), 리다이렉트 타이틀)) 끝.  기능. 스위트:test Tracking Category RfDRedirect(드라이렉트)()  현지의 current Title(현재 제목) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예')  현지의 리다이렉트 타이틀 = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예 2', {존재한다 = 진실의, 리다이렉트 = 거짓의, 컨텐츠의 취득 = 기능. ()   돌아가다 [====[ {{<safesubst://safesubst;#safesubst:RfD 월 = 4월 일 = 14 연도 = 2021 시간 = 15:27 타임스탬프 = 20210414152704 <!--위의 내용은 {{subst:rfd}}에 의해 생성됩니다.--> <!-- RFD 메시지의 종료.위는 편집하지 말고 아래는 자유롭게 편집해 주세요.--> content = #REDIRECT [예] <!--이 행 뒤에 아무것도 추가하지 말아 주세요.이 행은 리다이렉트를 대체할 명확화 페이지나 기사를 작성할 때 이외에는.--> }} ]====] 끝.})  자신:assert Not Contains(포함되지 않음)추적 카테고리(d.invalid Cat, _개요({리다이렉트 타이틀.프리픽스본문}, 제로, 제로, current Title(현재 제목), 리다이렉트 타이틀)) 끝.  기능. 스위트:testTrackingCategoryWrongTarget()  현지의 current Title(현재 제목) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예')  현지의 리다이렉트 타이틀 = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예 2', {존재한다 = 진실의, 리다이렉트 = 진실의, 컨텐츠의 취득 = 기능. ()   돌아가다 '#REDIRECT [예 3]' -- 이것은 모듈을 속이기 위한 것입니다.리다이렉트.  끝.})  현지의 target Title(타깃 타이틀) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예 3')  자신:assert추적 카테고리(d.invalid Cat, _개요({리다이렉트 타이틀.프리픽스본문}, 제로, 제로, current Title(현재 제목), 리다이렉트 타이틀, target Title(타깃 타이틀))) 끝.  기능. 스위트:test Tracking Category Correct Target()  현지의 current Title(현재 제목) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예')  현지의 리다이렉트 타이틀 = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예 2', {존재한다 = 진실의, 리다이렉트 = 진실의, 컨텐츠의 취득 = 기능. ()   돌아가다 '#REDIRECT [예]' -- 이것은 모듈을 속이기 위한 것입니다.리다이렉트.  끝.})  현지의 target Title(타깃 타이틀) = 스위트.make Fake Title Object(메이크 페이크 타이틀 오브젝트)('예')  자신:assert Not Contains(포함되지 않음)추적 카테고리(_개요({리다이렉트 타이틀.프리픽스본문}, 제로, 제로, current Title(현재 제목), 리다이렉트 타이틀, target Title(타깃 타이틀))) 끝.  돌아가다 스위트