-- Unit tests for [[Module:IPA symbol]]. Click talk page to run tests.
local p = require('Module:UnitTests')
-- self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main||output=name}}', '{{IPAsym|}}')
-- currently: custom_error corresponds with para2 (set message for not-in-list error; currently default return = error message.
-- currently: custom_output corresponds with para3 in IPAsym (set message for blank input; default return = '' (blank))
--- note: para2 and para3 do interact (para3 defaults to para2 behaviour), but their module parameters do not.
function p:test_a_basic_IPA_symbols()
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|m|output=name}}', '{{IPAsym|m}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|p|output=name}}', '{{IPAsym|p}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|ʘ|output=name}}', '{{IPAsym|ʘ}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|147|output=name}}', '{{IPAsym|147}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|ɦ|output=name}}', '{{IPAsym|ɦ}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|h̃ |output=name}}', '{{IPAsym|h̃ }}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|146 424|output=name}}', '{{IPAsym|146 424}}')
end
function p:test_b_blank_input()
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main||output=name}}', '{{IPAsym|}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|output=name}}', '{{IPAsym}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main| |output=name}}', '{{IPAsym| }}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main| |output=name}}', '{{IPAsym| }}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main| m |output=name}}', '{{IPAsym| m }}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main||custom_error=para2msg|output=name}}', '{{IPAsym||para2msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main||custom_error=para2msg||output=name}}', '{{IPAsym||para2msg|}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main||custom_error=para2msg|custom_output=para3msg|output=name}}', '{{IPAsym||para2msg|para3msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main||custom_output=para3msg|output=name}}', '{{IPAsym||3=para3msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|||custom_output=para3msg|output=name}}', '{{IPAsym|||3=para3msg}}')
end
function p:test_c_error_options()
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|xyz|output=name}}', '{{IPAsym|xyz}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|xyz|custom_error=para2msg|output=name}}', '{{IPAsym|xyz|para2msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|xyz|custom_error=para2msg|output=name}}', '{{IPAsym|xyz|para2msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|xyz|custom_error=para2msg|custom_output=|output=name}}', '{{IPAsym|xyz|para2msg|}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|xyz|custom_error=para2msg|custom_output=para3msg|output=name}}', '{{IPAsym|xyz|para2msg|para3msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|xyz|custom_output=para3msg|output=name}}', '{{IPAsym|xyz|3=para3msg}}')
end
function p:test_d_error_options_ineffective()
-- set messages should not be shown in OK input
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|m|output=name}}', '{{IPAsym|m}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|m|custom_error=para2msg|output=name}}', '{{IPAsym|m|para2msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|m|custom_error=para2msg|output=name}}', '{{IPAsym|m|para2msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|m|custom_error=para2msg|custom_output=|output=name}}', '{{IPAsym|m|para2msg|}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|m|custom_error=para2msg|custom_output=para3msg|output=name}}', '{{IPAsym|m|para2msg|para3msg}}')
self:preprocess_equals_preprocess('{{#invoke:IPA symbol/sandbox|main|m|custom_output=para3msg|output=name}}', '{{IPAsym|m||3=para3msg}}')
end
return p