Module:About/testcases
Appearance
From Wikipedia, the free encyclopedia
localmAbout=require('Module:About/sandbox') localabout=mAbout._about localScribuntoUnit=require('Module:ScribuntoUnit') localsuite=ScribuntoUnit:new() -------------------------------------------------------------------------------- -- Basic functionality -------------------------------------------------------------------------------- functionsuite:testBasicBlank() localresult=about() --Current functionality. Should probably throw an error if blank in future. self:assertStringContains('For other uses, see [[:About/testcases (disambiguation)]].',result,true) end functionsuite:testBasicUse1() --Article namespace localresult=about({ [1]='USE1' },{PageType='article'}) self:assertStringContains('This article is about USE1. For other uses, see [[:About/testcases (disambiguation)]].',result,true) --Category namespace result=about({ [1]='USE1' },{PageType='category'}) self:assertStringContains('This category is about USE1. For other uses, see [[:About/testcases (disambiguation)]].',result,true) --All other namespaces result=about({ [1]='USE1' },{PageType='page'}) self:assertStringContains('This page is about USE1. For other uses, see [[:About/testcases (disambiguation)]].',result,true) end functionsuite:testBasicUse2() localresult=about({ [1]='USE1', [2]='USE2' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:About/testcases (disambiguation)]].',result,true) end functionsuite:testBasicPage1() localresult=about({ [1]='USE1', [2]='USE2', [3]='PAGE1' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:PAGE1]].',result,true) end functionsuite:testBasicUse3() localresult=about({ [1]='USE1', [2]='USE2', [3]='PAGE1', [4]='USE3' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:PAGE1]]. For USE3, see [[:About/testcases (disambiguation)]]',result,true) end functionsuite:testBasicPage2() localresult=about({ [1]='USE1', [2]='USE2', [3]='PAGE1', [4]='USE3', [5]='PAGE2' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:PAGE1]]. For USE3, see [[:PAGE2]]',result,true) end -------------------------------------------------------------------------------- -- "and" functionality -------------------------------------------------------------------------------- functionsuite:testAnd1And() localresult=about({ [1]='USE1', [2]='USE2', [3]='PAGE1', [4]='and', [5]='PAGE2' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:PAGE1]] and [[:PAGE2]]',result,true) end functionsuite:testAnd2Ands() localresult=about({ [1]='USE1', [2]='USE2', [3]='PAGE1', [4]='and', [5]='PAGE2', [6]='and', [7]='PAGE3' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:PAGE1]], [[:PAGE2]], and [[:PAGE3]]',result,true) end functionsuite:testAnd3Ands() localresult=about({ [1]='USE1', [2]='USE2', [3]='PAGE1', [4]='and', [5]='PAGE2', [6]='and', [7]='PAGE3', [8]='and', [9]='PAGE4' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:PAGE1]], [[:PAGE2]], [[:PAGE3]], and [[:PAGE4]]',result,true) end functionsuite:testAnd1And1BeforeFor() localresult=about({ [1]='USE1', [2]='USE2', [3]='PAGE1', [4]='and', [5]='PAGE2', [6]='USE3', [7]='PAGE3' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:PAGE1]] and [[:PAGE2]]. For USE3, see [[:PAGE3]].',result,true) end functionsuite:testAnd1And1BeforeAnd1() localresult=about({ [1]='USE1', [2]='USE2', [3]='PAGE1', [4]='and', [5]='PAGE2', [6]='USE3', [7]='PAGE3', [8]='and', [9]='PAGE4' },{PageType='article'}) self:assertStringContains('This article is about USE1. For USE2, see [[:PAGE1]] and [[:PAGE2]]. For USE3, see [[:PAGE3]] and [[:PAGE4]].',result,true) end -------------------------------------------------------------------------------- -- otherText functionality -------------------------------------------------------------------------------- functionsuite:testOtherText() localresult=about({ [1]='USE1', [3]='PAGE1' },{ otherText='other values of otherText', PageType='article' }) self:assertStringContains('This article is about USE1. For other values of otherText, see [[:PAGE1]]',result,true) end -------------------------------------------------------------------------------- -- otherText functionality -------------------------------------------------------------------------------- functionsuite:testNoSelfref() localresult=about({ [1]='USE1', [2]='PAGE1', }) self:assertNotStringContains('selfref',result,true) end functionsuite:testSelfref() localresult=about({ [1]='USE1', [2]='PAGE1', ['selfref']='true' }) self:assertStringContains('selfref',result,true) end -------------------------------------------------------------------------------- -- Defaulting functionality -------------------------------------------------------------------------------- --TODO -------------------------------------------------------------------------------- returnsuite