모듈:DYK 후크/테스트 케이스 확인

Module
-- 필요한 모듈을 로드합니다. 현지의 체크 DYKHook = 요구하다('모듈:DYK 후크/샌드박스 확인') 현지의 스크리분토 유닛 = 요구하다('모듈:스크리분토 유닛')  -- 테스트 스위트 초기화 현지의 스위트 = 스크리분토 유닛:신규()  -------------------------------------------------------------------------------- -- 도우미 메서드 --------------------------------------------------------------------------------  현지의 기능. make Frame With Args(args)  현지의  = .get Current Frame(전류 프레임)()  돌아가다 :새로운 아이{args = args} 끝.  기능. 스위트:assertErrorMessage 포함(기능하다, expected Message(예상 메시지))  현지의 성공., 실제 메시지 = pcall(기능하다)  자신:assert False(거짓)(성공.)  자신:assert String 포함(expected Message(예상 메시지), 실제 메시지, 진실의) 끝.  -------------------------------------------------------------------------------- -- p._isValid 테스트후크 --------------------------------------------------------------------------------  현지의 module Test Data(module Test Data) = {  {   테스트명 = "테스트가 유효합니다.후크_반환True_ForHooks Starting With That",   후크     = "... 그 푸 바 바즈?",   기대됩니다 = 진실의,  },  {   테스트명 = "테스트가 유효합니다.후크_반환True_ForHooks StartingWithAbout",   후크     = "... 푸 바 바즈요?",   기대됩니다 = 진실의,  },  {   테스트명 = "테스트가 유효합니다.Hook_ReturnsFalse_ForHooksStartingWithOtherWords",   후크     = "... 푸 바 바즈?",   기대됩니다 = 거짓의,  },  {   테스트명 = "테스트가 유효합니다.후크_반환True_ForHooks Ending WithAQuestion Mark(AQuestion Mark),   후크     = "... 그 푸 바 바즈?",   기대됩니다 = 진실의,  },  {   테스트명 = "테스트가 유효합니다.후크_반환True_ForHooks Ending WithAQuestion Mark(AQuestion Mark)HTMLE 부호화내부 ASPAN",   후크     = '... 그 foo bar [[ baz < span class = " something " > baz &#63; </span > ]]',   기대됩니다 = 진실의,  },  {   테스트명 = "테스트가 유효합니다.후크_반환True_ForHooksEndingWithYou아마 그랬을 겁니다.,   후크     = '... 그 푸 바 바즈?아마 그랬겠지...',   기대됩니다 = 진실의,  },  {   테스트명 = "테스트가 유효합니다.Hook_ReturnsFalse_ForHooksNotEndingAQuestion Mark(AQuestion Mark),   후크     = '... 저 푸 바 바즈',   기대됩니다 = 거짓의,  }, }  위해서 _, 테스트 데이터  아이페어(module Test Data(module Test Data)) 하다  스위트[테스트 데이터.테스트명] = 기능.(자신)   현지의 결과 = 체크 DYKHook._isvalid후크(테스트 데이터.후크)   한다면 테스트 데이터.기대됩니다 그리고나서    자신:assert True(참)(결과)   또 다른    자신:assert False(거짓)(결과)   끝.  끝. 끝.  기능. 스위트:test Is Valid(유효한 테스트 유효)후크_RaisesError_Hook Is Not AString의 경우()  자신:assertErrorMessage 포함(   기능. ()    체크 DYKHook._isvalid후크(7)   끝.,   '_isValid'에 대한 잘못된 인수 #1 ~ _isValid후크' (문자열 예상, 번호 획득)  ) 끝.  -------------------------------------------------------------------------------- -- p.isValid 테스트후크 --------------------------------------------------------------------------------  현지의 템플릿테스트 데이터 = {  {   테스트명 = "testTemplateIsValid"후크_반환Yes_ForHooks Starting With That" (예),   args     = {"... 그 푸 바 바즈?"},   기대됩니다 = "네",  },  {   테스트명 = "testTemplateIsValid"Hook_ReturnsBlank_ForHooksStartingWithOtherWords",   args     = {"... 푸 바 바즈?"},   기대됩니다 = "",  },  {   테스트명 = "testTemplateIsValid"후크_반환○_ForHooks화이트 스페이스 포함",   args     = {"\n...그 푸 바 바즈?  \n"},   기대됩니다 = "네",  },  {   테스트명 = "testTemplateIsValid"Hook_ReturnsBlank_ForInvalidHooks With White Space",   args     = {"\n...그 푸 바 바즈\n"},   기대됩니다 = "",  },  {   테스트명 = "testTemplateIsValid"후크_반환○_ForHooks Ending WithAQuestion Mark(AQuestion Mark)HTMLE 부호화내부 ASPAN",   args     = {'... 그 foo bar [[ baz < span class = " something " > baz &#63; </span > ]]'},   기대됩니다 = "네",  },  {   테스트명 = "testTemplateIsValid"후크_반환○_ForHooks Ending WithAQuestion Mark(AQuestion Mark)HTMLE 부호화Inside ASPAN With Whitespace",   args     = {'\n...그 foo bar [[ baz < span class = " something " > baz & # 63 ; / span >]\n'},   기대됩니다 = "네",  },  {   테스트명 = "testTemplateIsValid"Hook_ReturnsYes_WhenCalledWithValidHookWithHookKeywordArgument",   args     = {후크 = "... 그 푸 바 바즈?"},   기대됩니다 = "네",  }, }  위해서 _, 테스트 데이터  아이페어(템플릿테스트 데이터) 하다  스위트[테스트 데이터.테스트명] = 기능.(자신)   자신:assert Equals(동일)(    체크 DYKHook.isValidHook(make Frame With Args(테스트 데이터.args)),    테스트 데이터.기대됩니다   )  끝. 끝.  기능. 스위트:testTemplateIsValid후크_RaisesError_NoHook 제공 시()  자신:assertErrorMessage 포함(   기능. ()    체크 DYKHook.isValidHook(make Frame With Args{제로})   끝.,   "지정된 후크 없음"  ) 끝.  돌아가다 스위트