Module:Yesno/testcases
Documentation for this module may be created at Module:Yesno/testcases/doc
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
local yesno = require('Module:Yesno')
function suite:testTruthyValues()
self:assertTrue(yesno(true))
self:assertTrue(yesno('yes'))
self:assertTrue(yesno('YES'))
self:assertTrue(yesno(' y '))
self:assertTrue(yesno('true'))
self:assertTrue(yesno('t'))
self:assertTrue(yesno('1'))
self:assertTrue(yesno(1))
self:assertTrue(yesno('on'))
end
function suite:testFalsyValues()
self:assertFalse(yesno(false))
self:assertFalse(yesno('no'))
self:assertFalse(yesno('NO'))
self:assertFalse(yesno(' n '))
self:assertFalse(yesno('false'))
self:assertFalse(yesno('f'))
self:assertFalse(yesno('0'))
self:assertFalse(yesno(0))
self:assertFalse(yesno('off'))
end
function suite:testUnrecognizedAndNilValues()
self:assertEquals(nil, yesno(nil))
self:assertEquals(nil, yesno('random_string'))
self:assertEquals(nil, yesno({}))
self:assertEquals(nil, yesno(42))
end
function suite:testDefaultValues()
self:assertTrue(yesno(nil, true))
self:assertFalse(yesno('invalid', false))
self:assertEquals('fallback', yesno(nil, 'fallback'))
end
return suite