词条 | Module:Hatnote/testcases |
释义 | local mHatnote = require('Module:Hatnote/sandbox') -- the module to be tested local ScribuntoUnit = require('Module:ScribuntoUnit') local suite = ScribuntoUnit:new() function suite:assertError(func, ...) local success, result = pcall(func, ...) self:assertFalse(success) end function suite:assertNotEquals(expected, actual) self:assertTrue(expected ~= actual) end function suite:assertParentFrameCallEquals(expected, func, args) args = args or {} local current = mw.getCurrentFrame() local parent = current:newChild{title = 'Parent', args = args} local child = parent:newChild{title = 'Child'} self:assertEquals(expected, func(child)) end -- findNamespaceId tests function suite:testFindNamespaceIdInputErrors() self:assertError(mHatnote.findNamespaceId, 9) self:assertError(mHatnote.findNamespaceId) self:assertError(mHatnote.findNamespaceId, 'A page', 9) end function suite:testFindNamespaceIdNamespaces() self:assertEquals(0, mHatnote.findNamespaceId('Foo')) self:assertEquals(2, mHatnote.findNamespaceId('User:Example')) self:assertEquals(14, mHatnote.findNamespaceId('Category:Example')) end function suite:testFindNamespaceIdColonRemoval() self:assertEquals(14, mHatnote.findNamespaceId(':Category:Example')) end function suite:testFindNamespaceIdSkipColonRemoval() self:assertNotEquals(14, mHatnote.findNamespaceId(':Category:Example', false)) end -- formatPages tests function suite:testFormatPages() self:assertDeepEquals({'Foo', 'Bar'}, mHatnote.formatPages('Foo', 'Bar')) end -- formatPageTables tests function suite:testFormatPageTables() self:assertDeepEquals( {'foo', 'bar'}, mHatnote.formatPageTables({'Foo', 'foo'}, {'Bar', 'bar'}) ) end -- makeWikitextError tests function suite:testMakeWikitextError() self:assertEquals( 'Error: Foo.', mHatnote.makeWikitextError('Foo', nil, nil, mw.title.new('Example')) ) end function suite:testMakeWikitextErrorHelpLink() self:assertEquals( 'Error: Foo (help).', mHatnote.makeWikitextError('Foo', 'Bar', nil, mw.title.new('Example')) ) end function suite:testMakeWikitextErrorManualCategorySuppression() self:assertEquals( 'Error: Foo.', mHatnote.makeWikitextError('Foo', nil, false, mw.title.new('Example')) ) end function suite:testMakeWikitextErrorTalkPageCategorySuppression() self:assertEquals( 'Error: Foo.', mHatnote.makeWikitextError('Foo', nil, nil, mw.title.new('Talk:Example')) ) end -- formatLink tests function suite:testFormatLink() self:assertEquals('Foo', mHatnote._formatLink('Foo')) end function suite:testFormatLinkColonHandling() self:assertEquals('Category:Foo', mHatnote._formatLink(':Category:Foo')) end function suite:testFormatLinkSectionLinking() self:assertEquals('Foo § Bar', mHatnote._formatLink('Foo#Bar')) end function suite:testFormatLinkPipeHandling() self:assertEquals('Bar', mHatnote._formatLink('Foo|Bar')) end function suite:testFormatLinkDisplay() self:assertEquals('Bar', mHatnote._formatLink('Foo', 'Bar')) end function suite:testFormatLinkEntryPoint() self:assertParentFrameCallEquals('Foo', mHatnote.formatLink, {'Foo'}) self:assertParentFrameCallEquals('Bar', mHatnote.formatLink, {'Foo', 'Bar'}) end -- hatnote tests function suite:testHatnoteInputErrors() self:assertError(mHatnote._hatnote, 9) self:assertError(mHatnote._hatnote) self:assertError(mHatnote._hatnote, 'A page', 9) end function suite:testHatnote() self:assertEquals(' ', mHatnote._hatnote('Foo'))end function suite:testHatnoteSelfref() self:assertEquals( ' ',mHatnote._hatnote('Foo', {selfref = true}) ) end function suite:testHatnoteExtraClasses() self:assertEquals( ' ',mHatnote._hatnote('Foo', {extraclasses = 'extraclass'}) ) end function suite:testHatnoteEntryPoint() self:assertParentFrameCallEquals( ' ',mHatnote.hatnote, {'Foo'} ) end function suite:testHatnoteEntryPointSelfref() self:assertParentFrameCallEquals( ' ',mHatnote.hatnote, {'Foo', selfref = 'yes'} ) end function suite:testHatnoteEntryPointExtraClasses() self:assertParentFrameCallEquals( ' ',mHatnote.hatnote, {'Foo', extraclasses = 'extraclass'} ) end return suite 2 : Hatnote templates with errors|Hatnote templates with errors |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。