diff options
author | Yaco <franco@reevo.org> | 2021-10-19 20:30:39 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2021-10-19 20:30:39 -0300 |
commit | 8c201ace3699b4928daf41eb7b4cdcb4565c6f3b (patch) | |
tree | fbd98f026864e9c1919d3ee740b6799ca0c651e2 /www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaCommon/MessageLibraryTests.lua | |
parent | e3880a1c86acaa3bbd05786ad2f5c586e6511a58 (diff) |
adds Scribunto
Diffstat (limited to 'www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaCommon/MessageLibraryTests.lua')
-rw-r--r-- | www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaCommon/MessageLibraryTests.lua | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaCommon/MessageLibraryTests.lua b/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaCommon/MessageLibraryTests.lua new file mode 100644 index 00000000..55dafb8f --- /dev/null +++ b/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaCommon/MessageLibraryTests.lua @@ -0,0 +1,70 @@ +local testframework = require 'Module:TestFramework' + +local message1 = mw.message.new( 'mainpage' ) +local message1_copy = mw.message.new( 'mainpage' ) +local message2 = mw.message.new( 'i-dont-exist-evar' ) + +function test_exists( key ) + return mw.message.new( key ):exists() +end + +function test_language( key ) + -- If mw.language is available, test that too + local lang = 'ru' + if mw.language then + lang = mw.language.new( 'ru' ) + end + + return mw.message.new( 'mainpage' ):useDatabase( false ):inLanguage( 'en' ):plain(), + mw.message.new( 'mainpage' ):useDatabase( false ):inLanguage( 'ru' ):plain(), + mw.message.new( 'mainpage' ):useDatabase( false ):inLanguage( lang ):plain() +end + +function test_params( rawMessage, func, ... ) + local msg = mw.message.newRawMessage( rawMessage ):inLanguage( 'en' ) + return msg[func]( msg, ... ):plain() +end + +return testframework.getTestProvider( { + { name = 'exists (1)', func = test_exists, + args = { 'mainpage' }, + expect = { true } + }, + { name = 'exists (2)', func = test_exists, + args = { 'i-dont-exist-evar' }, + expect = { false } + }, + + { name = 'inLanguage', func = test_language, + expect = { 'Main Page', 'Заглавная страница', 'Заглавная страница' } + }, + + { name = 'plain param', func = test_params, + args = { '($1 $2)', 'params', "'''foo'''", 123456 }, + expect = { "('''foo''' 123456)" } + }, + { name = 'raw param', func = test_params, + args = { '($1 $2)', 'rawParams', "'''foo'''", 123456 }, + expect = { "('''foo''' 123456)" } + }, + { name = 'num param', func = test_params, + args = { '($1 $2)', 'numParams', "'''foo'''", 123456 }, + expect = { "('''foo''' 123,456)" } + }, + { name = 'mixed params', func = test_params, + args = { '($1 $2 $3)', 'params', + "'''foo'''", mw.message.rawParam( "'''foo'''" ), mw.message.numParam( 123456 ) + }, + expect = { "('''foo''' '''foo''' 123,456)" } + }, + + { name = 'message as param', func = test_params, + args = { '($1)', 'params', mw.message.newRawMessage( 'bar' ) }, + expect = { "(bar)" } + }, + + { name = 'different title', func = test_params, + args = { '($1)', 'params', mw.message.newRawMessage( 'bar' ) }, + expect = { "(bar)" } + }, +} ) |