Difference between revisions of "Module:TNT/testcases"
Jump to navigation
Jump to search
test>Yurik |
test>Yurik (add test names) |
||
| Line 5: | Line 5: | ||
function p:test_msg() | function p:test_msg() | ||
-- dataset resolution | -- dataset resolution | ||
| − | self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text}}') | + | self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text}}', 'msg00') |
| − | self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases|text}}') | + | self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases|text}}', 'msg01') |
| − | self:assertResultEquals('text message', '{{#invoke:TNT|msg| I18n/Module:TNT/testcases.tab |text}}') | + | self:assertResultEquals('text message', '{{#invoke:TNT|msg| I18n/Module:TNT/testcases.tab |text}}', 'msg02') |
| − | self:assertResultEquals('text message', '{{#invoke:TNT|msg| I18n/Module:TNT/testcases |text}}') | + | self:assertResultEquals('text message', '{{#invoke:TNT|msg| I18n/Module:TNT/testcases |text}}', 'msg03') |
-- spacing | -- spacing | ||
| − | self:assertResultEquals('text message', '{{ #invoke:TNT | msg | I18n/Module:TNT/testcases.tab | text }}') | + | self:assertResultEquals('text message', '{{ #invoke:TNT | msg | I18n/Module:TNT/testcases.tab | text }}', 'msg10') |
| − | self:assertResultEquals('text message', '{{ \n #invoke:TNT \n | \n msg \n | \n I18n/Module:TNT/testcases.tab \n | \n text \n }}') | + | self:assertResultEquals('text message', '{{ \n #invoke:TNT \n | \n msg \n | \n I18n/Module:TNT/testcases.tab \n | \n text \n }}', 'msg11') |
| − | self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text|lang=ru}}') | + | self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text|lang=ru}}', 'msg12') |
| − | self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text|lang=fr}}') | + | self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text|lang=fr}}', 'msg13') |
-- 1 parameter | -- 1 parameter | ||
| − | self:assertResultEquals('text message a', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1|a}}') | + | self:assertResultEquals('text message a', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1|a}}', 'msg20') |
| − | self:assertResultEquals('text message a ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1| a }}') | + | self:assertResultEquals('text message a ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1| a }}', 'msg21') |
| − | self:assertResultEquals('text message \na \n ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1| \na \n }}') | + | self:assertResultEquals('text message \na \n ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1| \na \n }}', 'msg22') |
| − | self:assertResultEquals('текст абв', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1|абв|lang=ru}}') | + | self:assertResultEquals('текст абв', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1|абв|lang=ru}}', 'msg23') |
-- multiple parameters | -- multiple parameters | ||
| − | self:assertResultEquals('text message a and b', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2|a|b}}') | + | self:assertResultEquals('text message a and b', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2|a|b}}', 'msg30') |
| − | self:assertResultEquals('text message a and b ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2| a | b }}') | + | self:assertResultEquals('text message a and b ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2| a | b }}', 'msg31') |
| − | self:assertResultEquals('text message \na \n and \nb \n ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2| \na \n | \nb \n }}') | + | self:assertResultEquals('text message \na \n and \nb \n ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2| \na \n | \nb \n }}', 'msg32') |
| − | self:assertResultEquals('текст абв и где', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2|абв|где|lang=ru}}') | + | self:assertResultEquals('текст абв и где', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2|абв|где|lang=ru}}', 'msg33') |
-- parameters as part of wiki text | -- parameters as part of wiki text | ||
| − | self:assertResultEquals('text message [[a|b]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link|a|b}}') | + | self:assertResultEquals('text message [[a|b]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link|a|b}}', 'msg40') |
| − | self:assertResultEquals('text message [[ a | b ]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link| a | b }}') | + | self:assertResultEquals('text message [[ a | b ]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link| a | b }}', 'msg41') |
| − | self:assertResultEquals('текст [[абв|где]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link|абв|где|lang=ru}}') | + | self:assertResultEquals('текст [[абв|где]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link|абв|где|lang=ru}}', 'msg42') |
-- fallbacks | -- fallbacks | ||
| − | self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en}}') | + | self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en}}', 'msg50') |
| − | self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en|lang=ru}}') | + | self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en|lang=ru}}', 'msg51') |
| − | self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en|lang=fr}}') | + | self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en|lang=fr}}', 'msg52') |
end | end | ||
function p:test_msg_errors() | function p:test_msg_errors() | ||
| − | self:assertResultEquals('<strong class="error"><span class="scribunto-error" id="mw-scribunto-error-0">Lua error: bad argument #1 to "get" (not a valid title).</span></strong>', '{{#invoke:TNT|msg}}') | + | self:assertResultEquals( |
| + | '<strong class="error"><span class="scribunto-error" id="mw-scribunto-error-0">Lua error: bad argument #1 to "get" (not a valid title).</span></strong>', | ||
| + | '{{#invoke:TNT|msg}}', 'msgerr00') | ||
end | end | ||
function p:test_link() | function p:test_link() | ||
| − | self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT|link|abc.tab}}') | + | self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT|link|abc.tab}}', 'link00') |
| − | self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT | link | abc.tab }}') | + | self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT | link | abc.tab }}', 'link01') |
| − | self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT | link |\n abc.tab\n }}') | + | self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT | link |\n abc.tab\n }}', 'link02') |
end | end | ||
| Line 52: | Line 54: | ||
local tnt = require('Module:TNT') | local tnt = require('Module:TNT') | ||
self:assertEquals( | self:assertEquals( | ||
| − | + | '{"paramOrder":["1","2"],"description":"DO NOT EDIT OR TRANSLATE unless you are changing unit tests","params":{"1":{"suggested":false,"type":"string","required":true,"label":"en_label_1","example":"en_example_1","description":"en_desc_1"},"2":{"suggested":true,"type":"string","required":false,"label":"fr_label_2","example":"pl_example_2","description":"en_desc_2"}}}', | |
| − | + | tnt.getTemplateData('Module:TNT/testcases templatedata 1'), | |
| − | + | 'doc00') | |
self:assertEquals( | self:assertEquals( | ||
| − | + | '{"paramOrder":["param1","param2"],"description":"DO NOT EDIT OR TRANSLATE unless you are changing unit tests","params":{"param2":{"suggested":true,"type":"string","required":false,"label":"fr_label_2","example":"pl_example_2","description":"en_desc_2"},"param1":{"suggested":false,"type":"string","required":true,"label":"en_label_1","example":"en_example_1","description":"en_desc_1"}}}', | |
| − | + | tnt.getTemplateData('Module:TNT/testcases templatedata 2'), | |
| − | + | 'doc01') | |
end | end | ||
return p | return p | ||
Revision as of 03:23, 28 April 2019
Documentation for this module may be created at Module:TNT/testcases/doc
local TNT = require('Module:TNT')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local p = ScribuntoUnit:new()
function p:test_msg()
-- dataset resolution
self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text}}', 'msg00')
self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases|text}}', 'msg01')
self:assertResultEquals('text message', '{{#invoke:TNT|msg| I18n/Module:TNT/testcases.tab |text}}', 'msg02')
self:assertResultEquals('text message', '{{#invoke:TNT|msg| I18n/Module:TNT/testcases |text}}', 'msg03')
-- spacing
self:assertResultEquals('text message', '{{ #invoke:TNT | msg | I18n/Module:TNT/testcases.tab | text }}', 'msg10')
self:assertResultEquals('text message', '{{ \n #invoke:TNT \n | \n msg \n | \n I18n/Module:TNT/testcases.tab \n | \n text \n }}', 'msg11')
self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text|lang=ru}}', 'msg12')
self:assertResultEquals('text message', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text|lang=fr}}', 'msg13')
-- 1 parameter
self:assertResultEquals('text message a', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1|a}}', 'msg20')
self:assertResultEquals('text message a ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1| a }}', 'msg21')
self:assertResultEquals('text message \na \n ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1| \na \n }}', 'msg22')
self:assertResultEquals('текст абв', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_1|абв|lang=ru}}', 'msg23')
-- multiple parameters
self:assertResultEquals('text message a and b', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2|a|b}}', 'msg30')
self:assertResultEquals('text message a and b ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2| a | b }}', 'msg31')
self:assertResultEquals('text message \na \n and \nb \n ', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2| \na \n | \nb \n }}', 'msg32')
self:assertResultEquals('текст абв и где', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_2|абв|где|lang=ru}}', 'msg33')
-- parameters as part of wiki text
self:assertResultEquals('text message [[a|b]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link|a|b}}', 'msg40')
self:assertResultEquals('text message [[ a | b ]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link| a | b }}', 'msg41')
self:assertResultEquals('текст [[абв|где]]', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_link|абв|где|lang=ru}}', 'msg42')
-- fallbacks
self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en}}', 'msg50')
self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en|lang=ru}}', 'msg51')
self:assertResultEquals('текст', '{{#invoke:TNT|msg|I18n/Module:TNT/testcases.tab|text_no_en|lang=fr}}', 'msg52')
end
function p:test_msg_errors()
self:assertResultEquals(
'<strong class="error"><span class="scribunto-error" id="mw-scribunto-error-0">Lua error: bad argument #1 to "get" (not a valid title).</span></strong>',
'{{#invoke:TNT|msg}}', 'msgerr00')
end
function p:test_link()
self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT|link|abc.tab}}', 'link00')
self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT | link | abc.tab }}', 'link01')
self:assertResultEquals('commons:Data:abc.tab', '{{#invoke:TNT | link |\n abc.tab\n }}', 'link02')
end
function p:test_doc()
local tnt = require('Module:TNT')
self:assertEquals(
'{"paramOrder":["1","2"],"description":"DO NOT EDIT OR TRANSLATE unless you are changing unit tests","params":{"1":{"suggested":false,"type":"string","required":true,"label":"en_label_1","example":"en_example_1","description":"en_desc_1"},"2":{"suggested":true,"type":"string","required":false,"label":"fr_label_2","example":"pl_example_2","description":"en_desc_2"}}}',
tnt.getTemplateData('Module:TNT/testcases templatedata 1'),
'doc00')
self:assertEquals(
'{"paramOrder":["param1","param2"],"description":"DO NOT EDIT OR TRANSLATE unless you are changing unit tests","params":{"param2":{"suggested":true,"type":"string","required":false,"label":"fr_label_2","example":"pl_example_2","description":"en_desc_2"},"param1":{"suggested":false,"type":"string","required":true,"label":"en_label_1","example":"en_example_1","description":"en_desc_1"}}}',
tnt.getTemplateData('Module:TNT/testcases templatedata 2'),
'doc01')
end
return p