请输入您要查询的百科知识:

 

词条 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条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/16 11:08:12