mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Scribunto
synced 2024-11-29 18:44:21 +00:00
2b06e83816
Message formats other than plain should have never been exposed in this way, as they allow link tables, etc. to be bypassed and serve no useful purpose. This removes them, and also removes title, as it serves no purpose without them. Bug: 60758 Change-Id: I96284ffbe986a9cd92d2bde1ffdb746029bad989
71 lines
2.1 KiB
Lua
71 lines
2.1 KiB
Lua
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)" }
|
|
},
|
|
} )
|