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/LuaStandalone/StandaloneTests.lua | |
parent | e3880a1c86acaa3bbd05786ad2f5c586e6511a58 (diff) |
adds Scribunto
Diffstat (limited to 'www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaStandalone/StandaloneTests.lua')
-rw-r--r-- | www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaStandalone/StandaloneTests.lua | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaStandalone/StandaloneTests.lua b/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaStandalone/StandaloneTests.lua new file mode 100644 index 00000000..1394b61e --- /dev/null +++ b/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaStandalone/StandaloneTests.lua @@ -0,0 +1,72 @@ +local testframework = require( 'Module:TestFramework' ) + +local function setfenv1() + local ok, err = pcall( function() + setfenv( 2, {} ) + end ) + if not ok then + err = string.gsub( err, '^%S+:%d+: ', '' ) + error( err ) + end +end + +local function getfenv1() + local env + pcall( function() + env = getfenv( 2 ) + end ) + return env +end + +return testframework.getTestProvider( { + { name = 'setfenv on a C function', func = setfenv1, + expect = "'setfenv' cannot set the requested environment, it is protected", + }, + { name = 'getfenv on a C function', func = getfenv1, + expect = { nil }, + }, + { name = 'Invalid array key (table)', func = mw.var_export, + args = { { [{}] = 1 } }, + expect = 'Cannot use table as an array key when passing data from Lua to PHP', + }, + { name = 'Invalid array key (boolean)', func = mw.var_export, + args = { { [true] = 1 } }, + expect = 'Cannot use boolean as an array key when passing data from Lua to PHP', + }, + { name = 'Invalid array key (function)', func = mw.var_export, + args = { { [tostring] = 1 } }, + expect = 'Cannot use function as an array key when passing data from Lua to PHP', + }, + { name = 'Unusual array key (float)', func = mw.var_export, + args = { { [1.5] = 1 } }, + expect = { "array ( '1.5' => 1, )" } + }, + { name = 'Unusual array key (inf)', func = mw.var_export, + args = { { [math.huge] = 1 } }, + expect = { "array ( 'inf' => 1, )" } + }, + { name = 'Unusual array key ("00")', func = mw.var_export, + args = { { ["00"] = "zero zero" } }, + expect = { "array ( '00' => 'zero zero', )" } + }, + { name = 'Unusual array key ("0.0")', func = mw.var_export, + args = { { ["0.0"] = "zero . zero" } }, + expect = { "array ( '0.0' => 'zero . zero', )" } + }, + { name = 'Unusual array key ("01")', func = mw.var_export, + args = { { ["01"] = "zero one" } }, + expect = { "array ( '01' => 'zero one', )" } + }, + { name = 'Unusual array key ("-9223372036854775808")', func = mw.var_export, + args = { { ["-9223372036854775808"] = "min" } }, + expect = { "array ( -9223372036854775808 => 'min', )" } + }, + { name = 'Unusual array key (-9223372036854775808)', func = mw.var_export, + args = { { [-9223372036854775808] = "min" } }, + expect = { "array ( -9223372036854775808 => 'min', )" } + }, + { name = 'Unusual array key ("-9223372036854775809")', func = mw.var_export, + args = { { ["-9223372036854775809"] = "min - 1" } }, + expect = { "array ( '-9223372036854775809' => 'min - 1', )" } + }, +} ) |