Jump to content

Module:Icon/testcases: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
simplify file link pattern check
remove template testing functionality, as it wasn't being used and we probably don't need it
Line 2: Line 2:
local ScribuntoUnit = require('Module:ScribuntoUnit')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
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)
function suite:assertIsFileLink(s)
Line 16: Line 8:


function suite:testIsFileLink()
function suite:testIsFileLink()
self:assertIsFileLink(icon{})
self:assertIsFileLink(mIcon._main{})
self:assertIsFileLink(icon{'fa'})
self:assertIsFileLink(mIcon._main{'fa'})
self:assertIsFileLink(icon{'qwertyuiop'})
self:assertIsFileLink(mIcon._main{'qwertyuiop'})
end
end


function suite:testGA()
function suite:testGA()
self:assertStringContains('Symbol support vote.svg', icon{'ga'}, true)
self:assertStringContains('Symbol support vote.svg', mIcon._main{'ga'}, true)
self:assertStringContains('Good article', icon{'ga'}, true)
self:assertStringContains('Good article', mIcon._main{'ga'}, true)
end
end


function suite:testDefaultSize()
function suite:testDefaultSize()
self:assertStringContains('16x16px', icon{})
self:assertStringContains('16x16px', mIcon._main{})
end
end


function suite:testCustomSize()
function suite:testCustomSize()
self:assertStringContains('320px', icon{size = '320px'})
self:assertStringContains('320px', mIcon._main{size = '320px'})
end
end


function suite:testAlias()
function suite:testAlias()
self:assertStringContains('Former featured article', icon{'dfa'})
self:assertStringContains('Former featured article', mIcon._main{'dfa'})
end
end


function suite:testCodeWhitespace()
function suite:testCodeWhitespace()
self:assertStringContains('Featured article', icon{' fa '})
self:assertStringContains('Featured article', mIcon._main{' fa '})
end
end


function suite:testCodeCapitalization()
function suite:testCodeCapitalization()
self:assertStringContains('Featured article', icon{'FA'})
self:assertStringContains('Featured article', mIcon._main{'FA'})
end
end


function suite:testClassParameter()
function suite:testClassParameter()
self:assertStringContains('Featured article', icon{class = 'fa'})
self:assertStringContains('Featured article', mIcon._main{class = 'fa'})
end
end


function suite:testClassParameterOverride()
function suite:testClassParameterOverride()
self:assertNotStringContains('Featured article', icon{'fa', class = 'ga'})
self:assertNotStringContains('Featured article', mIcon._main{'fa', class = 'ga'})
self:assertNotStringContains('Featured article', icon{'fa', class = ''})
self:assertNotStringContains('Featured article', mIcon._main{'fa', class = ''})
end
end



Revision as of 00:49, 29 August 2021

local mIcon = require('Module:Icon')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()

function suite:assertIsFileLink(s)
	self:assertStringContains('^%[%[File:[^%]]+%]%]$', s)
end

function suite:testIsFileLink()
	self:assertIsFileLink(mIcon._main{})
	self:assertIsFileLink(mIcon._main{'fa'})
	self:assertIsFileLink(mIcon._main{'qwertyuiop'})
end

function suite:testGA()
	self:assertStringContains('Symbol support vote.svg', mIcon._main{'ga'}, true)
	self:assertStringContains('Good article', mIcon._main{'ga'}, true)
end

function suite:testDefaultSize()
	self:assertStringContains('16x16px', mIcon._main{})
end

function suite:testCustomSize()
	self:assertStringContains('320px', mIcon._main{size = '320px'})
end

function suite:testAlias()
	self:assertStringContains('Former featured article', mIcon._main{'dfa'})
end

function suite:testCodeWhitespace()
	self:assertStringContains('Featured article', mIcon._main{'  fa  '})
end

function suite:testCodeCapitalization()
	self:assertStringContains('Featured article', mIcon._main{'FA'})
end

function suite:testClassParameter()
	self:assertStringContains('Featured article', mIcon._main{class = 'fa'})
end

function suite:testClassParameterOverride()
	self:assertNotStringContains('Featured article', mIcon._main{'fa', class = 'ga'})
	self:assertNotStringContains('Featured article', mIcon._main{'fa', class = ''})
end

return suite