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

Module
-- [Module]의 유닛 테스트:리다이렉트] ] 。Talk 페이지를 클릭하여 테스트를 실행합니다.  현지의 리다이렉트 = 요구하다('모듈:리다이렉트') -- 테스트할 모듈 현지의 스크리분토 유닛 = 요구하다('모듈:스크리분토 유닛') 현지의 스위트 = 스크리분토 유닛:신규()  -------------------------------------------------------------------------------- -- 도우미 기능 --------------------------------------------------------------------------------  기능. 스위트:make Frame With Args(args)  현지의  = .get Current Frame(전류 프레임)()  돌아가다 :새로운 아이{직함 = '프레임', args = args} 끝.  -------------------------------------------------------------------------------- -- mock mw.title.new --------------------------------------------------------------------------------  하다  현지의 old New Title(오래된 새로운 제목 = .직함.신규   기능. 스위트:모의 New Title(옵션들)   .직함.신규 = 기능. (페이지입니다.)    현지의 title Obj = old New Title(오래된 새로운 제목(페이지입니다.)    한다면 옵션들[페이지입니다.] 그리고나서     한다면 옵션들[페이지입니다.].내용 그리고나서      현지의 내용 = 옵션들[페이지입니다.].내용      rawset(원래 세트)(title Obj, '콘텐츠 가져오기', 기능. ()       돌아가다 내용      끝.)      옵션들[페이지입니다.].내용 = 제로     끝.     위해서 k, v  쌍들(옵션들[페이지입니다.]) 하다      rawset(원래 세트)(title Obj, k, v)     끝.    끝.    돌아가다 title Obj   끝.  끝.    기능. 스위트:resetTitleMock()   .직함.신규 = old New Title(오래된 새로운 제목  끝. 끝.  -- 테스트에 사용되는 일반적인 페이지의 바로 가기 방법 기능. 스위트:모의 AFCShortcut()  현지의 내용 = [=[ #REDIRECT [[Wikipedia:작성용 기사]  {{R to Wikipedia namespace}} {{R 바로가기}} ]=]  현지의 페이지옵션 = {   내용 = 내용,   리다이렉트 = 진실의,  }  자신:모의 New Title{   ['WP:AFC'] = 페이지옵션,   ['Wikipedia:AFC'] = 페이지옵션,  } 끝.  기능. 스위트:모의 어머니날 페이지()  자신:모의 New Title{[어머니의 날] = {   내용 = '로렘 입숨',   리다이렉트 = 거짓의,  }} 끝.  -------------------------------------------------------------------------------- -- 테스트 메인 --------------------------------------------------------------------------------  기능. 스위트:테스트 메인()  자신:모의 AFCShortcut()  자신:assert Equals(동일)(   'Wikipedia:작성용 기사',   리다이렉트.주된(자신:make Frame With Args{'WP:AFC'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Maint With Padding(패딩 포함)()  자신:모의 AFCShortcut()  자신:assert Equals(동일)(   'Wikipedia:작성용 기사',   리다이렉트.주된(자신:make Frame With Args{'WP:AFC'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Main With Blank Argument()  자신:모의 AFCShortcut()  자신:assert Equals(동일)(   '',   리다이렉트.주된(자신:make Frame With Args{'  '})  )  자신:resetTitleMock() 끝.  기능. 스위트:testMainWithInputBrackets()  자신:모의 AFCShortcut()  자신:assert Equals(동일)(   'Wikipedia:작성용 기사',   리다이렉트.주된(자신:make Frame With Args{'[WP:AFC]'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Main With Output Brackets()  자신:모의 AFCShortcut()  자신:assert Equals(동일)(   '[Wikipedia:[창작 기사]',   리다이렉트.주된(자신:make Frame With Args{'WP:AFC', 브래킷 = '네'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Main With Input And Output Brackets()  자신:모의 AFCShortcut()  자신:assert Equals(동일)(   '[Wikipedia:[창작 기사]',   리다이렉트.주된(자신:make Frame With Args{'[WP:AFC]', 브래킷 = '네'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Main With Input Brackets And Padding()  자신:모의 AFCShortcut()  자신:assert Equals(동일)(   'Wikipedia:작성용 기사',   리다이렉트.주된(자신:make Frame With Args{' [[WP:AFC]]'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Main With Real Invalid Redirect()  자신:assert Equals(동일)(   '사용자: John Vandenberg/testcase/Redirect/1',   리다이렉트.주된(자신:make Frame With Args{'사용자: John Vandenberg/testcase/Redirect/1'})  ) 끝.  기능. 스위트:test Main With Real Valid Redirect()  자신:assert Equals(동일)(   '블랙',   리다이렉트.주된(자신:make Frame With Args{'사용자: John Vandenberg/testcase/Redirect/2'})  ) 끝.  -------------------------------------------------------------------------------- -- 테스트 정규화 --------------------------------------------------------------------------------  기능. 스위트:test Content Ampersand Canonicalization()  자신:모의 New Title{['모듈 토크:리다이렉트/샌드박스'] = {   내용 = '#REDIRECT [모듈 토크:리다이렉트]',   리다이렉트 = 진실의,  }}  자신:assert Equals(동일)(   '모듈 토크:리다이렉트',   리다이렉트.주된(자신:make Frame With Args{'모듈 토크:리다이렉트/샌드박스'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Content Percent Canonicalization()  자신:모의 New Title{['모듈 토크:리다이렉트/샌드박스'] = {   내용 = '#REDIRECT [[모듈 토크%3'[ARedirect]',   리다이렉트 = 진실의,  }}  자신:assert Equals(동일)(   '모듈 토크:리다이렉트',   리다이렉트.주된(자신:make Frame With Args{'모듈 토크:리다이렉트/샌드박스'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Content AmpersandInsidePercentCanonicalization()  자신:모의 New Title{['모듈 토크:리다이렉트/샌드박스'] = {   내용 = '#REDIRECT [모듈 토크 %26#58;리다이렉트]',   리다이렉트 = 진실의,  }}  자신:assert Equals(동일)(   '모듈 토크:리다이렉트',   리다이렉트.주된(자신:make Frame With Args{'모듈 토크:리다이렉트/샌드박스'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Content PercentInsideAmpersandCanonicalization()  자신:모의 New Title{['모듈 토크:리다이렉트/샌드박스'] = {   내용 = '#REDIRECT [[모듈 토크%3'[ARedirect]',   리다이렉트 = 진실의, -- 실제로는 리다이렉트로 간주되지 않지만, 어쨌든 코드 패스를 연습하고 싶다.  }}  자신:assert Equals(동일)(   '모듈 토크:리다이렉트/샌드박스',   리다이렉트.주된(자신:make Frame With Args{'모듈 토크:리다이렉트/샌드박스'})  )  자신:resetTitleMock() 끝.  기능. 스위트:testTitle 표준화()  자신:모의 어머니날 페이지()  자신:assert Equals(동일)(   어머니의 날,   리다이렉트.주된(자신:make Frame With Args{어머니의 날})  )  자신:resetTitleMock() 끝.  기능. 스위트:testTitleInitialCapitalCanonicalization()  자신:모의 어머니날 페이지()  자신:assert Equals(동일)(   어머니의 날,   리다이렉트.주된(자신:make Frame With Args{어머니의 날})  )  자신:resetTitleMock() 끝.  -------------------------------------------------------------------------------- -- 테스트 isRedirect --------------------------------------------------------------------------------  기능. 스위트:test Is Redirect(리다이렉트)()  자신:모의 AFCShortcut()  자신:assert Equals(동일)(   '네',   리다이렉트.리다이렉트(자신:make Frame With Args{'WP:AFC'})  )  자신:resetTitleMock() 끝.  기능. 스위트:test Is Redirect(리다이렉트)()  자신:모의 어머니날 페이지()  자신:assert Equals(동일)(   '',   리다이렉트.리다이렉트(자신:make Frame With Args{어머니의 날})  )  자신:resetTitleMock() 끝.  돌아가다 스위트