Module:Icon/testcases: Difference between revisions
Appearance
Content deleted Content added
move declarations to the top |
simplify file link pattern check |
||
Line 11: | Line 11: | ||
end |
end |
||
⚫ | |||
local fileLinkPattern |
|||
self:assertStringContains('^%[%[File:[^%]]+%]%]$', s) |
|||
do |
|||
local spaces = '[_ \t]*' |
|||
local titleChar = '[^|<>%[%]{}]' |
|||
local titleCharOrPipe = '[^<>%[%]{}]' |
|||
fileLinkPattern = '^%[%[' .. spaces .. '(.-)' .. spaces .. ':' .. spaces .. |
|||
titleChar .. '-' .. titleCharOrPipe .. '-|' .. titleChar .. '-|' .. |
|||
spaces .. 'link=' .. spaces .. '%]%]$' |
|||
end |
|||
⚫ | |||
local nsText = s:match(fileLinkPattern) |
|||
nsText = nsText and nsText:lower() |
|||
self:assertTrue(nsText == 'file' or nsText == 'image') |
|||
end |
end |
||
function suite:testIsFileLink() |
function suite:testIsFileLink() |
||
self: |
self:assertIsFileLink(icon{}) |
||
self: |
self:assertIsFileLink(icon{'fa'}) |
||
self: |
self:assertIsFileLink(icon{'qwertyuiop'}) |
||
end |
end |
||
Revision as of 00:46, 29 August 2021
![]() | This is the test cases page for the module Module:Icon. Results of the test cases. |
local mIcon = require('Module:Icon')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
local frame = mw.getCurrentFrame()
-- This function is used to run all the instances of Icon, so that we can easily
-- switch between the module and the template.
local function icon(args)
-- return frame:expandTemplate{title = 'icon/sandbox', args = args}
return mIcon._main(args)
end
function suite:assertIsFileLink(s)
self:assertStringContains('^%[%[File:[^%]]+%]%]$', s)
end
function suite:testIsFileLink()
self:assertIsFileLink(icon{})
self:assertIsFileLink(icon{'fa'})
self:assertIsFileLink(icon{'qwertyuiop'})
end
function suite:testGA()
self:assertStringContains('Symbol support vote.svg', icon{'ga'}, true)
self:assertStringContains('Good article', icon{'ga'}, true)
end
function suite:testDefaultSize()
self:assertStringContains('16x16px', icon{})
end
function suite:testCustomSize()
self:assertStringContains('320px', icon{size = '320px'})
end
function suite:testAlias()
self:assertStringContains('Former featured article', icon{'dfa'})
end
function suite:testCodeWhitespace()
self:assertStringContains('Featured article', icon{' fa '})
end
function suite:testCodeCapitalization()
self:assertStringContains('Featured article', icon{'FA'})
end
function suite:testClassParameter()
self:assertStringContains('Featured article', icon{class = 'fa'})
end
function suite:testClassParameterOverride()
self:assertNotStringContains('Featured article', icon{'fa', class = 'ga'})
self:assertNotStringContains('Featured article', icon{'fa', class = ''})
end
return suite