Lua 5.2 compatibility updates to VM and base and package libraries.

This commit is contained in:
James Roseborough
2012-09-06 04:01:28 +00:00
parent 41d9dd6176
commit a5fddce465
18 changed files with 244 additions and 328 deletions

View File

@@ -123,7 +123,6 @@ public class FragmentsTest extends TestSuite {
}
public void testArgParamUseNone() {
// the name "arg" is treated specially, and ends up masking the argument value in 5.1
runFragment( LuaValue.valueOf("string"),
"function v(arg,...)\n" +
" return type(arg)\n" +

View File

@@ -93,22 +93,6 @@ public class MathLibTest extends TestCase {
tryMathOp( "log", -9 );
}
public void testLog10() {
supportedOnJ2me = false;
tryMathOp( "log10", 0.1 );
tryMathOp( "log10", .9 );
tryMathOp( "log10", 1. );
tryMathOp( "log10", 9 );
tryMathOp( "log10", 10 );
tryMathOp( "log10", 100 );
tryMathOp( "log10", -.1 );
tryMathOp( "log10", -.9 );
tryMathOp( "log10", -1. );
tryMathOp( "log10", -9 );
tryMathOp( "log10", -10 );
tryMathOp( "log10", -100 );
}
public void testRad() {
tryMathOp( "rad", 0 );
tryMathOp( "rad", 0.1 );

View File

@@ -75,7 +75,7 @@ public class OrphanedThreadTest extends TestCase {
"print('leakage in closure.3, arg is '..arg)\n" +
"return 'done'\n";
LuaC.install();
function = LoadState.load(new ByteArrayInputStream(script.getBytes()), "script", env);
function = LoadState.load(new ByteArrayInputStream(script.getBytes()), "script", "bt", env);
doTest(LuaValue.TRUE, LuaValue.ZERO);
}
@@ -91,7 +91,7 @@ public class OrphanedThreadTest extends TestCase {
"end\n" +
"print( 'pcall-closre.result:', pcall( f, ... ) )\n";
LuaC.install();
function = LoadState.load(new ByteArrayInputStream(script.getBytes()), "script", env);
function = LoadState.load(new ByteArrayInputStream(script.getBytes()), "script", "bt", env);
doTest(LuaValue.TRUE, LuaValue.ZERO);
}
@@ -108,7 +108,7 @@ public class OrphanedThreadTest extends TestCase {
"end\n" +
"load(f)()\n";
LuaC.install();
function = LoadState.load(new ByteArrayInputStream(script.getBytes()), "script", env);
function = LoadState.load(new ByteArrayInputStream(script.getBytes()), "script", "bt", env);
doTest(LuaValue.TRUE, LuaValue.ONE);
}

View File

@@ -125,7 +125,7 @@ public class ScriptDrivenTest extends TestCase {
}
default:
script = new FileInputStream(file);
return LoadState.load(script, "=stdin", _G);
return LoadState.load(script, "=stdin", "bt", _G);
}
} catch ( Exception e ) {
e.printStackTrace();

View File

@@ -108,7 +108,7 @@ public class DumpLoadEndianIntTest extends TestCase {
// load again using compiler
is = new ByteArrayInputStream(dumped);
f = LoadState.load(is, "dumped", _G);
f = LoadState.load(is, "dumped", "bt", _G);
r = f.call();
actual = r.tojstring();
assertEquals( expectedPostDump, actual );

View File

@@ -152,6 +152,17 @@ printtables()
print( 'pcall(rawset,t,"dd","zzz")', rawset(t,"dd","zzz"))
printtables()
-- rawlen
print( 'pcall(rawlen, {})', pcall(rawlen, {}))
print( 'pcall(rawlen, {"a"})', pcall(rawlen, {'a'}))
print( 'pcall(rawlen, {"a","b"})', pcall(rawlen, {'a','b'}))
print( 'pcall(rawlen, "")', pcall(rawlen, ""))
print( 'pcall(rawlen, "a")', pcall(rawlen, 'a'))
print( 'pcall(rawlen, "ab")', pcall(rawlen, 'ab'))
print( 'pcall(rawlen, 1)', pcall(rawlen, 1))
print( 'pcall(rawlen, nil)', pcall(rawlen, nil))
print( 'pcall(rawlen)', pcall(rawlen))
printtables()
print( 's["ee"]="ppp"' ); s["ee"]="ppp"
printtables()