local pyesno = require('Module:UnitTestsYesno')
local yesnoSandbox = require('Module:Yesno/sandbox')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
local function compareLiveAndSandbox(expected, liveValue, sandboxValue)
function p:test_basic_arg1()
local message = "Expected " .. tostring(expected) .. ". Got "
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno}}', '{{Yesno}}')
suite:assertEquals(expected, liveValue, message .. tostring(liveValue)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|}}', '{{Yesno|}}')
.. " from live module.")
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| }}', '{{Yesno| }}')
suite:assertEquals(expected, sandboxValue, message .. tostring(sandboxValue)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| }}', '{{Yesno| }}')
.. " from sandbox.")
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=}}', '{{Yesno|1=}}')
end
local function runYesnoTest(expected, inputValue)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes}}', '{{Yesno|yes}}')
local liveValue = yesno(inputValue)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS}}', '{{Yesno|yeS}}')
local sandboxValue = yesnoSandbox(inputValue)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES}}', '{{Yesno|YES}}')
compareLiveAndSandbox(expected, liveValue, sandboxValue)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1}}', '{{Yesno|1}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes}}', '{{Yesno|1=yes}}')
local function runYesnoTestWithDefault(expected, inputValue)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no}}', '{{Yesno|no}}')
local liveValue = yesno(inputValue, 'default')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO}}', '{{Yesno|nO}}')
local sandboxValue = yesnoSandbox(inputValue, 'default')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0}}', '{{Yesno|0}}')
compareLiveAndSandbox(expected, liveValue, sandboxValue)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no}}', '{{Yesno|1=no}}')
end
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans}}', '{{Yesno|beans}}')
-- Basic tests
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans }}', '{{Yesno| beans }}')
--------------------------------------------------------------------------------
function suite:testYes()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬}}', '{{Yesno|¬}}')
runYesnoTest(true, 'yes')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ }}', '{{Yesno| ¬ }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ }}', '{{Yesno|1= ¬ }}')
end
function psuite:test_tricky_inputtestY()
runYesnoTest(true, 'y')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬}}', '{{Yesno|¬}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|{{#expr:5/5}}}}', '{{Yesno|{{#expr:5/5}}}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|{{#expr:0/5}}}}', '{{Yesno|{{#expr:0/5}}}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| }}', '{{Yesno| }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| }}', '{{Yesno| }}')
-- nbsp
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| }}', '{{Yesno| }}')
function suite:testTrueText()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|true}}', '{{Yesno|true}}')
runYesnoTest(true, 'true')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|false}}', '{{Yesno|false}}')
-- U+0000 (NUL)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|�}}', '{{Yesno|�}}')
end
function psuite:test_set_yestestT()
runYesnoTest(true, 't')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes=aye}}', '{{Yesno|yes=aye}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||yes=aye}}', '{{Yesno||yes=aye}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |yes=aye}}', '{{Yesno| |yes=aye}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |yes=aye}}', '{{Yesno| |yes=aye}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|yes=aye}}', '{{Yesno|1=|yes=aye}}')
function suite:testTrue()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|yes=aye}}', '{{Yesno|yes|yes=aye}}')
runYesnoTest(true, true)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|yes=aye}}', '{{Yesno|yeS|yes=aye}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|yes=aye}}', '{{Yesno|YES|yes=aye}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|yes=aye}}', '{{Yesno|1|yes=aye}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|yes=aye}}', '{{Yesno|1=yes|yes=aye}}')
function suite:testOneText()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|yes=aye}}', '{{Yesno|no|yes=aye}}')
runYesnoTest(true, '1')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|yes=aye}}', '{{Yesno|nO|yes=aye}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|yes=aye}}', '{{Yesno|0|yes=aye}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|yes=aye}}', '{{Yesno|1=no|yes=aye}}')
function suite:testOne()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|yes=aye}}', '{{Yesno|beans|yes=aye}}')
runYesnoTest(true, 1)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |yes=aye}}', '{{Yesno| beans |yes=aye}}')
end
function suite:testOn()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|yes=aye}}', '{{Yesno|¬|yes=aye}}')
runYesnoTest(true, 'on')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |yes=aye}}', '{{Yesno| ¬ |yes=aye}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |yes=aye}}', '{{Yesno|1= ¬ |yes=aye}}')
function suite:testNo()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=1|Yes=aye}}', '{{Yesno|1=1|Yes=aye}}')
runYesnoTest(false, 'no')
end
function suite:testN()
runYesnoTest(false, 'n')
end
function psuite:test_set_notestF()
runYesnoTest(false, 'f')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no=nay}}', '{{Yesno|no=nay}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||no=nay}}', '{{Yesno||no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |no=nay}}', '{{Yesno| |no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |no=nay}}', '{{Yesno| |no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|no=nay}}', '{{Yesno|1=|no=nay}}')
function suite:testFalseText()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|no=nay}}', '{{Yesno|yes|no=nay}}')
runYesnoTest(false, 'false')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|no=nay}}', '{{Yesno|yeS|no=nay}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|no=nay}}', '{{Yesno|YES|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|no=nay}}', '{{Yesno|1|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|no=nay}}', '{{Yesno|1=yes|no=nay}}')
function suite:testFalse()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|no=nay}}', '{{Yesno|no|no=nay}}')
runYesnoTest(false, false)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|no=nay}}', '{{Yesno|nO|no=nay}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|no=nay}}', '{{Yesno|0|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|no=nay}}', '{{Yesno|1=no|no=nay}}')
function suite:testZero()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|no=nay}}', '{{Yesno|beans|no=nay}}')
runYesnoTest(false, 0)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |no=nay}}', '{{Yesno| beans |no=nay}}')
end
function suite:testZeroText()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|no=nay}}', '{{Yesno|¬|no=nay}}')
runYesnoTest(false, '0')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |no=nay}}', '{{Yesno| ¬ |no=nay}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |no=nay}}', '{{Yesno|1= ¬ |no=nay}}')
function suite:testOff()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=1|No=nay}}', '{{Yesno|1=1|No=nay}}')
runYesnoTest(false, 'off')
end
function psuite:test_set_yes_notestNil()
runYesnoTest(nil, nil)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes=aye|no=nay}}', '{{Yesno|yes=aye|no=nay}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||yes=aye|no=nay}}', '{{Yesno||yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |yes=aye|no=nay}}', '{{Yesno| |yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |yes=aye|no=nay}}', '{{Yesno| |yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|yes=aye|no=nay}}', '{{Yesno|1=|yes=aye|no=nay}}')
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|yes=aye|no=nay}}', '{{Yesno|yes|yes=aye|no=nay}}')
-- Capitalisation tests
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|yes=aye|no=nay}}', '{{Yesno|yeS|yes=aye|no=nay}}')
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|yes=aye|no=nay}}', '{{Yesno|YES|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|yes=aye|no=nay}}', '{{Yesno|1|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|yes=aye|no=nay}}', '{{Yesno|1=yes|yes=aye|no=nay}}')
function suite:testYesCaps()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|yes=aye|no=nay}}', '{{Yesno|no|yes=aye|no=nay}}')
runYesnoTest(true, 'Yes')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|yes=aye|no=nay}}', '{{Yesno|nO|yes=aye|no=nay}}')
runYesnoTest(true, 'YES')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|yes=aye|no=nay}}', '{{Yesno|0|yes=aye|no=nay}}')
runYesnoTest(true, 'yEs')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|yes=aye|no=nay}}', '{{Yesno|1=no|yes=aye|no=nay}}')
end
function suite:testYCaps()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|yes=aye|no=nay}}', '{{Yesno|beans|yes=aye|no=nay}}')
runYesnoTest(true, 'Y')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |yes=aye|no=nay}}', '{{Yesno| beans |yes=aye|no=nay}}')
end
function suite:testTCaps()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|yes=aye|no=nay}}', '{{Yesno|¬|yes=aye|no=nay}}')
runYesnoTest(true, 'T')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |yes=aye|no=nay}}', '{{Yesno| ¬ |yes=aye|no=nay}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |yes=aye|no=nay}}', '{{Yesno|1= ¬ |yes=aye|no=nay}}')
function suite:testTrueTextCaps()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=1|Yes=aye|No=nay}}', '{{Yesno|1=1|Yes=aye|No=nay}}')
runYesnoTest(true, 'True')
--whitespace in
runYesnoTest(true, 'TRUE')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes= aye |no= nay }}', '{{Yesno|yes= aye |no= nay }}')
runYesnoTest(true, 'trUE')
end
function psuite:test_set_blanktestOnCaps()
runYesnoTest(true, 'On')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|blank=emptystring}}', '{{Yesno|blank=emptystring}}')
runYesnoTest(true, 'ON')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||blank=emptystring}}', '{{Yesno||blank=emptystring}}')
runYesnoTest(true, 'oN')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |blank=emptystring}}', '{{Yesno| |blank=emptystring}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |blank=emptystring}}', '{{Yesno| |blank=emptystring}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|blank=emptystring}}', '{{Yesno|1=|blank=emptystring}}')
function suite:testNoCaps()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|blank=emptystring}}', '{{Yesno|yes|blank=emptystring}}')
runYesnoTest(false, 'No')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|blank=emptystring}}', '{{Yesno|yeS|blank=emptystring}}')
runYesnoTest(false, 'NO')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|blank=emptystring}}', '{{Yesno|YES|blank=emptystring}}')
runYesnoTest(false, 'nO')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|blank=emptystring}}', '{{Yesno|1|blank=emptystring}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|blank=emptystring}}', '{{Yesno|1=yes|blank=emptystring}}')
function suite:testNCaps()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|blank=emptystring}}', '{{Yesno|no|blank=emptystring}}')
runYesnoTest(false, 'N')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|blank=emptystring}}', '{{Yesno|nO|blank=emptystring}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|blank=emptystring}}', '{{Yesno|0|blank=emptystring}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|blank=emptystring}}', '{{Yesno|1=no|blank=emptystring}}')
function suite:testFCaps()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|blank=emptystring}}', '{{Yesno|beans|blank=emptystring}}')
runYesnoTest(false, 'F')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |blank=emptystring}}', '{{Yesno| beans |blank=emptystring}}')
end
function suite:testFalseTextCaps()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|blank=emptystring}}', '{{Yesno|¬|blank=emptystring}}')
runYesnoTest(false, 'False')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |blank=emptystring}}', '{{Yesno| ¬ |blank=emptystring}}')
runYesnoTest(false, 'FALSE')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |blank=emptystring}}', '{{Yesno|1= ¬ |blank=emptystring}}')
runYesnoTest(false, 'fALSe')
end
function psuite:test_set_deftestOffCaps()
runYesnoTest(false, 'ofF')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|def=dflt}}', '{{Yesno|def=dflt}}')
runYesnoTest(false, 'oFf')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||def=dflt}}', '{{Yesno||def=dflt}}')
runYesnoTest(false, 'oFF')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |def=dflt}}', '{{Yesno| |def=dflt}}')
runYesnoTest(false, 'Off')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |def=dflt}}', '{{Yesno| |def=dflt}}')
runYesnoTest(false, 'OfF')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|def=dflt}}', '{{Yesno|1=|def=dflt}}')
runYesnoTest(false, 'OFf')
runYesnoTest(false, 'OFF')
end
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|def=dflt}}', '{{Yesno|yes|def=dflt}}')
-- Number conversion tests
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|def=dflt}}', '{{Yesno|yeS|def=dflt}}')
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|def=dflt}}', '{{Yesno|YES|def=dflt}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|def=dflt}}', '{{Yesno|1|def=dflt}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|def=dflt}}', '{{Yesno|1=yes|def=dflt}}')
function suite:testOneTextConversion()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|def=dflt}}', '{{Yesno|no|def=dflt}}')
runYesnoTest(true, '1.0')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|def=dflt}}', '{{Yesno|nO|def=dflt}}')
runYesnoTest(true, '001')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|def=dflt}}', '{{Yesno|0|def=dflt}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|def=dflt}}', '{{Yesno|1=no|def=dflt}}')
function suite:testZeroTextConversion()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|def=dflt}}', '{{Yesno|beans|def=dflt}}')
runYesnoTest(false, '0.0')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |def=dflt}}', '{{Yesno| beans |def=dflt}}')
runYesnoTest(false, '000')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|def=dflt}}', '{{Yesno|¬|def=dflt}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |def=dflt}}', '{{Yesno| ¬ |def=dflt}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |def=dflt}}', '{{Yesno|1= ¬ |def=dflt}}')
end
--------------------------------------------------------------------------------
function p:test_set_notsign()
-- Test no default set
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬=notsign}}', '{{Yesno|¬=notsign}}')
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||¬=notsign}}', '{{Yesno||¬=notsign}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬=notsign}}', '{{Yesno| |¬=notsign}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬=notsign}}', '{{Yesno| |¬=notsign}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|¬=notsign}}', '{{Yesno|1=|¬=notsign}}')
function suite:testStringNoDefault()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|¬=notsign}}', '{{Yesno|yes|¬=notsign}}')
runYesnoTest(nil, 'foo')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|¬=notsign}}', '{{Yesno|yeS|¬=notsign}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|¬=notsign}}', '{{Yesno|YES|¬=notsign}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|¬=notsign}}', '{{Yesno|1|¬=notsign}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|¬=notsign}}', '{{Yesno|1=yes|¬=notsign}}')
function suite:testNumberNoDefault()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|¬=notsign}}', '{{Yesno|no|¬=notsign}}')
runYesnoTest(nil, 100)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|¬=notsign}}', '{{Yesno|nO|¬=notsign}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|¬=notsign}}', '{{Yesno|0|¬=notsign}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|¬=notsign}}', '{{Yesno|1=no|¬=notsign}}')
function suite:testTableNoDefault()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|¬=notsign}}', '{{Yesno|beans|¬=notsign}}')
runYesnoTest(nil, {})
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |¬=notsign}}', '{{Yesno| beans |¬=notsign}}')
end
function suite:testFunctionNoDefault()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|¬=notsign}}', '{{Yesno|¬|¬=notsign}}')
runYesnoTest(nil, function() return true end)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |¬=notsign}}', '{{Yesno| ¬ |¬=notsign}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |¬=notsign}}', '{{Yesno|1= ¬ |¬=notsign}}')
end
function psuite:test_set_all_optionstestBlankStringNoDefault()
runYesnoTest(nil, '')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno||¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno| |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno| |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|1=|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|yes|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
-- Test default set
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|yeS|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|YES|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|1|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|1=yes|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
function suite:testStringDefaultSet()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|no|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
runYesnoTestWithDefault('default', 'foo')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|nO|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|0|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|1=no|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
function suite:testNumberDefaultSet()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|beans|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
runYesnoTestWithDefault('default', 100)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno| beans |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
end
function suite:testTableDefaultSet()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|¬|¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
runYesnoTestWithDefault('default', {})
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno| ¬ |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}', '{{Yesno|1= ¬ |¬=notsign|blank=emptystring|def=dflt|yes=aye|no=nay}}')
end
function psuite:test_set_all_options_the_sametestFunctionDefaultSet()
runYesnoTestWithDefault('default', function() return true end)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno||¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno| |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno| |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|1=|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
function suite:testBlankStringDefaultSet()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|yes|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
runYesnoTestWithDefault('default', '')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|yeS|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|YES|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|1|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|1=yes|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|no|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
-- Test default precedence with true, false, and nil
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|nO|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
--------------------------------------------------------------------------------
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|0|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|1=no|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
function suite:testYesDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|beans|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
runYesnoTestWithDefault(true, 'yes')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno| beans |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
end
function suite:testYDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|¬|¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
runYesnoTestWithDefault(true, 'y')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno| ¬ |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}', '{{Yesno|1= ¬ |¬=xyz|blank=xyz|def=xyz|yes=xyz|no=xyz}}')
end
function psuite:test_set_all_options_blanktestTrueTextDefaultPrecedence()
runYesnoTestWithDefault(true, 'true')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬=|blank=|def=|yes=|no=}}', '{{Yesno|¬=|blank=|def=|yes=|no=}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||¬=|blank=|def=|yes=|no=}}', '{{Yesno||¬=|blank=|def=|yes=|no=}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬=|blank=|def=|yes=|no=}}', '{{Yesno| |¬=|blank=|def=|yes=|no=}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬=|blank=|def=|yes=|no=}}', '{{Yesno| |¬=|blank=|def=|yes=|no=}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|¬=|blank=|def=|yes=|no=}}', '{{Yesno|1=|¬=|blank=|def=|yes=|no=}}')
function suite:testTrueDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|¬=|blank=|def=|yes=|no=}}', '{{Yesno|yes|¬=|blank=|def=|yes=|no=}}')
runYesnoTestWithDefault(true, true)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|¬=|blank=|def=|yes=|no=}}', '{{Yesno|yeS|¬=|blank=|def=|yes=|no=}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|¬=|blank=|def=|yes=|no=}}', '{{Yesno|YES|¬=|blank=|def=|yes=|no=}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|¬=|blank=|def=|yes=|no=}}', '{{Yesno|1|¬=|blank=|def=|yes=|no=}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|¬=|blank=|def=|yes=|no=}}', '{{Yesno|1=yes|¬=|blank=|def=|yes=|no=}}')
function suite:testOneTextDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|¬=|blank=|def=|yes=|no=}}', '{{Yesno|no|¬=|blank=|def=|yes=|no=}}')
runYesnoTestWithDefault(true, '1')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|¬=|blank=|def=|yes=|no=}}', '{{Yesno|nO|¬=|blank=|def=|yes=|no=}}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|¬=|blank=|def=|yes=|no=}}', '{{Yesno|0|¬=|blank=|def=|yes=|no=}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|¬=|blank=|def=|yes=|no=}}', '{{Yesno|1=no|¬=|blank=|def=|yes=|no=}}')
function suite:testOneDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|¬=|blank=|def=|yes=|no=}}', '{{Yesno|beans|¬=|blank=|def=|yes=|no=}}')
runYesnoTestWithDefault(true, 1)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |¬=|blank=|def=|yes=|no=}}', '{{Yesno| beans |¬=|blank=|def=|yes=|no=}}')
end
function suite:testNoDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|¬=|blank=|def=|yes=|no=}}', '{{Yesno|¬|¬=|blank=|def=|yes=|no=}}')
runYesnoTestWithDefault(false, 'no')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |¬=|blank=|def=|yes=|no=}}', '{{Yesno| ¬ |¬=|blank=|def=|yes=|no=}}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |¬=|blank=|def=|yes=|no=}}', '{{Yesno|1= ¬ |¬=|blank=|def=|yes=|no=}}')
end
function psuite:test_set_all_options_blankspacetestNDefaultPrecedence()
runYesnoTestWithDefault(false, 'n')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬= |blank= |def= |yes= |no= }}', '{{Yesno|¬= |blank= |def= |yes= |no= }}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno||¬= |blank= |def= |yes= |no= }}', '{{Yesno||¬= |blank= |def= |yes= |no= }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬= |blank= |def= |yes= |no= }}', '{{Yesno| |¬= |blank= |def= |yes= |no= }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| |¬= |blank= |def= |yes= |no= }}', '{{Yesno| |¬= |blank= |def= |yes= |no= }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=|¬= |blank= |def= |yes= |no= }}', '{{Yesno|1=|¬= |blank= |def= |yes= |no= }}')
function suite:testFalseTextDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yes|¬= |blank= |def= |yes= |no= }}', '{{Yesno|yes|¬= |blank= |def= |yes= |no= }}')
runYesnoTestWithDefault(false, 'false')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|yeS|¬= |blank= |def= |yes= |no= }}', '{{Yesno|yeS|¬= |blank= |def= |yes= |no= }}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|YES|¬= |blank= |def= |yes= |no= }}', '{{Yesno|YES|¬= |blank= |def= |yes= |no= }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1|¬= |blank= |def= |yes= |no= }}', '{{Yesno|1|¬= |blank= |def= |yes= |no= }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=yes|¬= |blank= |def= |yes= |no= }}', '{{Yesno|1=yes|¬= |blank= |def= |yes= |no= }}')
function suite:testFalseDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|no|¬= |blank= |def= |yes= |no= }}', '{{Yesno|no|¬= |blank= |def= |yes= |no= }}')
runYesnoTestWithDefault(false, false)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|nO|¬= |blank= |def= |yes= |no= }}', '{{Yesno|nO|¬= |blank= |def= |yes= |no= }}')
end
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|0|¬= |blank= |def= |yes= |no= }}', '{{Yesno|0|¬= |blank= |def= |yes= |no= }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1=no|¬= |blank= |def= |yes= |no= }}', '{{Yesno|1=no|¬= |blank= |def= |yes= |no= }}')
function suite:testZeroDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|beans|¬= |blank= |def= |yes= |no= }}', '{{Yesno|beans|¬= |blank= |def= |yes= |no= }}')
runYesnoTestWithDefault(false, 0)
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| beans |¬= |blank= |def= |yes= |no= }}', '{{Yesno| beans |¬= |blank= |def= |yes= |no= }}')
end
function suite:testZeroTextDefaultPrecedence()
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|¬|¬= |blank= |def= |yes= |no= }}', '{{Yesno|¬|¬= |blank= |def= |yes= |no= }}')
runYesnoTestWithDefault(false, '0')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno| ¬ |¬= |blank= |def= |yes= |no= }}', '{{Yesno| ¬ |¬= |blank= |def= |yes= |no= }}')
self:preprocess_equals_preprocess('{{#invoke:Yesno|yesno|1= ¬ |¬= |blank= |def= |yes= |no= }}', '{{Yesno|1= ¬ |¬= |blank= |def= |yes= |no= }}')
end
return p
function suite:testNilDefaultPrecedence()
runYesnoTestWithDefault(nil, nil)
end
return suite
|