cs1에는 좋은 구현이 없기 때문에 직접 전화하지 않습니다. 모듈로서, 아래 줄에 주석을 달아야 합니다. local myModule = require('모듈:인용/CS1') - 테스트할 모듈 현지의 스크리쿤을 유닛으로 이동 = 요구하다('모듈:스크리쿤을 유닛으로') 현지의 스위트룸 = 스크리쿤을 유닛으로 이동:신규() 키와 값을 하나의 테이블로 병합 현지의 기능. 합병하다(t1, t2) 현지의 t3 = {} 위해서 k, v 에 쌍들(t1) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 t3[k] = v 끝. 위해서 k, v 에 쌍들(t2) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 t3[k] = v 끝. 돌아가다 t3 끝. 확장된 CS1/2 템플릿에서 citeref를 찾습니다.test_parameters를 사용합니다. 테이블 및 특정 템플릿의 인수를 호출합니다.test_parameters 테이블은 다음과 같습니다. 다음 필드: * base_args, 테스트 사례에 공통되는 템플릿 인수를 나타내는 표. * 패턴, 확장된 템플릿에서 찾을 문자열 * 프레임, 일반적으로 mw.getCurrentFrame()에서 생성됩니다. * template, 테스트할 템플릿의 이름인 문자열입니다. targs는 특정 어설션에 고유한 템플릿 인수의 테이블입니다. 현지의 기능. 시테레프(test_매개 변수, 타르) 현지의 병합_인수 = 합병하다(test_매개 변수.기초_인수, 타르) 현지의 팽창 = test_매개 변수.틀:확장템플릿{ 제목 = test_매개 변수.템플릿, 논병아리 = 병합_인수 } 현지의 _, _, citeref_value = mw.ustring.찾아내다(팽창, test_매개 변수.양식) 한다면 것은 아니다. citeref_value 그리고나서 citeref_value = '' 끝. 돌아가다 citeref_value 끝. 저자 마스크가 CITEREF를 손상시키지 않도록 하기 위한 테스트. 기능. 스위트룸:testAuthorMask() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = 'id=\"(CITEREF%S-)\"', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 작가. = '_A1_', 연도 = '2020' } } 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {챕터 = 'CH'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {['저작자 마스크'] = 'A1'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {['작성자-마스크1'] = '2'})) 끝. 다양한 기여자, 작성자 및 편집자 수에서 발생하는 작업 테스트 기능. 스위트룸:테스트 개수() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = 'id=\"(CITEREF%S-)\"', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 연도 = '2020' } } 자신:평등을 주장합니다.( '', 시테레프(환경, {챕터 = 'CH'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {작가. = '_A1_'})) 자신:평등을 주장합니다.( '', 시테레프(환경, {기부자 = 'C1'})) 자신:평등을 주장합니다.( '', 시테레프(환경, {기부자 = 'C1', 기부금 = 'CON'})) 자신:평등을 주장합니다.( 'CITEREF_E1_2020', 시테레프(환경, {편집자 = '_E1_'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {작가. = '_A1_', 기부자 = '_C1_'})) 자신:평등을 주장합니다.( 'CITEREF_C1_2020', 시테레프(환경, {작가. = '_A1_', 기부자 = '_C1_', 기부금 = 'CON'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {작가. = '_A1_', 편집자 = '_E1_'})) 자신:평등을 주장합니다.( 'CITEREF_E1_2020', 시테레프(환경, {편집자 = '_E1_', 기부자 = '_C1_'})) 자신:평등을 주장합니다.( 'CITEREF_E1_2020', 시테레프(환경, {편집자 = '_E1_', 기부자 = '_C1_', 기부금 = 'CON'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {작가. = '_A1_', 기부자 = '_C1_', 편집자 = '_E1_'})) 자신:평등을 주장합니다.( 'CITEREF_C1_2020', 시테레프(환경, {작가. = '_A1_', 기부자 = '_C1_', 편집자 = '_E1_', 기부금 = 'CON'})) 자신:평등을 주장합니다.( 'CITEREF_A1_A2_A3_A4_2020', 시테레프(환경, {작가. = '_A1_', 저자2 = 'A2_', 저자3 = 'A3_', 저자4 = 'A4_'})) 자신:평등을 주장합니다.( 'CITEREF_A1_A2_A3_A4_2020', 시테레프(환경, {작가. = '_A1_', 저자2 = 'A2_', 저자3 = 'A3_', 저자4 = 'A4_', 저자5 = 'A5_'})) 자신:평등을 주장합니다.( 'CITEREF_C1_C2_C3_2020', 시테레프(환경, {작가. = '_A1_', 기부자 = '_C1_', 기여자2 = 'C2_', 기여자3 = 'C3_', 기부금 = 'CON'})) 자신:평등을 주장합니다.( 'CITEREF_E1_E2_2020', 시테레프(환경, {편집자 = '_E1_', 에디터2 = 'E2_'})) 끝. 앵커 연도를 포함한 날짜 확인 코드를 테스트합니다. 기능. 스위트룸:테스트 날짜() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = 'id=\"(CITEREF%S-)\"', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 작가. = '_A1_' } } 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {연도='2020'})) 자신:평등을 주장합니다.( 'CITEREF_A1_c\._2020', 시테레프(환경, {날짜.='c. 2020년경})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {날짜.='2020년 1월 1일'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020a', 시테레프(환경, {날짜.='2020년 1월 1일 a'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {날짜.='2020년 1월 1일', 연도='2020'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020a', 시테레프(환경, {날짜.='2020년 1월 1일', 연도='2020a'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020', 시테레프(환경, {날짜.='2020-01-01', 연도='2020'})) 자신:평등을 주장합니다.( 'CITEREF_A1_2020a', 시테레프(환경, {날짜.='2020-01-01', 연도='2020a'})) 끝. 기능. 스위트룸:테스트 날짜유지관리() 현지의 틀 = mw.현재 프레임 가져오기() 현지의 기초_인수 = {제목 = 'T', 작가. = '_A1_', 연도 = '2020'} 현지의 템플릿 = '새 책/새 책' 현지의 유지의 = 'CS1 유지보수: 날짜 및 연도' 자신:assertStringContains(유지의, 틀:확장템플릿{ 제목 = 템플릿, 논병아리 = 합병하다(기초_인수, { 날짜. = '2020년 1월 1일'}) }) 자신:assertStringContains(유지의, 틀:확장템플릿{ 제목 = 템플릿, 논병아리 = 합병하다(기초_인수, { 날짜. = '2020-01-01'}) }) 끝. 실패해야 함: 앵커에서 예상치 못한 추가 종료 및 아래에 후행 작성자 대시 추가 TODO: 바뀌어야 할까요?저는 야생에서 해결책을 본 적이 있습니다. 기능. 스위트룸:테스트 날짜ExtraNd() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = 'id=\"(CITEREF%S-)\"', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 작가. = '_A1_' } } 자신:평등을 주장합니다.( 'CITEREF_A1_', 시테레프(환경, {날짜.='nd'})) 끝. 실패해야 함: 앵커에서 예상치 못한 추가 n.d. TODO: 바뀌어야 할까요?저는 야생에서 해결책을 본 적이 있습니다. 기능. 스위트룸:테스트 날짜ExtraNd Punct() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = 'id=\"(CITEREF%S-)\"', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 작가. = '_A1_' } } 자신:평등을 주장합니다.( 'CITEREF_A1_', 시테레프(환경, {날짜.='n.d.'})) 끝. 표시 이름 설정이 CITEREF를 손상시키지 않는지 확인하기 위한 테스트 기능. 스위트룸:테스트표시 이름() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = 'id=\"(CITEREF%S-)\"', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 작가. = '_A1_', 저자2 = 'A2_', 날짜. = '2020' } } 자신:평등을 주장합니다.( 'CITEREF_A1_A2_2020', 시테레프(환경, {챕터 = 'CH'})) 자신:평등을 주장합니다.( 'CITEREF_A1_A2_2020', 시테레프(환경, {['디스플레이 선택'] = '0'})) 자신:평등을 주장합니다.( 'CITEREF_A1_A2_2020', 시테레프(환경, {['디스플레이 선택'] = '1'})) 자신:평등을 주장합니다.( 'CITEREF_A1_A2_2020', 시테레프(환경, {['디스플레이 선택'] = '등'})) 끝. 특정 기준 값에 대해 수행되는 작업을 테스트합니다. 기능. 스위트룸:testRef() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = '(id=\"CITEREF %S-\")', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 작가. = '_A1_', 연도 = '2020' } } 동등한 값에 대한 TODO 검정 인용문 자신:평등을 주장합니다.( 'id=\"CITEREF_A1_2020\"', 시테레프(환경, {챕터 = 'CH'})) 자신:평등을 주장합니다.( '', 시테레프(환경, {심판을 보다 = '''비공식'''})) 자신:평등을 주장합니다.( 'id=\"CITEREF_A1_2020\"', 시테레프(환경, {심판을 보다 = 'CITEREF_A1_2020'})) 끝. 약간 다른 설정입니다. 입력 ID가 출력 ID인지 테스트하려고 합니다. 기능. 스위트룸:testRefREF() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = '(id=\"REF\")', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 작가. = '_A1_', 연도 = '2020' } } 자신:평등을 주장합니다.( 'id=\"REF\"', 시테레프(환경, {심판을 보다 = 'REF'})) 끝. ref에서 예상되는 유지관리 메시지의 존재에 대한 테스트 기능. 스위트룸:testRefMaint() 현지의 틀 = mw.현재 프레임 가져오기() 현지의 기초_인수 = {제목 = 'T', 작가. = '_A1_', 날짜. = '2020'} 자신:assertStringContains('CS1 유지 관리: ref가 기본값을 복제합니다.', 틀:확장템플릿{ 제목 = '새 책/새 책', 논병아리 = 합병하다(기초_인수, { 심판을 보다 = 'CITEREF_A1_2020'}) }) 자신:assertStringContains('잘못된 <코드 클래스=\"cs1% 코드\">|ref=ref</code>', 틀:확장템플릿{ 제목 = '새 책/새 책', 논병아리 = 합병하다(기초_인수, { 심판을 보다 = '''비공식'''}) }) 끝. 실패해야 함: 앵커에 뒤에 밑줄이 없음; 그것이 바람직한 것인지 확실하지 않음 또는 그것이 바뀔 수 있다면. TODO: 누군가에게 물어보세요. 기능. 스위트룸:test Trailing작성자 대시() 현지의 환경 = { 틀 = mw.현재 프레임 가져오기(), 양식 = 'id=\"(CITEREF%S-)\"', 템플릿 = '새 책/새 책', 기초_인수 = { 제목 = 'T', 작가. = '_A1_' } } 자신:평등을 주장합니다.( 'CITEREF_A1_', 시테레프(환경, {챕터='CH'})) 끝. 돌아가다 스위트룸