Jump to content
Wikipedia The Free Encyclopedia

Module:Icon/testcases

From Wikipedia, the free encyclopedia
This is the test cases page for the module Module:Icon. Results of the test cases.
 localmIcon=require('Module:Icon/sandbox')
 localScribuntoUnit=require('Module:ScribuntoUnit')
 localsuite=ScribuntoUnit:new()

 -- Use a shortcut function to call mIcon._main using custom icon data.
 localfunctionicon(args)
 localdata={
 fa={
 image="Featured article star.svg",
 tooltip="Featured article",
 link=true,
 },
 ga={
 image="Symbol support vote.svg",
 tooltip="Good article",
 link=false,
 },
 wikipedia={
 image="Wikipedia-logo.svg",
 tooltip="Wikipedia page",
 },
 _DEFAULT={
 image="Symbol question.svg",
 link=false,
 }
 }
 returnmIcon._main(args,data)
 end

 functionsuite:assertIsFileLink(s)
 self:assertStringContains('^%[%[File:[^%]]+%]%]$',s)
 self:assertStringContains('|class=noviewer',s,true)
 end

 locallinkPattern='|link=[|%]]'

 functionsuite:assertLinkIsSuppressed(s)
 self:assertStringContains(linkPattern,s)
 end

 functionsuite:assertLinkIsNotSuppressed(s)
 self:assertNotStringContains(linkPattern,s)
 end

 suite["test _main: when no icon code is specified, a file link is output"]=function(self)
 self:assertIsFileLink(icon{})
 end

 suite["test _main: when an existing icon code is specified, a file link is output"]=function(self)
 self:assertIsFileLink(icon{'fa'})
 end

 suite["test _main: when an nonexistent icon code is specified, a file link is output"]=function(self)
 self:assertIsFileLink(icon{'nonexistentcode'})
 end

 suite["test _main: when an existing code is specified, the relevant image is displayed"]=function(self)
 self:assertStringContains('Symbol support vote.svg',icon{'ga'},true)
 end

 suite["test _main: when an existing code is specified, the relevant tooltip is displayed"]=function(self)
 self:assertStringContains('Good article',icon{'ga'},true)
 end

 suite["test _main: when no dimensions are specified, the image is output as 16x16 pixels"]=function(self)
 self:assertStringContains('16x16px',icon{})
 end

 suite["test _main: when custom dimensions are specified, the image is output with those dimensions"]=function(self)
 self:assertStringContains('320px',icon{size='320px'})
 end

 suite["test _main: codes can have surrounding whitespace"]=function(self)
 self:assertStringContains('Featured article',icon{' fa '})
 end

 suite["test _main: codes can be upper case"]=function(self)
 self:assertStringContains('Featured article',icon{'FA'})
 end

 suite["test _main: codes can be specified with the 'class' parameter"]=function(self)
 self:assertStringContains('Featured article',icon{class='fa'})
 end

 suite["test _main: the class parameter has precedence over the first positional parameter"]=function(self)
 self:assertNotStringContains('Featured article',icon{'fa',class='ga'})
 end

 suite["test _main: the class parameter has precedence over the first positional parameter, even if the class parameter is the empty string"]=function(self)
 self:assertNotStringContains('Featured article',icon{'fa',class=''})
 end

 suite["test _main: links are suppressed when the entry in the data table has 'link' set to false"]=function(self)
 self:assertLinkIsSuppressed(icon{'ga'})
 end

 suite["test _main: links are not suppressed when the entry in the data table has 'link' set to true"]=function(self)
 self:assertNotStringContains(linkPattern,icon{'fa'})
 end

 suite["test _main: links are not suppressed when the entry in the data table has no value for 'link'"]=function(self)
 self:assertNotStringContains(linkPattern,icon{'wikipedia'})
 end

 suite["test Module:Icon/data: codes can be specified as aliases"]=function(self)
 self:assertStringContains('Former featured article',mIcon._main{'dfa'})
 end

 returnsuite

AltStyle によって変換されたページ (->オリジナル) /