Jump to content
Search

The new Ubuntu Wiki is live. Legacy content may be unavailable and page links may have changed. Read the announcement on Discourse.

Module:Yesno/testcases

From Ubuntu Wiki

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