Module:FormatLua/tests/toLua
Jump to navigation
Jump to search
CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules
Lua
Documentation for this module may be created at Module:FormatLua/tests/toLua/doc
Code
local p = require('Module:FormatLua')
x = { 1, 2, 3, 4, nil, 6 }
y = { 10, 20, 30, 40 }
z = { 100, 200, 300 }
x[2] = y
y[2] = x
y[3] = z
z[2] = x
return {
with = p.toLua,
'with nil',
{ initial = nil, expected = 'nil' },
'with number',
{ initial = 0, expected = '0' },
{ initial = 20, expected = '20' },
{ initial = 1.23e+2, expected = '123' },
{ initial = 123456789, expected = '123456789' },
{ initial = -99999999999999, expected = '-99999999999999' },
{ initial = 99999999999999, expected = '99999999999999' },
{ initial = -100000000000000, expected = '-1e+14' },
{ initial = 100000000000000, expected = '1e+14' },
{ initial = -9.9999999999999, expected = '-9.9999999999999' },
{ initial = 9.9999999999999, expected = '9.9999999999999' },
{ initial = 1.2345678901234e+0, expected = '1.2345678901234' },
{ initial = 1.2345678901234e+14, expected = '1.2345678901234e+14' },
{ initial = 1e18, expected = '1e+18' },
{ initial = 1.9e18, expected = '1.9e+18' },
'with boolean',
{ initial = false, expected = 'false' },
{ initial = true, expected = 'true' },
'with string (empty)',
{ initial = '', expected = '""' },
'with string (not empty)',
{ initial = 'nil', expected = '"nil"' },
{ initial = '1', expected = '"1"' },
{ initial = '1e0', expected = '"1e0"' },
{ initial = '123456789', expected = '"123456789"' },
{ initial = 'false', expected = '"false"' },
{ initial = 'true', expected = '"true"' },
{ initial = 'word', expected = '"word"' },
{ initial = 'Some phrase', expected = '"Some phrase"' },
{ initial = '« Unicode characters »', expected = '"« Unicode characters »"' },
{ initial = 'line 1\nline 2', expected = '"line 1\\\nline 2"' },
{ initial = 'tab\ttab', expected = '"tab\ttab"' },
{ initial = 'there\'s an apostrophe', expected = '"there\'s an apostrophe"' },
{ initial = 'text with "quotation marks".', expected = '"text with \\"quotation marks\\"."' },
'with table (empty)',
{ initial = {}, expected = '{}' },
'with table (unidimensional, default keys)',
{ initial = {1}, expected = '{1}' },
{ initial = {1,2,3}, expected = '{1,2,3}' },
{ initial = {1,2,3,nil}, expected = '{1,2,3}' },
{ initial = {nil,2,3,4}, expected = '{nil,2,3,4}' },
{ initial = {1,2,3,nil,5}, expected = '{1,2,3,nil,5}' },
{ initial = {[3]=3.5,1,2,3,4}, expected = '{1,2,3,4}' },
{ initial = {[6]=6,1,2,3,4}, expected = '{1,2,3,4,nil,6}' },
'with table (unidimensional, integer keys)',
{ initial = {[7]=7,1,2,3,4}, expected = '{1,2,3,4,[7]=7}' },
{ initial = {nil,nil,3,4,5}, expected = '{[3]=3,[4]=4,[5]=5}' },
{ initial = {1,2,nil,nil,5}, expected = '{1,2,[5]=5}' },
{ initial = {{1,2},{3,4}}, expected = '{{1,2},{3,4}}' },
{ initial = {{1,2},a={3,4}}, expected = '{{1,2},a={3,4}}' },
{ initial = {{1,2},['a']={3,4}}, expected = '{{1,2},a={3,4}}' },
{ initial = {{1,2},['a b']={3,4}}, expected = '{{1,2},["a b"]={3,4}}' },
{ initial = {{1,2},['for']={3,4}}, expected = '{{1,2},["for"]={3,4}}' },
{ initial = {{1,2},['für']={3,4}}, expected = '{{1,2},["für"]={3,4}}' },
{ initial = {{1,2},['four']={3,4}}, expected = '{{1,2},four={3,4}}' },
{ initial = {_='_',a='a',Z='Z',art='art',b='b',['a/b']='a/b',["'"]="'",[" "]=" "},
expected = '{[" "]=" ",_="_",["\'"]="\'",a="a",["a/b"]="a/b",art="art",b="b",Z="Z"}' },
{ initial = x, expected = 'def(1,{1,{10,ref(1),{100,ref(1),300},40},3,4,nil,6})' },
{ initial = y, expected = 'def(1,{10,def(2,{1,ref(1),3,4,nil,6}),{100,ref(2),300},40})' },
{ initial = z, expected = 'def(2,{100,def(1,{1,{10,ref(1),ref(2),40},3,4,nil,6}),300})' },
'with function (limited: parameters, implementation and metatable currently not reflected)',
{ initial = function(...)end, expected = 'function(...)end' },
}