[NOTHING CHANGED] Move to maven and massive clean and fixup #93
@@ -25,10 +25,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PrintStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.OpenOption;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.luaj.vm2.Globals;
|
||||
@@ -94,6 +97,8 @@ abstract class PlatformTestCase extends ResourcesTestCase {
|
||||
actualOutput = actualOutput.replaceAll("\r\n", "\n");
|
||||
expectedOutput = expectedOutput.replaceAll("\r\n", "\n");
|
||||
|
||||
if (!expectedOutput.equals(actualOutput))
|
||||
Files.write(new File(testName + ".out").toPath(), actualOutput.getBytes(), new OpenOption[0]);
|
||||
assertEquals(expectedOutput, actualOutput);
|
||||
} finally {
|
||||
globals.STDOUT = oldps;
|
||||
@@ -132,7 +137,7 @@ abstract class PlatformTestCase extends ResourcesTestCase {
|
||||
}
|
||||
|
||||
private String getExpectedOutput(final String name) throws IOException, InterruptedException {
|
||||
InputStream output = inputStreamOfResult(name);
|
||||
InputStream output = inputStreamOfResult(platform.name().toLowerCase() + "/" + name);
|
||||
if (output != null)
|
||||
try {
|
||||
return readString(output);
|
||||
|
||||
@@ -61,14 +61,39 @@ main-c suspended
|
||||
c-c running
|
||||
c-resume-b false cannot resume non-suspended coroutine
|
||||
c-resume-c false cannot resume non-suspended coroutine
|
||||
b-resume-c false attempt to yield across metamethod/C-call boundary
|
||||
main-resume-b false attempt to yield across metamethod/C-call boundary
|
||||
main-resume-c false cannot resume dead coroutine
|
||||
main-b dead
|
||||
b-resume-c true c-rslt
|
||||
main-resume-b true b-rslt
|
||||
c-resumed main-arg-for-c true
|
||||
c-b suspended
|
||||
c-c running
|
||||
b-resumed b-arg-for-b true
|
||||
b-b running
|
||||
b-c normal
|
||||
b-resume-b false cannot resume non-suspended coroutine
|
||||
b-resume-c false cannot resume non-suspended coroutine
|
||||
c-resume-b true b-rslt
|
||||
c-resume-c false cannot resume non-suspended coroutine
|
||||
main-resume-c true c-rslt
|
||||
main-b suspended
|
||||
main-c suspended
|
||||
b-resumed main-arg-for-b true
|
||||
b-b running
|
||||
b-c suspended
|
||||
b-resume-b false cannot resume non-suspended coroutine
|
||||
c-resumed b-arg-for-c true
|
||||
c-b normal
|
||||
c-c running
|
||||
c-resume-b false cannot resume non-suspended coroutine
|
||||
c-resume-c false cannot resume non-suspended coroutine
|
||||
b-resume-c true c-rslt
|
||||
main-resume-b true b-rslt
|
||||
main-resume-c true
|
||||
main-b suspended
|
||||
main-c dead
|
||||
main-resume-b false cannot resume dead coroutine
|
||||
main-resume-c false cannot resume dead coroutine
|
||||
main-b dead
|
||||
main-c dead
|
||||
main-resume-b false cannot resume dead coroutine
|
||||
b-resumed main-arg-for-b true
|
||||
b-b running
|
||||
b-c dead
|
||||
b-resume-b false cannot resume non-suspended coroutine
|
||||
b-resume-c false cannot resume dead coroutine
|
||||
main-resume-b true b-rslt
|
||||
main-resume-c false cannot resume dead coroutine
|
||||
82
luaj-test/src/test/resources/compatibility/jme/iolib.out
Normal file
82
luaj-test/src/test/resources/compatibility/jme/iolib.out
Normal file
@@ -0,0 +1,82 @@
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
write file.0
|
||||
Thiswrite file.0
|
||||
is a pen.write file.0
|
||||
flush true
|
||||
f userdata
|
||||
file.1
|
||||
write file.2
|
||||
type(f) file.1
|
||||
close true
|
||||
type(f) closed file
|
||||
type("f") nil
|
||||
"abc" string
|
||||
----- 1
|
||||
"def" string
|
||||
----- 2
|
||||
"12345" number
|
||||
----- 3
|
||||
"678910" number
|
||||
----- 4
|
||||
" more\7aaaaaa\8bbbthe rest" string
|
||||
----- 5
|
||||
h file.1 file.4 nil
|
||||
write file.3
|
||||
close true
|
||||
f.type file.5
|
||||
f file.6
|
||||
write file.6
|
||||
type(f) file.5
|
||||
close true
|
||||
"line one"
|
||||
"line two"
|
||||
""
|
||||
"after blank line"
|
||||
"unterminated line"
|
||||
"line one"
|
||||
"line two"
|
||||
""
|
||||
"after blank line"
|
||||
"unterminated line"
|
||||
"line one"
|
||||
"line two"
|
||||
""
|
||||
"after blank line"
|
||||
"unterminated line"
|
||||
"line one"
|
||||
"line two"
|
||||
""
|
||||
"after blank line"
|
||||
"unterminated line"
|
||||
file.7
|
||||
file.7
|
||||
a:write file.8
|
||||
b:write file.9
|
||||
a:setvbuf true
|
||||
a:setvbuf true
|
||||
a:setvbuf true
|
||||
a:write file.8
|
||||
b:write file.9
|
||||
a:flush true
|
||||
b:flush true
|
||||
a:close true
|
||||
a:write false closed
|
||||
a:flush false closed
|
||||
a:read false closed
|
||||
a:lines false closed
|
||||
a:seek false closed
|
||||
a:setvbuf false closed
|
||||
a:close false closed
|
||||
io.type(a) true
|
||||
io.close() true
|
||||
io.close(io.output()) true
|
||||
io.close() true
|
||||
io.write false closed
|
||||
io.flush false closed
|
||||
io.close false closed
|
||||
io.read false closed
|
||||
io.lines false closed
|
||||
729
luaj-test/src/test/resources/compatibility/jme/mathlib.out
Normal file
729
luaj-test/src/test/resources/compatibility/jme/mathlib.out
Normal file
@@ -0,0 +1,729 @@
|
||||
---------- miscellaneous tests ----------
|
||||
math.sin( 0.0 ) true <zero>
|
||||
math.cos( math.pi ) true -1
|
||||
math.sqrt( 9.0 ) true 3
|
||||
math.modf( 5.25 ) true 5 0.25
|
||||
math.frexp(0.00625) true 0.8 -7
|
||||
-5 ^ 2 true -25
|
||||
-5 / 2 true -2.5
|
||||
-5 % 2 true 1
|
||||
---------- constants ----------
|
||||
math.huge true <pos-inf>
|
||||
math.pi true 3.1415
|
||||
---------- unary operator - ----------
|
||||
--2.5 true
|
||||
--2 true
|
||||
-0 true <zero>
|
||||
-2 true -2
|
||||
-2.5 true -2.5
|
||||
-'-2.5' true 2.5
|
||||
-'-2' true 2
|
||||
-'0' true <zero>
|
||||
-'2' true -2
|
||||
-'2.5' true -2.5
|
||||
---------- unary operator not ----------
|
||||
not -2.5 true false
|
||||
not -2 true false
|
||||
not 0 true false
|
||||
not 2 true false
|
||||
not 2.5 true false
|
||||
not '-2.5' true false
|
||||
not '-2' true false
|
||||
not '0' true false
|
||||
not '2' true false
|
||||
not '2.5' true false
|
||||
---------- binary operator + ----------
|
||||
2+0 true 2
|
||||
-2.5+0 true -2.5
|
||||
2+1 true 3
|
||||
5+2 true 7
|
||||
-5+2 true -3
|
||||
16+2 true 18
|
||||
-16+-2 true -18
|
||||
0.5+0 true 0.5
|
||||
0.5+1 true 1.5
|
||||
0.5+2 true 2.5
|
||||
0.5+-1 true -0.5
|
||||
0.5+2 true 2.5
|
||||
2.25+0 true 2.25
|
||||
2.25+2 true 4.25
|
||||
-2+0 true -2
|
||||
3+3 true 6
|
||||
'2'+'0' true 2
|
||||
'2.5'+'3' true 5.5
|
||||
'-2'+'1.5' true -0.5
|
||||
'-2.5'+'-1.5' true -4
|
||||
'3.0'+'3.0' true 6
|
||||
2.75+2.75 true 5.5
|
||||
'2.75'+'2.75' true 5.5
|
||||
3+'3' true 6
|
||||
'3'+3 true 6
|
||||
2.75+'2.75' true 5.5
|
||||
'2.75'+2.75 true 5.5
|
||||
-3+'-4' true -7
|
||||
'-3'+4 true 1
|
||||
-3+'4' true 1
|
||||
'-3'+-4 true -7
|
||||
-4.75+'2.75' true -2
|
||||
'-2.75'+1.75 true -1
|
||||
4.75+'-2.75' true 2
|
||||
'2.75'+-1.75 true 1
|
||||
---------- binary operator - ----------
|
||||
2-0 true 2
|
||||
-2.5-0 true -2.5
|
||||
2-1 true 1
|
||||
5-2 true 3
|
||||
-5-2 true -7
|
||||
16-2 true 14
|
||||
-16--2 true -14
|
||||
0.5-0 true 0.5
|
||||
0.5-1 true -0.5
|
||||
0.5-2 true -1.5
|
||||
0.5--1 true 1.5
|
||||
0.5-2 true -1.5
|
||||
2.25-0 true 2.25
|
||||
2.25-2 true 0.25
|
||||
-2-0 true -2
|
||||
3-3 true <zero>
|
||||
'2'-'0' true 2
|
||||
'2.5'-'3' true -0.5
|
||||
'-2'-'1.5' true -3.5
|
||||
'-2.5'-'-1.5' true -1
|
||||
'3.0'-'3.0' true <zero>
|
||||
2.75-2.75 true <zero>
|
||||
'2.75'-'2.75' true <zero>
|
||||
3-'3' true <zero>
|
||||
'3'-3 true <zero>
|
||||
2.75-'2.75' true <zero>
|
||||
'2.75'-2.75 true <zero>
|
||||
-3-'-4' true 1
|
||||
'-3'-4 true -7
|
||||
-3-'4' true -7
|
||||
'-3'--4 true 1
|
||||
-4.75-'2.75' true -7.5
|
||||
'-2.75'-1.75 true -4.5
|
||||
4.75-'-2.75' true 7.5
|
||||
'2.75'--1.75 true 4.5
|
||||
---------- binary operator * ----------
|
||||
2*0 true <zero>
|
||||
-2.5*0 true <zero>
|
||||
2*1 true 2
|
||||
5*2 true 10
|
||||
-5*2 true -10
|
||||
16*2 true 32
|
||||
-16*-2 true 32
|
||||
0.5*0 true <zero>
|
||||
0.5*1 true 0.5
|
||||
0.5*2 true 1
|
||||
0.5*-1 true -0.5
|
||||
0.5*2 true 1
|
||||
2.25*0 true <zero>
|
||||
2.25*2 true 4.5
|
||||
-2*0 true <zero>
|
||||
3*3 true 9
|
||||
'2'*'0' true <zero>
|
||||
'2.5'*'3' true 7.5
|
||||
'-2'*'1.5' true -3
|
||||
'-2.5'*'-1.5' true 3.75
|
||||
'3.0'*'3.0' true 9
|
||||
2.75*2.75 true 7.5625
|
||||
'2.75'*'2.75' true 7.5625
|
||||
3*'3' true 9
|
||||
'3'*3 true 9
|
||||
2.75*'2.75' true 7.5625
|
||||
'2.75'*2.75 true 7.5625
|
||||
-3*'-4' true 12
|
||||
'-3'*4 true -12
|
||||
-3*'4' true -12
|
||||
'-3'*-4 true 12
|
||||
-4.75*'2.75' true -13.06
|
||||
'-2.75'*1.75 true -4.812
|
||||
4.75*'-2.75' true -13.06
|
||||
'2.75'*-1.75 true -4.812
|
||||
---------- binary operator ^ ----------
|
||||
2^0 true 1
|
||||
-2.5^0 true 1
|
||||
2^1 true 2
|
||||
5^2 true 25
|
||||
-5^2 true 25
|
||||
16^2 true 256
|
||||
-16^-2 true 0.0039
|
||||
0.5^0 true 1
|
||||
0.5^1 true 0.5
|
||||
0.5^2 true 0.25
|
||||
0.5^-1 true 2
|
||||
0.5^2 true 0.25
|
||||
2.25^0 true 1
|
||||
2.25^2 true 5.0625
|
||||
-2^0 true 1
|
||||
3^3 true 27
|
||||
'2'^'0' true 1
|
||||
'2.5'^'3' true 15.625
|
||||
'-2'^'1.5' true -nan
|
||||
'-2.5'^'-1.5' true -nan
|
||||
'3.0'^'3.0' true 27
|
||||
2.75^2.75 true 16.149
|
||||
'2.75'^'2.75' true 16.149
|
||||
3^'3' true 27
|
||||
'3'^3 true 27
|
||||
2.75^'2.75' true 16.149
|
||||
'2.75'^2.75 true 16.149
|
||||
-3^'-4' true 0.0123
|
||||
'-3'^4 true 81
|
||||
-3^'4' true 81
|
||||
'-3'^-4 true 0.0123
|
||||
-4.75^'2.75' true -nan
|
||||
'-2.75'^1.75 true -nan
|
||||
4.75^'-2.75' true 0.0137
|
||||
'2.75'^-1.75 true 0.1702
|
||||
---------- binary operator / ----------
|
||||
2/0 true <pos-inf>
|
||||
-2.5/0 true <neg-inf>
|
||||
2/1 true 2
|
||||
5/2 true 2.5
|
||||
-5/2 true -2.5
|
||||
16/2 true 8
|
||||
-16/-2 true 8
|
||||
0.5/0 true <pos-inf>
|
||||
0.5/1 true 0.5
|
||||
0.5/2 true 0.25
|
||||
0.5/-1 true -0.5
|
||||
0.5/2 true 0.25
|
||||
2.25/0 true <pos-inf>
|
||||
2.25/2 true 1.125
|
||||
-2/0 true <neg-inf>
|
||||
3/3 true 1
|
||||
'2'/'0' true <pos-inf>
|
||||
'2.5'/'3' true 0.8333
|
||||
'-2'/'1.5' true -1.333
|
||||
'-2.5'/'-1.5' true 1.6666
|
||||
'3.0'/'3.0' true 1
|
||||
2.75/2.75 true 1
|
||||
'2.75'/'2.75' true 1
|
||||
3/'3' true 1
|
||||
'3'/3 true 1
|
||||
2.75/'2.75' true 1
|
||||
'2.75'/2.75 true 1
|
||||
-3/'-4' true 0.75
|
||||
'-3'/4 true -0.75
|
||||
-3/'4' true -0.75
|
||||
'-3'/-4 true 0.75
|
||||
-4.75/'2.75' true -1.727
|
||||
'-2.75'/1.75 true -1.571
|
||||
4.75/'-2.75' true -1.727
|
||||
'2.75'/-1.75 true -1.571
|
||||
---------- binary operator % ----------
|
||||
2%0 true -nan
|
||||
-2.5%0 true -nan
|
||||
2%1 true <zero>
|
||||
5%2 true 1
|
||||
-5%2 true 1
|
||||
16%2 true <zero>
|
||||
-16%-2 true <zero>
|
||||
0.5%0 true -nan
|
||||
0.5%1 true 0.5
|
||||
0.5%2 true 0.5
|
||||
0.5%-1 true -0.5
|
||||
0.5%2 true 0.5
|
||||
2.25%0 true -nan
|
||||
2.25%2 true 0.25
|
||||
-2%0 true -nan
|
||||
3%3 true <zero>
|
||||
'2'%'0' true -nan
|
||||
'2.5'%'3' true 2.5
|
||||
'-2'%'1.5' true 1
|
||||
'-2.5'%'-1.5' true -1
|
||||
'3.0'%'3.0' true <zero>
|
||||
2.75%2.75 true <zero>
|
||||
'2.75'%'2.75' true <zero>
|
||||
3%'3' true <zero>
|
||||
'3'%3 true <zero>
|
||||
2.75%'2.75' true <zero>
|
||||
'2.75'%2.75 true <zero>
|
||||
-3%'-4' true -3
|
||||
'-3'%4 true 1
|
||||
-3%'4' true 1
|
||||
'-3'%-4 true -3
|
||||
-4.75%'2.75' true 0.75
|
||||
'-2.75'%1.75 true 0.75
|
||||
4.75%'-2.75' true -0.75
|
||||
'2.75'%-1.75 true -0.75
|
||||
---------- binary operator == ----------
|
||||
2==0 true false
|
||||
-2.5==0 true false
|
||||
2==1 true false
|
||||
5==2 true false
|
||||
-5==2 true false
|
||||
16==2 true false
|
||||
-16==-2 true false
|
||||
0.5==0 true false
|
||||
0.5==1 true false
|
||||
0.5==2 true false
|
||||
0.5==-1 true false
|
||||
0.5==2 true false
|
||||
2.25==0 true false
|
||||
2.25==2 true false
|
||||
-2==0 true false
|
||||
3==3 true true
|
||||
'2'=='0' true false
|
||||
'2.5'=='3' true false
|
||||
'-2'=='1.5' true false
|
||||
'-2.5'=='-1.5' true false
|
||||
'3.0'=='3.0' true true
|
||||
2.75==2.75 true true
|
||||
'2.75'=='2.75' true true
|
||||
---------- binary operator ~= ----------
|
||||
2~=0 true true
|
||||
-2.5~=0 true true
|
||||
2~=1 true true
|
||||
5~=2 true true
|
||||
-5~=2 true true
|
||||
16~=2 true true
|
||||
-16~=-2 true true
|
||||
0.5~=0 true true
|
||||
0.5~=1 true true
|
||||
0.5~=2 true true
|
||||
0.5~=-1 true true
|
||||
0.5~=2 true true
|
||||
2.25~=0 true true
|
||||
2.25~=2 true true
|
||||
-2~=0 true true
|
||||
3~=3 true false
|
||||
'2'~='0' true true
|
||||
'2.5'~='3' true true
|
||||
'-2'~='1.5' true true
|
||||
'-2.5'~='-1.5' true true
|
||||
'3.0'~='3.0' true false
|
||||
2.75~=2.75 true false
|
||||
'2.75'~='2.75' true false
|
||||
---------- binary operator > ----------
|
||||
2>0 true true
|
||||
-2.5>0 true false
|
||||
2>1 true true
|
||||
5>2 true true
|
||||
-5>2 true false
|
||||
16>2 true true
|
||||
-16>-2 true false
|
||||
0.5>0 true true
|
||||
0.5>1 true false
|
||||
0.5>2 true false
|
||||
0.5>-1 true true
|
||||
0.5>2 true false
|
||||
2.25>0 true true
|
||||
2.25>2 true true
|
||||
-2>0 true false
|
||||
3>3 true false
|
||||
'2'>'0' true true
|
||||
'2.5'>'3' true false
|
||||
'-2'>'1.5' true false
|
||||
'-2.5'>'-1.5' true true
|
||||
'3.0'>'3.0' true false
|
||||
2.75>2.75 true false
|
||||
'2.75'>'2.75' true false
|
||||
---------- binary operator < ----------
|
||||
2<0 true false
|
||||
-2.5<0 true true
|
||||
2<1 true false
|
||||
5<2 true false
|
||||
-5<2 true true
|
||||
16<2 true false
|
||||
-16<-2 true true
|
||||
0.5<0 true false
|
||||
0.5<1 true true
|
||||
0.5<2 true true
|
||||
0.5<-1 true false
|
||||
0.5<2 true true
|
||||
2.25<0 true false
|
||||
2.25<2 true false
|
||||
-2<0 true true
|
||||
3<3 true false
|
||||
'2'<'0' true false
|
||||
'2.5'<'3' true true
|
||||
'-2'<'1.5' true true
|
||||
'-2.5'<'-1.5' true false
|
||||
'3.0'<'3.0' true false
|
||||
2.75<2.75 true false
|
||||
'2.75'<'2.75' true false
|
||||
---------- binary operator >= ----------
|
||||
2>=0 true true
|
||||
-2.5>=0 true false
|
||||
2>=1 true true
|
||||
5>=2 true true
|
||||
-5>=2 true false
|
||||
16>=2 true true
|
||||
-16>=-2 true false
|
||||
0.5>=0 true true
|
||||
0.5>=1 true false
|
||||
0.5>=2 true false
|
||||
0.5>=-1 true true
|
||||
0.5>=2 true false
|
||||
2.25>=0 true true
|
||||
2.25>=2 true true
|
||||
-2>=0 true false
|
||||
3>=3 true true
|
||||
'2'>='0' true true
|
||||
'2.5'>='3' true false
|
||||
'-2'>='1.5' true false
|
||||
'-2.5'>='-1.5' true true
|
||||
'3.0'>='3.0' true true
|
||||
2.75>=2.75 true true
|
||||
'2.75'>='2.75' true true
|
||||
---------- binary operator <= ----------
|
||||
2<=0 true false
|
||||
-2.5<=0 true true
|
||||
2<=1 true false
|
||||
5<=2 true false
|
||||
-5<=2 true true
|
||||
16<=2 true false
|
||||
-16<=-2 true true
|
||||
0.5<=0 true false
|
||||
0.5<=1 true true
|
||||
0.5<=2 true true
|
||||
0.5<=-1 true false
|
||||
0.5<=2 true true
|
||||
2.25<=0 true false
|
||||
2.25<=2 true false
|
||||
-2<=0 true true
|
||||
3<=3 true true
|
||||
'2'<='0' true false
|
||||
'2.5'<='3' true true
|
||||
'-2'<='1.5' true true
|
||||
'-2.5'<='-1.5' true false
|
||||
'3.0'<='3.0' true true
|
||||
2.75<=2.75 true true
|
||||
'2.75'<='2.75' true true
|
||||
---------- math.abs ----------
|
||||
math.abs(-2.5) true 2.5
|
||||
math.abs(-2) true 2
|
||||
math.abs(0) true <zero>
|
||||
math.abs(2) true 2
|
||||
math.abs(2.5) true 2.5
|
||||
math.abs('-2.5') true 2.5
|
||||
math.abs('-2') true 2
|
||||
math.abs('0') true <zero>
|
||||
math.abs('2') true 2
|
||||
math.abs('2.5') true 2.5
|
||||
---------- math.ceil ----------
|
||||
math.ceil(-2.5) true -2
|
||||
math.ceil(-2) true -2
|
||||
math.ceil(0) true <zero>
|
||||
math.ceil(2) true 2
|
||||
math.ceil(2.5) true 3
|
||||
math.ceil('-2.5') true -2
|
||||
math.ceil('-2') true -2
|
||||
math.ceil('0') true <zero>
|
||||
math.ceil('2') true 2
|
||||
math.ceil('2.5') true 3
|
||||
---------- math.cos ----------
|
||||
math.cos(-2.5) true -0.801
|
||||
math.cos(-2) true -0.416
|
||||
math.cos(0) true 1
|
||||
math.cos(2) true -0.416
|
||||
math.cos(2.5) true -0.801
|
||||
math.cos('-2.5') true -0.801
|
||||
math.cos('-2') true -0.416
|
||||
math.cos('0') true 1
|
||||
math.cos('2') true -0.416
|
||||
math.cos('2.5') true -0.801
|
||||
---------- math.deg ----------
|
||||
math.deg(-2.5) true -143.2
|
||||
math.deg(-2) true -114.5
|
||||
math.deg(0) true <zero>
|
||||
math.deg(2) true 114.59
|
||||
math.deg(2.5) true 143.23
|
||||
math.deg('-2.5') true -143.2
|
||||
math.deg('-2') true -114.5
|
||||
math.deg('0') true <zero>
|
||||
math.deg('2') true 114.59
|
||||
math.deg('2.5') true 143.23
|
||||
---------- math.exp ----------
|
||||
math.exp(-2.5) true 0.0820
|
||||
math.exp(-2) true 0.1353
|
||||
math.exp(0) true 1
|
||||
math.exp(2) true 7.3890
|
||||
math.exp(2.5) true 12.182
|
||||
math.exp('-2.5') true 0.0820
|
||||
math.exp('-2') true 0.1353
|
||||
math.exp('0') true 1
|
||||
math.exp('2') true 7.3890
|
||||
math.exp('2.5') true 12.182
|
||||
---------- math.floor ----------
|
||||
math.floor(-2.5) true -3
|
||||
math.floor(-2) true -2
|
||||
math.floor(0) true <zero>
|
||||
math.floor(2) true 2
|
||||
math.floor(2.5) true 2
|
||||
math.floor('-2.5') true -3
|
||||
math.floor('-2') true -2
|
||||
math.floor('0') true <zero>
|
||||
math.floor('2') true 2
|
||||
math.floor('2.5') true 2
|
||||
---------- math.frexp ----------
|
||||
math.frexp(-2.5) true -0.625 2
|
||||
math.frexp(-2) true -0.5 2
|
||||
math.frexp(0) true <zero> <zero>
|
||||
math.frexp(2) true 0.5 2
|
||||
math.frexp(2.5) true 0.625 2
|
||||
math.frexp('-2.5') true -0.625 2
|
||||
math.frexp('-2') true -0.5 2
|
||||
math.frexp('0') true <zero> <zero>
|
||||
math.frexp('2') true 0.5 2
|
||||
math.frexp('2.5') true 0.625 2
|
||||
---------- math.modf ----------
|
||||
math.modf(-2.5) true -2 -0.5
|
||||
math.modf(-2) true -2 <zero>
|
||||
math.modf(0) true <zero> <zero>
|
||||
math.modf(2) true 2 <zero>
|
||||
math.modf(2.5) true 2 0.5
|
||||
math.modf('-2.5') true -2 -0.5
|
||||
math.modf('-2') true -2 <zero>
|
||||
math.modf('0') true <zero> <zero>
|
||||
math.modf('2') true 2 <zero>
|
||||
math.modf('2.5') true 2 0.5
|
||||
---------- math.rad ----------
|
||||
math.rad(-2.5) true -0.043
|
||||
math.rad(-2) true -0.034
|
||||
math.rad(0) true <zero>
|
||||
math.rad(2) true 0.0349
|
||||
math.rad(2.5) true 0.0436
|
||||
math.rad('-2.5') true -0.043
|
||||
math.rad('-2') true -0.034
|
||||
math.rad('0') true <zero>
|
||||
math.rad('2') true 0.0349
|
||||
math.rad('2.5') true 0.0436
|
||||
---------- math.sin ----------
|
||||
math.sin(-2.5) true -0.598
|
||||
math.sin(-2) true -0.909
|
||||
math.sin(0) true <zero>
|
||||
math.sin(2) true 0.9092
|
||||
math.sin(2.5) true 0.5984
|
||||
math.sin('-2.5') true -0.598
|
||||
math.sin('-2') true -0.909
|
||||
math.sin('0') true <zero>
|
||||
math.sin('2') true 0.9092
|
||||
math.sin('2.5') true 0.5984
|
||||
---------- math.sqrt ----------
|
||||
math.sqrt(-2.5) true -nan
|
||||
math.sqrt(-2) true -nan
|
||||
math.sqrt(0) true <zero>
|
||||
math.sqrt(2) true 1.4142
|
||||
math.sqrt(2.5) true 1.5811
|
||||
math.sqrt('-2.5') true -nan
|
||||
math.sqrt('-2') true -nan
|
||||
math.sqrt('0') true <zero>
|
||||
math.sqrt('2') true 1.4142
|
||||
math.sqrt('2.5') true 1.5811
|
||||
---------- math.tan ----------
|
||||
math.tan(-2.5) true 0.7470
|
||||
math.tan(-2) true 2.1850
|
||||
math.tan(0) true <zero>
|
||||
math.tan(2) true -2.185
|
||||
math.tan(2.5) true -0.747
|
||||
math.tan('-2.5') true 0.7470
|
||||
math.tan('-2') true 2.1850
|
||||
math.tan('0') true <zero>
|
||||
math.tan('2') true -2.185
|
||||
math.tan('2.5') true -0.747
|
||||
---------- math.fmod ----------
|
||||
math.fmod(2,0) true -nan
|
||||
math.fmod(-2.5,0) true -nan
|
||||
math.fmod(2,1) true <zero>
|
||||
math.fmod(5,2) true 1
|
||||
math.fmod(-5,2) true -1
|
||||
math.fmod(16,2) true <zero>
|
||||
math.fmod(-16,-2) true <zero>
|
||||
math.fmod(0.5,0) true -nan
|
||||
math.fmod(0.5,1) true 0.5
|
||||
math.fmod(0.5,2) true 0.5
|
||||
math.fmod(0.5,-1) true 0.5
|
||||
math.fmod(0.5,2) true 0.5
|
||||
math.fmod(2.25,0) true -nan
|
||||
math.fmod(2.25,2) true 0.25
|
||||
math.fmod(-2,0) true -nan
|
||||
math.fmod(3,3) true <zero>
|
||||
math.fmod('2','0') true -nan
|
||||
math.fmod('2.5','3') true 2.5
|
||||
math.fmod('-2','1.5') true -0.5
|
||||
math.fmod('-2.5','-1.5') true -1
|
||||
math.fmod('3.0','3.0') true <zero>
|
||||
math.fmod(2.75,2.75) true <zero>
|
||||
math.fmod('2.75','2.75') true <zero>
|
||||
math.fmod(3,'3') true <zero>
|
||||
math.fmod('3',3) true <zero>
|
||||
math.fmod(2.75,'2.75') true <zero>
|
||||
math.fmod('2.75',2.75) true <zero>
|
||||
math.fmod(-3,'-4') true -3
|
||||
math.fmod('-3',4) true -3
|
||||
math.fmod(-3,'4') true -3
|
||||
math.fmod('-3',-4) true -3
|
||||
math.fmod(-4.75,'2.75') true -2
|
||||
math.fmod('-2.75',1.75) true -1
|
||||
math.fmod(4.75,'-2.75') true 2
|
||||
math.fmod('2.75',-1.75) true 1
|
||||
---------- math.ldexp ----------
|
||||
math.ldexp(2,0) true 2
|
||||
math.ldexp(-2.5,0) true -2.5
|
||||
math.ldexp(2,1) true 4
|
||||
math.ldexp(5,2) true 20
|
||||
math.ldexp(-5,2) true -20
|
||||
math.ldexp(16,2) true 64
|
||||
math.ldexp(-16,-2) true -4
|
||||
math.ldexp(0.5,0) true 0.5
|
||||
math.ldexp(0.5,1) true 1
|
||||
math.ldexp(0.5,2) true 2
|
||||
math.ldexp(0.5,-1) true 0.25
|
||||
math.ldexp(0.5,2) true 2
|
||||
math.ldexp(2.25,0) true 2.25
|
||||
math.ldexp(2.25,2) true 9
|
||||
math.ldexp(-2,0) true -2
|
||||
math.ldexp(3,3) true 24
|
||||
math.ldexp('2','0') true 2
|
||||
math.ldexp('2.5','3') true 20
|
||||
math.ldexp('-2','1.5') true -4
|
||||
math.ldexp('-2.5','-1.5') true -1.25
|
||||
math.ldexp('3.0','3.0') true 24
|
||||
math.ldexp(2.75,2.75) true 11
|
||||
math.ldexp('2.75','2.75') true 11
|
||||
math.ldexp(3,'3') true 24
|
||||
math.ldexp('3',3) true 24
|
||||
math.ldexp(2.75,'2.75') true 11
|
||||
math.ldexp('2.75',2.75) true 11
|
||||
math.ldexp(-3,'-4') true -0.187
|
||||
math.ldexp('-3',4) true -48
|
||||
math.ldexp(-3,'4') true -48
|
||||
math.ldexp('-3',-4) true -0.187
|
||||
math.ldexp(-4.75,'2.75') true -19
|
||||
math.ldexp('-2.75',1.75) true -5.5
|
||||
math.ldexp(4.75,'-2.75') true 1.1875
|
||||
math.ldexp('2.75',-1.75) true 1.375
|
||||
---------- math.pow ----------
|
||||
math.pow(2,0) true 1
|
||||
math.pow(-2.5,0) true 1
|
||||
math.pow(2,1) true 2
|
||||
math.pow(5,2) true 25
|
||||
math.pow(-5,2) true 25
|
||||
math.pow(16,2) true 256
|
||||
math.pow(-16,-2) true 0.0039
|
||||
math.pow(0.5,0) true 1
|
||||
math.pow(0.5,1) true 0.5
|
||||
math.pow(0.5,2) true 0.25
|
||||
math.pow(0.5,-1) true 2
|
||||
math.pow(0.5,2) true 0.25
|
||||
math.pow(2.25,0) true 1
|
||||
math.pow(2.25,2) true 5.0625
|
||||
math.pow(-2,0) true 1
|
||||
math.pow(3,3) true 27
|
||||
math.pow('2','0') true 1
|
||||
math.pow('2.5','3') true 15.625
|
||||
math.pow('-2','1.5') true -nan
|
||||
math.pow('-2.5','-1.5') true -nan
|
||||
math.pow('3.0','3.0') true 27
|
||||
math.pow(2.75,2.75) true 16.149
|
||||
math.pow('2.75','2.75') true 16.149
|
||||
math.pow(3,'3') true 27
|
||||
math.pow('3',3) true 27
|
||||
math.pow(2.75,'2.75') true 16.149
|
||||
math.pow('2.75',2.75) true 16.149
|
||||
math.pow(-3,'-4') true 0.0123
|
||||
math.pow('-3',4) true 81
|
||||
math.pow(-3,'4') true 81
|
||||
math.pow('-3',-4) true 0.0123
|
||||
math.pow(-4.75,'2.75') true -nan
|
||||
math.pow('-2.75',1.75) true -nan
|
||||
math.pow(4.75,'-2.75') true 0.0137
|
||||
math.pow('2.75',-1.75) true 0.1702
|
||||
---------- math.max ----------
|
||||
math.max(4) true 4
|
||||
math.max(-4.5) true -4.5
|
||||
math.max('5.5') true 5.5
|
||||
math.max('-5') true -5
|
||||
math.max(4,'8') true 8
|
||||
math.max(-4.5,'-8') true -4.5
|
||||
math.max('5.5',2.2) true 5.5
|
||||
math.max('-5',-2.2) true -2.2
|
||||
math.max(111,222,333) true 333
|
||||
math.max(-222,-333,-111) true -111
|
||||
math.max(444,-111,-222) true 444
|
||||
---------- math.min ----------
|
||||
math.min(4) true 4
|
||||
math.min(-4.5) true -4.5
|
||||
math.min('5.5') true 5.5
|
||||
math.min('-5') true -5
|
||||
math.min(4,'8') true 4
|
||||
math.min(-4.5,'-8') true -8
|
||||
math.min('5.5',2.2) true 2.2
|
||||
math.min('-5',-2.2) true -5
|
||||
math.min(111,222,333) true 111
|
||||
math.min(-222,-333,-111) true -333
|
||||
math.min(444,-111,-222) true -222
|
||||
----------- Random number tests
|
||||
math.random() number true
|
||||
math.random() number true
|
||||
math.random() number true
|
||||
math.random() number true
|
||||
math.random() number true
|
||||
math.random(5,10) number true
|
||||
math.random(5,10) number true
|
||||
math.random(5,10) number true
|
||||
math.random(5,10) number true
|
||||
math.random(5,10) number true
|
||||
math.random(30) number true
|
||||
math.random(30) number true
|
||||
math.random(30) number true
|
||||
math.random(30) number true
|
||||
math.random(30) number true
|
||||
math.random(-4,-2) number true
|
||||
math.random(-4,-2) number true
|
||||
math.random(-4,-2) number true
|
||||
math.random(-4,-2) number true
|
||||
math.random(-4,-2) number true
|
||||
|
||||
-- comparing new numbers
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
-- resetting seed
|
||||
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
----------- Tests involving -0 and NaN
|
||||
0 == -0 true
|
||||
t[-0] == t[0] true
|
||||
mz, z <zero> <zero>
|
||||
mz == z true
|
||||
a[z] == 1 and a[mz] == 1 true
|
||||
@@ -19,15 +19,29 @@ os.date('%A', 1281364496) true string nil
|
||||
os.date('%b', 1281364496) true string nil
|
||||
os.date('%B', 1281364496) true string nil
|
||||
os.date('%c', 1281364496) true string nil
|
||||
os.date('%C', 1281364496) true string nil
|
||||
os.date('%d', 1281364496) true string nil
|
||||
os.date('%D', 1281364496) true string nil
|
||||
os.date('%e', 1281364496) true string nil
|
||||
os.date('%F', 1281364496) true string nil
|
||||
os.date('%g', 1281364496) true string nil
|
||||
os.date('%G', 1281364496) true string nil
|
||||
os.date('%h', 1281364496) true string nil
|
||||
os.date('%H', 1281364496) true string nil
|
||||
os.date('%I', 1281364496) true string nil
|
||||
os.date('%j', 1281364496) true string nil
|
||||
os.date('%m', 1281364496) true string nil
|
||||
os.date('%M', 1281364496) true string nil
|
||||
os.date('%n', 1281364496) true string nil
|
||||
os.date('%p', 1281364496) true string nil
|
||||
os.date('%r', 1281364496) true string nil
|
||||
os.date('%R', 1281364496) true string nil
|
||||
os.date('%S', 1281364496) true string nil
|
||||
os.date('%t', 1281364496) true string nil
|
||||
os.date('%T', 1281364496) true string nil
|
||||
os.date('%u', 1281364496) true string nil
|
||||
os.date('%U', 1281364496) true string nil
|
||||
os.date('%V', 1281364496) true string nil
|
||||
os.date('%w', 1281364496) true string nil
|
||||
os.date('%W', 1281364496) true string nil
|
||||
os.date('%x', 1281364496) true string nil
|
||||
@@ -35,15 +49,16 @@ os.date('%X', 1281364496) true string nil
|
||||
os.date('%y', 1281364496) true string nil
|
||||
os.date('%Y', 1281364496) true string nil
|
||||
os.date('%z', 1281364496) true string nil
|
||||
os.date('%Z', 1281364496) true string nil
|
||||
k string year v number 2010
|
||||
k string month v number 8
|
||||
k string day v number 9
|
||||
k string hour v number 7
|
||||
k string hour v number 16
|
||||
k string min v number 34
|
||||
k string sec v number 56
|
||||
k string wday v number 2
|
||||
k string yday v number 221
|
||||
k string isdst v boolean true
|
||||
type(os.time()) number
|
||||
os.time({year=1971, month=2, day=25}) 36360000
|
||||
os.time({year=1971, month=2, day=25, hour=11, min=22, sec=33}) 36357753
|
||||
os.time({year=1971, month=2, day=25}) 36327600
|
||||
os.time({year=1971, month=2, day=25, hour=11, min=22, sec=33}) 36325353
|
||||
@@ -1,5 +1,4 @@
|
||||
2
|
||||
7
|
||||
-- concat tests
|
||||
onetwothree
|
||||
one--two--three
|
||||
@@ -26,7 +25,6 @@ two
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=three,[5]=six,[a]=aaa,[b]=bbb,[c]=ccc} 5
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=eight,[5]=three,[6]=six,[a]=aaa,[b]=bbb,[c]=ccc} 6
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=eight,[5]=three,[6]=six,[7]=nine,[a]=aaa,[b]=bbb,[c]=ccc} 7
|
||||
{[10]=ten,[1]=seven,[2]=one,[3]=two,[4]=eight,[5]=three,[6]=six,[7]=nine,[a]=aaa,[b]=bbb,[c]=ccc} 7
|
||||
#{} 0
|
||||
#{"a"} 1
|
||||
#{"a","b"} 2
|
||||
@@ -49,13 +47,7 @@ table.remove(t,1) one
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=four,[4]=five,[5]=six,[a]=aaa,[b]=bbb,[c]=ccc} 5
|
||||
table.remove(t,3) four
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
table.remove(t,5)
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
table.remove(t,10)
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
table.remove(t,-1)
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
table.remove(t,-1)
|
||||
table.remove(t,5) nil
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
-- sort tests
|
||||
one-two-three
|
||||
240
luaj-test/src/test/resources/compatibility/jse/baselib.out
Normal file
240
luaj-test/src/test/resources/compatibility/jse/baselib.out
Normal file
@@ -0,0 +1,240 @@
|
||||
|
||||
11
|
||||
abc 123 nil pqr
|
||||
F
|
||||
F
|
||||
T
|
||||
assert(true) true
|
||||
pcall(assert,true) true
|
||||
pcall(assert,false) false string
|
||||
pcall(assert,nil) false string
|
||||
pcall(assert,true,"msg") true
|
||||
pcall(assert,false,"msg") false string
|
||||
pcall(assert,nil,"msg") false string
|
||||
pcall(assert,false,"msg","msg2") false string
|
||||
collectgarbage("count") number
|
||||
collectgarbage("collect") number
|
||||
collectgarbage("count") number
|
||||
pcall(ipairs) false string
|
||||
pcall(ipairs,nil) false string
|
||||
pcall(ipairs,"a") false string
|
||||
pcall(ipairs,1) false string
|
||||
ipairs2 1 one
|
||||
ipairs2 2 two
|
||||
ipairs4 1 one
|
||||
ipairs4 2 two
|
||||
table loaded
|
||||
load: nil
|
||||
load("print(3+4); return 8") func.1 nil
|
||||
7
|
||||
load("print(3+4); return 8")() 8
|
||||
pcall(pairs) false string
|
||||
pcall(pairs,nil) false string
|
||||
pcall(pairs,"a") false string
|
||||
pcall(pairs,1) false string
|
||||
pairs2 1 one
|
||||
pairs2 2 two
|
||||
pairs3 aa aaa
|
||||
pairs4 1 one
|
||||
pairs4 2 two
|
||||
pairs4 aa aaa
|
||||
pairs5 20 30
|
||||
pairs5 30 20
|
||||
_G["abc"] (before) nil
|
||||
_G["abc"] (after) def
|
||||
type(nil) nil
|
||||
type("a") string
|
||||
type(1) number
|
||||
type(1.5) number
|
||||
type(function() end) function
|
||||
type({}) table
|
||||
type(true) boolean
|
||||
type(false) boolean
|
||||
pcall(type,type) function
|
||||
pcall(type) false string
|
||||
(function() return pcall(type) end)() false string
|
||||
la() false string
|
||||
ga() false string
|
||||
getmetatable(ta) nil
|
||||
getmetatable(tb) nil
|
||||
setmetatable(ta),{cc1="ccc1"} table
|
||||
setmetatable(tb),{dd1="ddd1"} table
|
||||
getmetatable(ta)["cc1"] ccc1
|
||||
getmetatable(tb)["dd1"] ddd1
|
||||
getmetatable(1) nil
|
||||
pcall(setmetatable,1) false string
|
||||
pcall(setmetatable,nil) false string
|
||||
pcall(setmetatable,"ABC") false string
|
||||
pcall(setmetatable,function() end) false string
|
||||
pcall(rawget) false string
|
||||
pcall(rawget,"a") false string
|
||||
pcall(rawget,s) false string
|
||||
pcall(rawget,t) false string
|
||||
s nil nil ccc ddd nil nil nil
|
||||
s nil nil ccc ddd nil nil nil
|
||||
t aaa bbb ccc ddd nil nil nil
|
||||
t nil nil ccc ddd nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawset,s,"aa","www") tbl.2
|
||||
s www nil ccc ddd nil nil nil
|
||||
s www nil ccc ddd nil nil nil
|
||||
t aaa bbb ccc ddd nil nil nil
|
||||
t nil nil ccc ddd nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawset,s,"cc","xxx") tbl.2
|
||||
s www nil xxx ddd nil nil nil
|
||||
s www nil xxx ddd nil nil nil
|
||||
t aaa bbb ccc ddd nil nil nil
|
||||
t nil nil ccc ddd nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawset,t,"aa","yyy") tbl.3
|
||||
s www nil xxx ddd nil nil nil
|
||||
s www nil xxx ddd nil nil nil
|
||||
t yyy bbb ccc ddd nil nil nil
|
||||
t yyy nil ccc ddd nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawset,t,"dd","zzz") tbl.3
|
||||
s www nil xxx ddd nil nil nil
|
||||
s www nil xxx ddd nil nil nil
|
||||
t yyy bbb ccc zzz nil nil nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawlen, {}) 0
|
||||
pcall(rawlen, {"a"}) 1
|
||||
pcall(rawlen, {"a","b"}) 2
|
||||
pcall(rawlen, "") 0
|
||||
pcall(rawlen, "a") 1
|
||||
pcall(rawlen, "ab") 2
|
||||
pcall(rawlen, 1) false string
|
||||
pcall(rawlen, nil) false string
|
||||
pcall(rawlen) false string
|
||||
s www nil xxx ddd nil nil nil
|
||||
s www nil xxx ddd nil nil nil
|
||||
t yyy bbb ccc zzz nil nil nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
s["ee"]="ppp"
|
||||
s www nil xxx ddd ppp nil nil
|
||||
s www nil xxx ddd ppp nil nil
|
||||
t yyy bbb ccc zzz nil nil nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
s["cc"]="qqq"
|
||||
s www nil qqq ddd ppp nil nil
|
||||
s www nil qqq ddd ppp nil nil
|
||||
t yyy bbb ccc zzz nil nil nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
t["ff"]="rrr"
|
||||
s www nil qqq ddd ppp nil nil
|
||||
s www nil qqq ddd ppp nil nil
|
||||
t yyy bbb ccc zzz nil rrr nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil rrr nil
|
||||
mt aaa bbb nil nil nil rrr nil
|
||||
t["dd"]="sss"
|
||||
s www nil qqq ddd ppp nil nil
|
||||
s www nil qqq ddd ppp nil nil
|
||||
t yyy bbb ccc sss nil rrr nil
|
||||
t yyy nil ccc sss nil nil nil
|
||||
mt aaa bbb nil nil nil rrr nil
|
||||
mt aaa bbb nil nil nil rrr nil
|
||||
mt["gg"]="ttt"
|
||||
s www nil qqq ddd ppp nil nil
|
||||
s www nil qqq ddd ppp nil nil
|
||||
t yyy bbb ccc sss nil rrr ttt
|
||||
t yyy nil ccc sss nil nil nil
|
||||
mt aaa bbb nil nil nil rrr ttt
|
||||
mt aaa bbb nil nil nil rrr ttt
|
||||
pcall(select) false string
|
||||
select(1,11,22,33,44,55) 11 22 33 44 55
|
||||
select(2,11,22,33,44,55) 22 33 44 55
|
||||
select(3,11,22,33,44,55) 33 44 55
|
||||
select(4,11,22,33,44,55) 44 55
|
||||
pcall(select,5,11,22,33,44,55) 55
|
||||
pcall(select,6,11,22,33,44,55) nil
|
||||
pcall(select,7,11,22,33,44,55) nil
|
||||
pcall(select,0,11,22,33,44,55) false string
|
||||
pcall(select,-1,11,22,33,44,55) 55
|
||||
pcall(select,-2,11,22,33,44,55) 44
|
||||
pcall(select,-4,11,22,33,44,55) 22
|
||||
pcall(select,-5,11,22,33,44,55) 11
|
||||
pcall(select,-6,11,22,33,44,55) false string
|
||||
pcall(select,1) nil
|
||||
pcall(select,select) false string
|
||||
pcall(select,{}) false string
|
||||
pcall(select,"2",11,22,33) 22
|
||||
pcall(select,"abc",11,22,33) false string
|
||||
pcall(tonumber) nil
|
||||
pcall(tonumber,nil) nil
|
||||
pcall(tonumber,"abc") nil
|
||||
pcall(tonumber,"123") 123
|
||||
pcall(tonumber,"123",10) 123
|
||||
pcall(tonumber,"123",8) 83
|
||||
pcall(tonumber,"123",6) 51
|
||||
pcall(tonumber,"10101",4) 273
|
||||
pcall(tonumber,"10101",3) 91
|
||||
pcall(tonumber,"10101",2) 21
|
||||
pcall(tonumber,"1a1",16) 417
|
||||
pcall(tonumber,"1a1",32) 1345
|
||||
pcall(tonumber,"1a1",54) false string
|
||||
pcall(tonumber,"1a1",1) false string
|
||||
pcall(tonumber,"1a1",0) false string
|
||||
pcall(tonumber,"1a1",-1) false string
|
||||
pcall(tonumber,"1a1","32") 1345
|
||||
pcall(tonumber,"123","456") false string
|
||||
pcall(tonumber,"1a1",10) nil
|
||||
pcall(tonumber,"151",4) nil
|
||||
pcall(tonumber,"151",3) nil
|
||||
pcall(tonumber,"151",2) nil
|
||||
pcall(tonumber,"123",8,8) 83
|
||||
pcall(tonumber,123) 123
|
||||
pcall(tonumber,true) nil
|
||||
pcall(tonumber,false) nil
|
||||
pcall(tonumber,tonumber) nil
|
||||
pcall(tonumber,function() end) nil
|
||||
pcall(tonumber,{"one","two",a="aa",b="bb"}) nil
|
||||
pcall(tonumber,"123.456") 123.456
|
||||
pcall(tonumber," 123.456") 123.456
|
||||
pcall(tonumber," 234qwer") nil
|
||||
pcall(tonumber,"0x20") 32
|
||||
pcall(tonumber," 0x20") 32
|
||||
pcall(tonumber,"0x20 ") 32
|
||||
pcall(tonumber," 0x20 ") 32
|
||||
pcall(tonumber,"0X20") 32
|
||||
pcall(tonumber," 0X20") 32
|
||||
pcall(tonumber,"0X20 ") 32
|
||||
pcall(tonumber," 0X20 ") 32
|
||||
pcall(tonumber,"0x20",10) nil
|
||||
pcall(tonumber,"0x20",16) nil
|
||||
pcall(tonumber,"0x20",8) nil
|
||||
pcall(tostring) nil
|
||||
pcall(tostring,nil) nil
|
||||
pcall(tostring,"abc") abc
|
||||
pcall(tostring,"abc","def") abc
|
||||
pcall(tostring,123) 123
|
||||
pcall(tostring,true) true
|
||||
pcall(tostring,false) false
|
||||
tostring(tostring) string
|
||||
tostring(function() end) string
|
||||
tostring({"one","two",a="aa",b="bb"}) string
|
||||
_VERSION string
|
||||
pcall(badfunc) false string
|
||||
pcall(badfunc,errfunc) false string
|
||||
pcall(badfunc,badfunc) false string
|
||||
pcall(wrappedbad) nil
|
||||
pcall(wrappedbad,errfunc) nil
|
||||
pcall(xpcall(badfunc)) false string
|
||||
in errfunc string
|
||||
pcall(xpcall(badfunc,errfunc)) false
|
||||
pcall(xpcall(badfunc,badfunc)) false
|
||||
pcall(xpcall(wrappedbad)) false string
|
||||
xpcall(wrappedbad,errfunc) true
|
||||
@@ -0,0 +1,99 @@
|
||||
running is not nil
|
||||
co.status suspended
|
||||
co-body 1 10
|
||||
foo 2
|
||||
main true 4
|
||||
co.status suspended
|
||||
co-body r
|
||||
main true 11 -9
|
||||
co.status suspended
|
||||
co-body x y
|
||||
running is not nil
|
||||
co.status.inside running
|
||||
co.status.inside running
|
||||
co.status.inside2 normal
|
||||
main true 10 end
|
||||
co.status dead
|
||||
main false cannot resume dead coroutine
|
||||
co.status dead
|
||||
running is not nil
|
||||
co.status suspended
|
||||
co-body 1 10
|
||||
foo 2
|
||||
main true 4
|
||||
co.status suspended
|
||||
co-body nil nil
|
||||
main true 11 -9
|
||||
co.status suspended
|
||||
co-body x y
|
||||
main true 10 end
|
||||
co.status dead
|
||||
main false cannot resume dead coroutine
|
||||
co.status dead
|
||||
co-body 1 10
|
||||
foo 2
|
||||
g 4
|
||||
co-body r
|
||||
g 11 -9
|
||||
co-body x y
|
||||
g 10 end
|
||||
g cannot resume dead coroutine
|
||||
(main) sending args 111 222 333
|
||||
(echocr) first args 111 222 333
|
||||
(main) resume returns true 111 222 333
|
||||
(main) sending args
|
||||
(echoch) yield returns
|
||||
(main) resume returns true
|
||||
(main) sending args 111
|
||||
(echoch) yield returns 111
|
||||
(main) resume returns true 111
|
||||
(main) sending args 111 222 333
|
||||
(echoch) yield returns 111 222 333
|
||||
(main) resume returns true 111 222 333
|
||||
main-b suspended
|
||||
main-c suspended
|
||||
b-resumed main-arg-for-b true
|
||||
b-b running
|
||||
b-c suspended
|
||||
b-resume-b false cannot resume non-suspended coroutine
|
||||
c-resumed b-arg-for-c true
|
||||
c-b normal
|
||||
c-c running
|
||||
c-resume-b false cannot resume non-suspended coroutine
|
||||
c-resume-c false cannot resume non-suspended coroutine
|
||||
b-resume-c true c-rslt
|
||||
main-resume-b true b-rslt
|
||||
c-resumed main-arg-for-c true
|
||||
c-b suspended
|
||||
c-c running
|
||||
b-resumed b-arg-for-b true
|
||||
b-b running
|
||||
b-c normal
|
||||
b-resume-b false cannot resume non-suspended coroutine
|
||||
b-resume-c false cannot resume non-suspended coroutine
|
||||
c-resume-b true b-rslt
|
||||
c-resume-c false cannot resume non-suspended coroutine
|
||||
main-resume-c true c-rslt
|
||||
main-b suspended
|
||||
main-c suspended
|
||||
b-resumed main-arg-for-b true
|
||||
b-b running
|
||||
b-c suspended
|
||||
b-resume-b false cannot resume non-suspended coroutine
|
||||
c-resumed b-arg-for-c true
|
||||
c-b normal
|
||||
c-c running
|
||||
c-resume-b false cannot resume non-suspended coroutine
|
||||
c-resume-c false cannot resume non-suspended coroutine
|
||||
b-resume-c true c-rslt
|
||||
main-resume-b true b-rslt
|
||||
main-resume-c true
|
||||
main-b suspended
|
||||
main-c dead
|
||||
b-resumed main-arg-for-b true
|
||||
b-b running
|
||||
b-c dead
|
||||
b-resume-b false cannot resume non-suspended coroutine
|
||||
b-resume-c false cannot resume dead coroutine
|
||||
main-resume-b true b-rslt
|
||||
main-resume-c false cannot resume dead coroutine
|
||||
@@ -61,18 +61,18 @@ a.a=bbb a.b=nil b.a=nil b.b=nil
|
||||
a.a=bbb a.b=ccc b.a=nil b.b=nil
|
||||
boolean table nil table
|
||||
boolean nil nil nil
|
||||
boolean boolean nil nil
|
||||
boolean table nil nil
|
||||
a.a=bbb a.b=nil b.a=nil b.b=nil
|
||||
boolean nil nil nil
|
||||
get=true,true,nil
|
||||
set=true,false,nil
|
||||
set=true,true,nil
|
||||
get=true,true,nil
|
||||
get=true,true,nil
|
||||
set=true,false,nil
|
||||
set=true,true,nil
|
||||
get=true,true,nil
|
||||
true nil
|
||||
true true
|
||||
true true
|
||||
true 1
|
||||
true 1
|
||||
----- debug.getinfo
|
||||
6
|
||||
---
|
||||
@@ -83,7 +83,7 @@ debug.getinfo(1)
|
||||
currentline: 144
|
||||
linedefined: 141
|
||||
lastlinedefined: 155
|
||||
nups: 4
|
||||
nups: 5
|
||||
func: function
|
||||
debug.getinfo(1,"")
|
||||
debug.getinfo(1,"l")
|
||||
@@ -98,7 +98,7 @@ debug.getinfo(2)
|
||||
currentline: 157
|
||||
linedefined: 135
|
||||
lastlinedefined: 159
|
||||
nups: 5
|
||||
nups: 6
|
||||
func: function
|
||||
debug.getinfo(2,"l")
|
||||
currentline: 157
|
||||
@@ -162,7 +162,7 @@ true
|
||||
currentline: -1
|
||||
linedefined: 141
|
||||
lastlinedefined: 155
|
||||
nups: 4
|
||||
nups: 5
|
||||
func: function
|
||||
debug.getinfo(test)
|
||||
true
|
||||
@@ -172,18 +172,22 @@ true
|
||||
currentline: -1
|
||||
linedefined: 135
|
||||
lastlinedefined: 159
|
||||
nups: 5
|
||||
nups: 6
|
||||
func: function
|
||||
----- debug.sethook, debug.gethook
|
||||
... in hook call nil
|
||||
info[2]=debuglib.lua,174
|
||||
info[2]=debuglib.lua,177
|
||||
... in hook call nil
|
||||
info[2]=debuglib.lua,175
|
||||
info[2]=debuglib.lua,176
|
||||
... in hook call nil
|
||||
info[2]=[C],-1
|
||||
... in hook call nil
|
||||
info[2]=[C],-1
|
||||
hook = c -> result=true,nil,nil,nil,false,false,nil
|
||||
... in hook return nil
|
||||
info[2]=[C],-1
|
||||
... in hook return nil
|
||||
info[2]=[C],-1
|
||||
hook = r -> result=true,nil,nil,nil,false,false,nil
|
||||
... in hook line 192
|
||||
info[2]=debuglib.lua,192
|
||||
@@ -196,19 +200,23 @@ hook = r -> result=true,nil,nil,nil,false,false,nil
|
||||
... in hook line 195
|
||||
info[2]=debuglib.lua,195
|
||||
hook = l -> result=true,nil,nil,nil,false,false,nil
|
||||
... in hook return nil
|
||||
info[2]=[C],-1
|
||||
... in hook line 192
|
||||
info[2]=debuglib.lua,192
|
||||
... in hook call nil
|
||||
info[2]=debuglib.lua,174
|
||||
info[2]=debuglib.lua,177
|
||||
... in hook line 177
|
||||
info[2]=debuglib.lua,177
|
||||
... in hook line 178
|
||||
info[2]=debuglib.lua,178
|
||||
... in hook call nil
|
||||
info[2]=debuglib.lua,175
|
||||
info[2]=debuglib.lua,176
|
||||
... in hook line 176
|
||||
info[2]=debuglib.lua,176
|
||||
... in hook call nil
|
||||
info[2]=[C],-1
|
||||
... in hook return nil
|
||||
info[2]=[C],-1
|
||||
... in hook line 195
|
||||
info[2]=debuglib.lua,195
|
||||
@@ -229,7 +237,7 @@ stack traceback:
|
||||
debuglib.lua:238: in function <debuglib.lua:214>
|
||||
[C]: in function 'pcall'
|
||||
debuglib.lua:240: in main chunk
|
||||
[C]: at 0x55eaaf4e2f20
|
||||
[C]: in ?
|
||||
----- debug.upvalueid
|
||||
debug.getupvalue(a1,1) x 100
|
||||
debug.getupvalue(a1,2) y 200
|
||||
97
luaj-test/src/test/resources/compatibility/jse/errors.out
Normal file
97
luaj-test/src/test/resources/compatibility/jse/errors.out
Normal file
@@ -0,0 +1,97 @@
|
||||
a(error) false nil
|
||||
a(error,"msg") false string
|
||||
a(error,"msg",0) false string
|
||||
a(error,"msg",1) false string
|
||||
a(error,"msg",2) false string
|
||||
a(error,"msg",3) false string
|
||||
a(error,"msg",4) false string
|
||||
a(error,"msg",5) false string
|
||||
a(error,"msg",6) false string
|
||||
a(nil()) false string
|
||||
a(t()) false string
|
||||
a(s()) false string
|
||||
a(true()) false string
|
||||
a(nil+1) false string
|
||||
a(a+1) false string
|
||||
a(s+1) false string
|
||||
a(true+1) false string
|
||||
a(nil.x) false string
|
||||
a(a.x) false string
|
||||
a(s.x) true nil
|
||||
a(true.x) false string
|
||||
a(nil.x=5) false string
|
||||
a(a.x=5) false string
|
||||
a(s.x=5) false string
|
||||
a(true.x=5) false string
|
||||
a(#nil) false string
|
||||
a(#t) true 0
|
||||
a(#s) true 11
|
||||
a(#a) false string
|
||||
a(#true) false string
|
||||
a(nil>1) false string
|
||||
a(a>1) false string
|
||||
a(s>1) false string
|
||||
a(true>1) false string
|
||||
a(-nil) false string
|
||||
a(-a) false string
|
||||
a(-s) false string
|
||||
a(-true) false string
|
||||
-------- string concatenation
|
||||
"a".."b" true
|
||||
"a"..nil false
|
||||
nil.."b" false
|
||||
"a"..{} false
|
||||
{}.."b" false
|
||||
"a"..2 true
|
||||
2.."b" true
|
||||
"a"..print false
|
||||
print.."b" false
|
||||
"a"..true false
|
||||
true.."b" false
|
||||
nil..true false
|
||||
"a"..3.5 true
|
||||
3.5.."b" true
|
||||
-------- table concatenation
|
||||
"a".."b" true
|
||||
"a"..nil false
|
||||
nil.."b" false
|
||||
"a"..{} false
|
||||
{}.."b" false
|
||||
"a"..2 true
|
||||
2.."b" true
|
||||
"a"..print false
|
||||
print.."b" false
|
||||
"a"..true false
|
||||
true.."b" false
|
||||
nil..true false
|
||||
"a"..3.5 true
|
||||
3.5.."b" true
|
||||
-------- pairs tests
|
||||
a(pairs(nil)) false string
|
||||
a(pairs(a)) false string
|
||||
a(pairs(s)) false string
|
||||
a(pairs(t)) true func.1
|
||||
a(pairs(true)) false string
|
||||
-------- setmetatable tests
|
||||
a(setmetatable(nil)) false string
|
||||
a(setmetatable(a)) false string
|
||||
a(setmetatable(s)) false string
|
||||
a(setmetatable(true)) false string
|
||||
a(setmetatable(t)) true tbl.2
|
||||
a(getmetatable(t)) true tbl.3
|
||||
a(setmetatable(t*)) true tbl.2
|
||||
a(getmetatable(t)) true tbl.4
|
||||
a(setmetatable(t)) false string
|
||||
a(getmetatable(t)) true tbl.4
|
||||
a(setmetatable(t)) true tbl.5
|
||||
a(getmetatable(t)) true tbl.6
|
||||
a(setmetatable(t*)) true tbl.5
|
||||
a(getmetatable(t)) true some string
|
||||
a(setmetatable(t)) false string
|
||||
a(getmetatable(t)) true some string
|
||||
a(setmetatable(t,nil)) false string
|
||||
a(setmetatable(t)) false string
|
||||
a(setmetatable({},"abc")) false string
|
||||
error("msg","arg") false string
|
||||
loadfile("bogus.txt") true nil
|
||||
dofile("bogus.txt") false string
|
||||
68
luaj-test/src/test/resources/compatibility/jse/functions.out
Normal file
68
luaj-test/src/test/resources/compatibility/jse/functions.out
Normal file
@@ -0,0 +1,68 @@
|
||||
f0:
|
||||
f0:
|
||||
f0:
|
||||
f0:
|
||||
f0:
|
||||
f1: nil
|
||||
f1: a1/1
|
||||
f1: a1/2
|
||||
f1: a1/3
|
||||
f1: a1/4
|
||||
f2: nil nil
|
||||
f2: a1/1 nil
|
||||
f2: a1/2 a2/2
|
||||
f2: a1/3 a2/3
|
||||
f2: a1/4 a2/4
|
||||
f3: nil nil nil
|
||||
f3: a1/1 nil nil
|
||||
f3: a1/2 a2/2 nil
|
||||
f3: a1/3 a2/3 a3/3
|
||||
f3: a1/4 a2/4 a3/4
|
||||
f4: nil nil nil nil
|
||||
f4: a1/1 nil nil nil
|
||||
f4: a1/2 a2/2 nil nil
|
||||
f4: a1/3 a2/3 a3/3 nil
|
||||
f4: a1/4 a2/4 a3/4 a4/4
|
||||
z0: nil
|
||||
z2: c2.3/4
|
||||
z4: c4.1/4
|
||||
g0: nil nil nil nil (eol)
|
||||
g2: b2.3/4 b2.4/4 nil nil (eol)
|
||||
g4: b4.1/4 b4.2/4 b4.3/4 b4.4/4 (eol)
|
||||
11 12 13
|
||||
23 22 21
|
||||
32 45 58
|
||||
a nil
|
||||
...
|
||||
...,a nil nil
|
||||
a,... nil
|
||||
a q
|
||||
...
|
||||
...,a nil q
|
||||
a,... q
|
||||
a q
|
||||
... r
|
||||
...,a r q
|
||||
a,... q r
|
||||
a q
|
||||
... r s
|
||||
...,a r q
|
||||
a,... q r s
|
||||
third abc nil | nil nil nil
|
||||
third def nil | nil nil nil
|
||||
third def nil | nil nil nil
|
||||
third abc p | p nil nil
|
||||
third def nil | p nil nil
|
||||
third def nil | p nil nil
|
||||
third abc p | p q nil
|
||||
third def q | p q nil
|
||||
third def q | p q nil
|
||||
third abc p | p q r
|
||||
third def q | p q r
|
||||
third def q | p q r
|
||||
third abc p | p q r
|
||||
third def q | p q r
|
||||
third def q | p q r
|
||||
third abc nil | nil nil nil
|
||||
third def nil | nil nil nil
|
||||
third def nil | nil nil nil
|
||||
1981
luaj-test/src/test/resources/compatibility/jse/manyupvals.out
Normal file
1981
luaj-test/src/test/resources/compatibility/jse/manyupvals.out
Normal file
File diff suppressed because it is too large
Load Diff
842
luaj-test/src/test/resources/compatibility/jse/mathlib.out
Normal file
842
luaj-test/src/test/resources/compatibility/jse/mathlib.out
Normal file
@@ -0,0 +1,842 @@
|
||||
---------- miscellaneous tests ----------
|
||||
math.sin( 0.0 ) true <zero>
|
||||
math.cos( math.pi ) true -1
|
||||
math.sqrt( 9.0 ) true 3
|
||||
math.modf( 5.25 ) true 5 0.25
|
||||
math.frexp(0.00625) true 0.8 -7
|
||||
-5 ^ 2 true -25
|
||||
-5 / 2 true -2.5
|
||||
-5 % 2 true 1
|
||||
---------- constants ----------
|
||||
math.huge true <pos-inf>
|
||||
math.pi true 3.1415
|
||||
---------- unary operator - ----------
|
||||
--2.5 true
|
||||
--2 true
|
||||
-0 true <zero>
|
||||
-2 true -2
|
||||
-2.5 true -2.5
|
||||
-'-2.5' true 2.5
|
||||
-'-2' true 2
|
||||
-'0' true <zero>
|
||||
-'2' true -2
|
||||
-'2.5' true -2.5
|
||||
---------- unary operator not ----------
|
||||
not -2.5 true false
|
||||
not -2 true false
|
||||
not 0 true false
|
||||
not 2 true false
|
||||
not 2.5 true false
|
||||
not '-2.5' true false
|
||||
not '-2' true false
|
||||
not '0' true false
|
||||
not '2' true false
|
||||
not '2.5' true false
|
||||
---------- binary operator + ----------
|
||||
2+0 true 2
|
||||
-2.5+0 true -2.5
|
||||
2+1 true 3
|
||||
5+2 true 7
|
||||
-5+2 true -3
|
||||
16+2 true 18
|
||||
-16+-2 true -18
|
||||
0.5+0 true 0.5
|
||||
0.5+1 true 1.5
|
||||
0.5+2 true 2.5
|
||||
0.5+-1 true -0.5
|
||||
0.5+2 true 2.5
|
||||
2.25+0 true 2.25
|
||||
2.25+2 true 4.25
|
||||
-2+0 true -2
|
||||
3+3 true 6
|
||||
'2'+'0' true 2
|
||||
'2.5'+'3' true 5.5
|
||||
'-2'+'1.5' true -0.5
|
||||
'-2.5'+'-1.5' true -4
|
||||
'3.0'+'3.0' true 6
|
||||
2.75+2.75 true 5.5
|
||||
'2.75'+'2.75' true 5.5
|
||||
3+'3' true 6
|
||||
'3'+3 true 6
|
||||
2.75+'2.75' true 5.5
|
||||
'2.75'+2.75 true 5.5
|
||||
-3+'-4' true -7
|
||||
'-3'+4 true 1
|
||||
-3+'4' true 1
|
||||
'-3'+-4 true -7
|
||||
-4.75+'2.75' true -2
|
||||
'-2.75'+1.75 true -1
|
||||
4.75+'-2.75' true 2
|
||||
'2.75'+-1.75 true 1
|
||||
---------- binary operator - ----------
|
||||
2-0 true 2
|
||||
-2.5-0 true -2.5
|
||||
2-1 true 1
|
||||
5-2 true 3
|
||||
-5-2 true -7
|
||||
16-2 true 14
|
||||
-16--2 true -14
|
||||
0.5-0 true 0.5
|
||||
0.5-1 true -0.5
|
||||
0.5-2 true -1.5
|
||||
0.5--1 true 1.5
|
||||
0.5-2 true -1.5
|
||||
2.25-0 true 2.25
|
||||
2.25-2 true 0.25
|
||||
-2-0 true -2
|
||||
3-3 true <zero>
|
||||
'2'-'0' true 2
|
||||
'2.5'-'3' true -0.5
|
||||
'-2'-'1.5' true -3.5
|
||||
'-2.5'-'-1.5' true -1
|
||||
'3.0'-'3.0' true <zero>
|
||||
2.75-2.75 true <zero>
|
||||
'2.75'-'2.75' true <zero>
|
||||
3-'3' true <zero>
|
||||
'3'-3 true <zero>
|
||||
2.75-'2.75' true <zero>
|
||||
'2.75'-2.75 true <zero>
|
||||
-3-'-4' true 1
|
||||
'-3'-4 true -7
|
||||
-3-'4' true -7
|
||||
'-3'--4 true 1
|
||||
-4.75-'2.75' true -7.5
|
||||
'-2.75'-1.75 true -4.5
|
||||
4.75-'-2.75' true 7.5
|
||||
'2.75'--1.75 true 4.5
|
||||
---------- binary operator * ----------
|
||||
2*0 true <zero>
|
||||
-2.5*0 true <zero>
|
||||
2*1 true 2
|
||||
5*2 true 10
|
||||
-5*2 true -10
|
||||
16*2 true 32
|
||||
-16*-2 true 32
|
||||
0.5*0 true <zero>
|
||||
0.5*1 true 0.5
|
||||
0.5*2 true 1
|
||||
0.5*-1 true -0.5
|
||||
0.5*2 true 1
|
||||
2.25*0 true <zero>
|
||||
2.25*2 true 4.5
|
||||
-2*0 true <zero>
|
||||
3*3 true 9
|
||||
'2'*'0' true <zero>
|
||||
'2.5'*'3' true 7.5
|
||||
'-2'*'1.5' true -3
|
||||
'-2.5'*'-1.5' true 3.75
|
||||
'3.0'*'3.0' true 9
|
||||
2.75*2.75 true 7.5625
|
||||
'2.75'*'2.75' true 7.5625
|
||||
3*'3' true 9
|
||||
'3'*3 true 9
|
||||
2.75*'2.75' true 7.5625
|
||||
'2.75'*2.75 true 7.5625
|
||||
-3*'-4' true 12
|
||||
'-3'*4 true -12
|
||||
-3*'4' true -12
|
||||
'-3'*-4 true 12
|
||||
-4.75*'2.75' true -13.06
|
||||
'-2.75'*1.75 true -4.812
|
||||
4.75*'-2.75' true -13.06
|
||||
'2.75'*-1.75 true -4.812
|
||||
---------- binary operator ^ ----------
|
||||
2^0 true 1
|
||||
-2.5^0 true 1
|
||||
2^1 true 2
|
||||
5^2 true 25
|
||||
-5^2 true 25
|
||||
16^2 true 256
|
||||
-16^-2 true 0.0039
|
||||
0.5^0 true 1
|
||||
0.5^1 true 0.5
|
||||
0.5^2 true 0.25
|
||||
0.5^-1 true 2
|
||||
0.5^2 true 0.25
|
||||
2.25^0 true 1
|
||||
2.25^2 true 5.0625
|
||||
-2^0 true 1
|
||||
3^3 true 27
|
||||
'2'^'0' true 1
|
||||
'2.5'^'3' true 15.625
|
||||
'-2'^'1.5' true -nan
|
||||
'-2.5'^'-1.5' true -nan
|
||||
'3.0'^'3.0' true 27
|
||||
2.75^2.75 true 16.149
|
||||
'2.75'^'2.75' true 16.149
|
||||
3^'3' true 27
|
||||
'3'^3 true 27
|
||||
2.75^'2.75' true 16.149
|
||||
'2.75'^2.75 true 16.149
|
||||
-3^'-4' true 0.0123
|
||||
'-3'^4 true 81
|
||||
-3^'4' true 81
|
||||
'-3'^-4 true 0.0123
|
||||
-4.75^'2.75' true -nan
|
||||
'-2.75'^1.75 true -nan
|
||||
4.75^'-2.75' true 0.0137
|
||||
'2.75'^-1.75 true 0.1702
|
||||
---------- binary operator / ----------
|
||||
2/0 true <pos-inf>
|
||||
-2.5/0 true <neg-inf>
|
||||
2/1 true 2
|
||||
5/2 true 2.5
|
||||
-5/2 true -2.5
|
||||
16/2 true 8
|
||||
-16/-2 true 8
|
||||
0.5/0 true <pos-inf>
|
||||
0.5/1 true 0.5
|
||||
0.5/2 true 0.25
|
||||
0.5/-1 true -0.5
|
||||
0.5/2 true 0.25
|
||||
2.25/0 true <pos-inf>
|
||||
2.25/2 true 1.125
|
||||
-2/0 true <neg-inf>
|
||||
3/3 true 1
|
||||
'2'/'0' true <pos-inf>
|
||||
'2.5'/'3' true 0.8333
|
||||
'-2'/'1.5' true -1.333
|
||||
'-2.5'/'-1.5' true 1.6666
|
||||
'3.0'/'3.0' true 1
|
||||
2.75/2.75 true 1
|
||||
'2.75'/'2.75' true 1
|
||||
3/'3' true 1
|
||||
'3'/3 true 1
|
||||
2.75/'2.75' true 1
|
||||
'2.75'/2.75 true 1
|
||||
-3/'-4' true 0.75
|
||||
'-3'/4 true -0.75
|
||||
-3/'4' true -0.75
|
||||
'-3'/-4 true 0.75
|
||||
-4.75/'2.75' true -1.727
|
||||
'-2.75'/1.75 true -1.571
|
||||
4.75/'-2.75' true -1.727
|
||||
'2.75'/-1.75 true -1.571
|
||||
---------- binary operator % ----------
|
||||
2%0 true -nan
|
||||
-2.5%0 true -nan
|
||||
2%1 true <zero>
|
||||
5%2 true 1
|
||||
-5%2 true 1
|
||||
16%2 true <zero>
|
||||
-16%-2 true <zero>
|
||||
0.5%0 true -nan
|
||||
0.5%1 true 0.5
|
||||
0.5%2 true 0.5
|
||||
0.5%-1 true -0.5
|
||||
0.5%2 true 0.5
|
||||
2.25%0 true -nan
|
||||
2.25%2 true 0.25
|
||||
-2%0 true -nan
|
||||
3%3 true <zero>
|
||||
'2'%'0' true -nan
|
||||
'2.5'%'3' true 2.5
|
||||
'-2'%'1.5' true 1
|
||||
'-2.5'%'-1.5' true -1
|
||||
'3.0'%'3.0' true <zero>
|
||||
2.75%2.75 true <zero>
|
||||
'2.75'%'2.75' true <zero>
|
||||
3%'3' true <zero>
|
||||
'3'%3 true <zero>
|
||||
2.75%'2.75' true <zero>
|
||||
'2.75'%2.75 true <zero>
|
||||
-3%'-4' true -3
|
||||
'-3'%4 true 1
|
||||
-3%'4' true 1
|
||||
'-3'%-4 true -3
|
||||
-4.75%'2.75' true 0.75
|
||||
'-2.75'%1.75 true 0.75
|
||||
4.75%'-2.75' true -0.75
|
||||
'2.75'%-1.75 true -0.75
|
||||
---------- binary operator == ----------
|
||||
2==0 true false
|
||||
-2.5==0 true false
|
||||
2==1 true false
|
||||
5==2 true false
|
||||
-5==2 true false
|
||||
16==2 true false
|
||||
-16==-2 true false
|
||||
0.5==0 true false
|
||||
0.5==1 true false
|
||||
0.5==2 true false
|
||||
0.5==-1 true false
|
||||
0.5==2 true false
|
||||
2.25==0 true false
|
||||
2.25==2 true false
|
||||
-2==0 true false
|
||||
3==3 true true
|
||||
'2'=='0' true false
|
||||
'2.5'=='3' true false
|
||||
'-2'=='1.5' true false
|
||||
'-2.5'=='-1.5' true false
|
||||
'3.0'=='3.0' true true
|
||||
2.75==2.75 true true
|
||||
'2.75'=='2.75' true true
|
||||
---------- binary operator ~= ----------
|
||||
2~=0 true true
|
||||
-2.5~=0 true true
|
||||
2~=1 true true
|
||||
5~=2 true true
|
||||
-5~=2 true true
|
||||
16~=2 true true
|
||||
-16~=-2 true true
|
||||
0.5~=0 true true
|
||||
0.5~=1 true true
|
||||
0.5~=2 true true
|
||||
0.5~=-1 true true
|
||||
0.5~=2 true true
|
||||
2.25~=0 true true
|
||||
2.25~=2 true true
|
||||
-2~=0 true true
|
||||
3~=3 true false
|
||||
'2'~='0' true true
|
||||
'2.5'~='3' true true
|
||||
'-2'~='1.5' true true
|
||||
'-2.5'~='-1.5' true true
|
||||
'3.0'~='3.0' true false
|
||||
2.75~=2.75 true false
|
||||
'2.75'~='2.75' true false
|
||||
---------- binary operator > ----------
|
||||
2>0 true true
|
||||
-2.5>0 true false
|
||||
2>1 true true
|
||||
5>2 true true
|
||||
-5>2 true false
|
||||
16>2 true true
|
||||
-16>-2 true false
|
||||
0.5>0 true true
|
||||
0.5>1 true false
|
||||
0.5>2 true false
|
||||
0.5>-1 true true
|
||||
0.5>2 true false
|
||||
2.25>0 true true
|
||||
2.25>2 true true
|
||||
-2>0 true false
|
||||
3>3 true false
|
||||
'2'>'0' true true
|
||||
'2.5'>'3' true false
|
||||
'-2'>'1.5' true false
|
||||
'-2.5'>'-1.5' true true
|
||||
'3.0'>'3.0' true false
|
||||
2.75>2.75 true false
|
||||
'2.75'>'2.75' true false
|
||||
---------- binary operator < ----------
|
||||
2<0 true false
|
||||
-2.5<0 true true
|
||||
2<1 true false
|
||||
5<2 true false
|
||||
-5<2 true true
|
||||
16<2 true false
|
||||
-16<-2 true true
|
||||
0.5<0 true false
|
||||
0.5<1 true true
|
||||
0.5<2 true true
|
||||
0.5<-1 true false
|
||||
0.5<2 true true
|
||||
2.25<0 true false
|
||||
2.25<2 true false
|
||||
-2<0 true true
|
||||
3<3 true false
|
||||
'2'<'0' true false
|
||||
'2.5'<'3' true true
|
||||
'-2'<'1.5' true true
|
||||
'-2.5'<'-1.5' true false
|
||||
'3.0'<'3.0' true false
|
||||
2.75<2.75 true false
|
||||
'2.75'<'2.75' true false
|
||||
---------- binary operator >= ----------
|
||||
2>=0 true true
|
||||
-2.5>=0 true false
|
||||
2>=1 true true
|
||||
5>=2 true true
|
||||
-5>=2 true false
|
||||
16>=2 true true
|
||||
-16>=-2 true false
|
||||
0.5>=0 true true
|
||||
0.5>=1 true false
|
||||
0.5>=2 true false
|
||||
0.5>=-1 true true
|
||||
0.5>=2 true false
|
||||
2.25>=0 true true
|
||||
2.25>=2 true true
|
||||
-2>=0 true false
|
||||
3>=3 true true
|
||||
'2'>='0' true true
|
||||
'2.5'>='3' true false
|
||||
'-2'>='1.5' true false
|
||||
'-2.5'>='-1.5' true true
|
||||
'3.0'>='3.0' true true
|
||||
2.75>=2.75 true true
|
||||
'2.75'>='2.75' true true
|
||||
---------- binary operator <= ----------
|
||||
2<=0 true false
|
||||
-2.5<=0 true true
|
||||
2<=1 true false
|
||||
5<=2 true false
|
||||
-5<=2 true true
|
||||
16<=2 true false
|
||||
-16<=-2 true true
|
||||
0.5<=0 true false
|
||||
0.5<=1 true true
|
||||
0.5<=2 true true
|
||||
0.5<=-1 true false
|
||||
0.5<=2 true true
|
||||
2.25<=0 true false
|
||||
2.25<=2 true false
|
||||
-2<=0 true true
|
||||
3<=3 true true
|
||||
'2'<='0' true false
|
||||
'2.5'<='3' true true
|
||||
'-2'<='1.5' true true
|
||||
'-2.5'<='-1.5' true false
|
||||
'3.0'<='3.0' true true
|
||||
2.75<=2.75 true true
|
||||
'2.75'<='2.75' true true
|
||||
---------- math.abs ----------
|
||||
math.abs(-2.5) true 2.5
|
||||
math.abs(-2) true 2
|
||||
math.abs(0) true <zero>
|
||||
math.abs(2) true 2
|
||||
math.abs(2.5) true 2.5
|
||||
math.abs('-2.5') true 2.5
|
||||
math.abs('-2') true 2
|
||||
math.abs('0') true <zero>
|
||||
math.abs('2') true 2
|
||||
math.abs('2.5') true 2.5
|
||||
---------- math.ceil ----------
|
||||
math.ceil(-2.5) true -2
|
||||
math.ceil(-2) true -2
|
||||
math.ceil(0) true <zero>
|
||||
math.ceil(2) true 2
|
||||
math.ceil(2.5) true 3
|
||||
math.ceil('-2.5') true -2
|
||||
math.ceil('-2') true -2
|
||||
math.ceil('0') true <zero>
|
||||
math.ceil('2') true 2
|
||||
math.ceil('2.5') true 3
|
||||
---------- math.cos ----------
|
||||
math.cos(-2.5) true -0.801
|
||||
math.cos(-2) true -0.416
|
||||
math.cos(0) true 1
|
||||
math.cos(2) true -0.416
|
||||
math.cos(2.5) true -0.801
|
||||
math.cos('-2.5') true -0.801
|
||||
math.cos('-2') true -0.416
|
||||
math.cos('0') true 1
|
||||
math.cos('2') true -0.416
|
||||
math.cos('2.5') true -0.801
|
||||
---------- math.deg ----------
|
||||
math.deg(-2.5) true -143.2
|
||||
math.deg(-2) true -114.5
|
||||
math.deg(0) true <zero>
|
||||
math.deg(2) true 114.59
|
||||
math.deg(2.5) true 143.23
|
||||
math.deg('-2.5') true -143.2
|
||||
math.deg('-2') true -114.5
|
||||
math.deg('0') true <zero>
|
||||
math.deg('2') true 114.59
|
||||
math.deg('2.5') true 143.23
|
||||
---------- math.exp ----------
|
||||
math.exp(-2.5) true 0.0820
|
||||
math.exp(-2) true 0.1353
|
||||
math.exp(0) true 1
|
||||
math.exp(2) true 7.3890
|
||||
math.exp(2.5) true 12.182
|
||||
math.exp('-2.5') true 0.0820
|
||||
math.exp('-2') true 0.1353
|
||||
math.exp('0') true 1
|
||||
math.exp('2') true 7.3890
|
||||
math.exp('2.5') true 12.182
|
||||
---------- math.floor ----------
|
||||
math.floor(-2.5) true -3
|
||||
math.floor(-2) true -2
|
||||
math.floor(0) true <zero>
|
||||
math.floor(2) true 2
|
||||
math.floor(2.5) true 2
|
||||
math.floor('-2.5') true -3
|
||||
math.floor('-2') true -2
|
||||
math.floor('0') true <zero>
|
||||
math.floor('2') true 2
|
||||
math.floor('2.5') true 2
|
||||
---------- math.frexp ----------
|
||||
math.frexp(-2.5) true -0.625 2
|
||||
math.frexp(-2) true -0.5 2
|
||||
math.frexp(0) true <zero> <zero>
|
||||
math.frexp(2) true 0.5 2
|
||||
math.frexp(2.5) true 0.625 2
|
||||
math.frexp('-2.5') true -0.625 2
|
||||
math.frexp('-2') true -0.5 2
|
||||
math.frexp('0') true <zero> <zero>
|
||||
math.frexp('2') true 0.5 2
|
||||
math.frexp('2.5') true 0.625 2
|
||||
---------- math.modf ----------
|
||||
math.modf(-2.5) true -2 -0.5
|
||||
math.modf(-2) true -2 <zero>
|
||||
math.modf(0) true <zero> <zero>
|
||||
math.modf(2) true 2 <zero>
|
||||
math.modf(2.5) true 2 0.5
|
||||
math.modf('-2.5') true -2 -0.5
|
||||
math.modf('-2') true -2 <zero>
|
||||
math.modf('0') true <zero> <zero>
|
||||
math.modf('2') true 2 <zero>
|
||||
math.modf('2.5') true 2 0.5
|
||||
---------- math.rad ----------
|
||||
math.rad(-2.5) true -0.043
|
||||
math.rad(-2) true -0.034
|
||||
math.rad(0) true <zero>
|
||||
math.rad(2) true 0.0349
|
||||
math.rad(2.5) true 0.0436
|
||||
math.rad('-2.5') true -0.043
|
||||
math.rad('-2') true -0.034
|
||||
math.rad('0') true <zero>
|
||||
math.rad('2') true 0.0349
|
||||
math.rad('2.5') true 0.0436
|
||||
---------- math.sin ----------
|
||||
math.sin(-2.5) true -0.598
|
||||
math.sin(-2) true -0.909
|
||||
math.sin(0) true <zero>
|
||||
math.sin(2) true 0.9092
|
||||
math.sin(2.5) true 0.5984
|
||||
math.sin('-2.5') true -0.598
|
||||
math.sin('-2') true -0.909
|
||||
math.sin('0') true <zero>
|
||||
math.sin('2') true 0.9092
|
||||
math.sin('2.5') true 0.5984
|
||||
---------- math.sqrt ----------
|
||||
math.sqrt(-2.5) true -nan
|
||||
math.sqrt(-2) true -nan
|
||||
math.sqrt(0) true <zero>
|
||||
math.sqrt(2) true 1.4142
|
||||
math.sqrt(2.5) true 1.5811
|
||||
math.sqrt('-2.5') true -nan
|
||||
math.sqrt('-2') true -nan
|
||||
math.sqrt('0') true <zero>
|
||||
math.sqrt('2') true 1.4142
|
||||
math.sqrt('2.5') true 1.5811
|
||||
---------- math.tan ----------
|
||||
math.tan(-2.5) true 0.7470
|
||||
math.tan(-2) true 2.1850
|
||||
math.tan(0) true <zero>
|
||||
math.tan(2) true -2.185
|
||||
math.tan(2.5) true -0.747
|
||||
math.tan('-2.5') true 0.7470
|
||||
math.tan('-2') true 2.1850
|
||||
math.tan('0') true <zero>
|
||||
math.tan('2') true -2.185
|
||||
math.tan('2.5') true -0.747
|
||||
---------- math.acos (jse only) ----------
|
||||
math.acos(-2.5) true <nan>
|
||||
math.acos(-2) true <nan>
|
||||
math.acos(0) true 1.5707
|
||||
math.acos(2) true <nan>
|
||||
math.acos(2.5) true <nan>
|
||||
math.acos('-2.5') true <nan>
|
||||
math.acos('-2') true <nan>
|
||||
math.acos('0') true 1.5707
|
||||
math.acos('2') true <nan>
|
||||
math.acos('2.5') true <nan>
|
||||
---------- math.asin (jse only) ----------
|
||||
math.asin(-2.5) true <nan>
|
||||
math.asin(-2) true <nan>
|
||||
math.asin(0) true <zero>
|
||||
math.asin(2) true <nan>
|
||||
math.asin(2.5) true <nan>
|
||||
math.asin('-2.5') true <nan>
|
||||
math.asin('-2') true <nan>
|
||||
math.asin('0') true <zero>
|
||||
math.asin('2') true <nan>
|
||||
math.asin('2.5') true <nan>
|
||||
---------- math.atan (jse only) ----------
|
||||
math.atan(-2.5) true -1.190
|
||||
math.atan(-2) true -1.107
|
||||
math.atan(0) true <zero>
|
||||
math.atan(2) true 1.1071
|
||||
math.atan(2.5) true 1.1902
|
||||
math.atan('-2.5') true -1.190
|
||||
math.atan('-2') true -1.107
|
||||
math.atan('0') true <zero>
|
||||
math.atan('2') true 1.1071
|
||||
math.atan('2.5') true 1.1902
|
||||
---------- math.cosh (jse only) ----------
|
||||
math.cosh(-2.5) true 6.1322
|
||||
math.cosh(-2) true 3.7621
|
||||
math.cosh(0) true 1
|
||||
math.cosh(2) true 3.7621
|
||||
math.cosh(2.5) true 6.1322
|
||||
math.cosh('-2.5') true 6.1322
|
||||
math.cosh('-2') true 3.7621
|
||||
math.cosh('0') true 1
|
||||
math.cosh('2') true 3.7621
|
||||
math.cosh('2.5') true 6.1322
|
||||
---------- math.log (jse only) ----------
|
||||
math.log(-2.5) true -nan
|
||||
math.log(-2) true -nan
|
||||
math.log(0) true <neg-inf>
|
||||
math.log(2) true 0.6931
|
||||
math.log(2.5) true 0.9162
|
||||
math.log('-2.5') true -nan
|
||||
math.log('-2') true -nan
|
||||
math.log('0') true <neg-inf>
|
||||
math.log('2') true 0.6931
|
||||
math.log('2.5') true 0.9162
|
||||
---------- math.sinh (jse only) ----------
|
||||
math.sinh(-2.5) true -6.050
|
||||
math.sinh(-2) true -3.626
|
||||
math.sinh(0) true <zero>
|
||||
math.sinh(2) true 3.6268
|
||||
math.sinh(2.5) true 6.0502
|
||||
math.sinh('-2.5') true -6.050
|
||||
math.sinh('-2') true -3.626
|
||||
math.sinh('0') true <zero>
|
||||
math.sinh('2') true 3.6268
|
||||
math.sinh('2.5') true 6.0502
|
||||
---------- math.tanh (jse only) ----------
|
||||
math.tanh(-2.5) true -0.986
|
||||
math.tanh(-2) true -0.964
|
||||
math.tanh(0) true <zero>
|
||||
math.tanh(2) true 0.9640
|
||||
math.tanh(2.5) true 0.9866
|
||||
math.tanh('-2.5') true -0.986
|
||||
math.tanh('-2') true -0.964
|
||||
math.tanh('0') true <zero>
|
||||
math.tanh('2') true 0.9640
|
||||
math.tanh('2.5') true 0.9866
|
||||
---------- math.fmod ----------
|
||||
math.fmod(2,0) true -nan
|
||||
math.fmod(-2.5,0) true -nan
|
||||
math.fmod(2,1) true <zero>
|
||||
math.fmod(5,2) true 1
|
||||
math.fmod(-5,2) true -1
|
||||
math.fmod(16,2) true <zero>
|
||||
math.fmod(-16,-2) true <zero>
|
||||
math.fmod(0.5,0) true -nan
|
||||
math.fmod(0.5,1) true 0.5
|
||||
math.fmod(0.5,2) true 0.5
|
||||
math.fmod(0.5,-1) true 0.5
|
||||
math.fmod(0.5,2) true 0.5
|
||||
math.fmod(2.25,0) true -nan
|
||||
math.fmod(2.25,2) true 0.25
|
||||
math.fmod(-2,0) true -nan
|
||||
math.fmod(3,3) true <zero>
|
||||
math.fmod('2','0') true -nan
|
||||
math.fmod('2.5','3') true 2.5
|
||||
math.fmod('-2','1.5') true -0.5
|
||||
math.fmod('-2.5','-1.5') true -1
|
||||
math.fmod('3.0','3.0') true <zero>
|
||||
math.fmod(2.75,2.75) true <zero>
|
||||
math.fmod('2.75','2.75') true <zero>
|
||||
math.fmod(3,'3') true <zero>
|
||||
math.fmod('3',3) true <zero>
|
||||
math.fmod(2.75,'2.75') true <zero>
|
||||
math.fmod('2.75',2.75) true <zero>
|
||||
math.fmod(-3,'-4') true -3
|
||||
math.fmod('-3',4) true -3
|
||||
math.fmod(-3,'4') true -3
|
||||
math.fmod('-3',-4) true -3
|
||||
math.fmod(-4.75,'2.75') true -2
|
||||
math.fmod('-2.75',1.75) true -1
|
||||
math.fmod(4.75,'-2.75') true 2
|
||||
math.fmod('2.75',-1.75) true 1
|
||||
---------- math.ldexp ----------
|
||||
math.ldexp(2,0) true 2
|
||||
math.ldexp(-2.5,0) true -2.5
|
||||
math.ldexp(2,1) true 4
|
||||
math.ldexp(5,2) true 20
|
||||
math.ldexp(-5,2) true -20
|
||||
math.ldexp(16,2) true 64
|
||||
math.ldexp(-16,-2) true -4
|
||||
math.ldexp(0.5,0) true 0.5
|
||||
math.ldexp(0.5,1) true 1
|
||||
math.ldexp(0.5,2) true 2
|
||||
math.ldexp(0.5,-1) true 0.25
|
||||
math.ldexp(0.5,2) true 2
|
||||
math.ldexp(2.25,0) true 2.25
|
||||
math.ldexp(2.25,2) true 9
|
||||
math.ldexp(-2,0) true -2
|
||||
math.ldexp(3,3) true 24
|
||||
math.ldexp('2','0') true 2
|
||||
math.ldexp('2.5','3') true 20
|
||||
math.ldexp('-2','1.5') true -4
|
||||
math.ldexp('-2.5','-1.5') true -1.25
|
||||
math.ldexp('3.0','3.0') true 24
|
||||
math.ldexp(2.75,2.75) true 11
|
||||
math.ldexp('2.75','2.75') true 11
|
||||
math.ldexp(3,'3') true 24
|
||||
math.ldexp('3',3) true 24
|
||||
math.ldexp(2.75,'2.75') true 11
|
||||
math.ldexp('2.75',2.75) true 11
|
||||
math.ldexp(-3,'-4') true -0.187
|
||||
math.ldexp('-3',4) true -48
|
||||
math.ldexp(-3,'4') true -48
|
||||
math.ldexp('-3',-4) true -0.187
|
||||
math.ldexp(-4.75,'2.75') true -19
|
||||
math.ldexp('-2.75',1.75) true -5.5
|
||||
math.ldexp(4.75,'-2.75') true 1.1875
|
||||
math.ldexp('2.75',-1.75) true 1.375
|
||||
---------- math.pow ----------
|
||||
math.pow(2,0) true 1
|
||||
math.pow(-2.5,0) true 1
|
||||
math.pow(2,1) true 2
|
||||
math.pow(5,2) true 25
|
||||
math.pow(-5,2) true 25
|
||||
math.pow(16,2) true 256
|
||||
math.pow(-16,-2) true 0.0039
|
||||
math.pow(0.5,0) true 1
|
||||
math.pow(0.5,1) true 0.5
|
||||
math.pow(0.5,2) true 0.25
|
||||
math.pow(0.5,-1) true 2
|
||||
math.pow(0.5,2) true 0.25
|
||||
math.pow(2.25,0) true 1
|
||||
math.pow(2.25,2) true 5.0625
|
||||
math.pow(-2,0) true 1
|
||||
math.pow(3,3) true 27
|
||||
math.pow('2','0') true 1
|
||||
math.pow('2.5','3') true 15.625
|
||||
math.pow('-2','1.5') true -nan
|
||||
math.pow('-2.5','-1.5') true -nan
|
||||
math.pow('3.0','3.0') true 27
|
||||
math.pow(2.75,2.75) true 16.149
|
||||
math.pow('2.75','2.75') true 16.149
|
||||
math.pow(3,'3') true 27
|
||||
math.pow('3',3) true 27
|
||||
math.pow(2.75,'2.75') true 16.149
|
||||
math.pow('2.75',2.75) true 16.149
|
||||
math.pow(-3,'-4') true 0.0123
|
||||
math.pow('-3',4) true 81
|
||||
math.pow(-3,'4') true 81
|
||||
math.pow('-3',-4) true 0.0123
|
||||
math.pow(-4.75,'2.75') true -nan
|
||||
math.pow('-2.75',1.75) true -nan
|
||||
math.pow(4.75,'-2.75') true 0.0137
|
||||
math.pow('2.75',-1.75) true 0.1702
|
||||
---------- math.atan2 (jse only) ----------
|
||||
math.atan2(2,0) true 1.5707
|
||||
math.atan2(-2.5,0) true -1.570
|
||||
math.atan2(2,1) true 1.1071
|
||||
math.atan2(5,2) true 1.1902
|
||||
math.atan2(-5,2) true -1.190
|
||||
math.atan2(16,2) true 1.4464
|
||||
math.atan2(-16,-2) true -1.695
|
||||
math.atan2(0.5,0) true 1.5707
|
||||
math.atan2(0.5,1) true 0.4636
|
||||
math.atan2(0.5,2) true 0.2449
|
||||
math.atan2(0.5,-1) true 2.6779
|
||||
math.atan2(0.5,2) true 0.2449
|
||||
math.atan2(2.25,0) true 1.5707
|
||||
math.atan2(2.25,2) true 0.8441
|
||||
math.atan2(-2,0) true -1.570
|
||||
math.atan2(3,3) true 0.7853
|
||||
math.atan2('2','0') true 1.5707
|
||||
math.atan2('2.5','3') true 0.6947
|
||||
math.atan2('-2','1.5') true -0.927
|
||||
math.atan2('-2.5','-1.5') true -2.111
|
||||
math.atan2('3.0','3.0') true 0.7853
|
||||
math.atan2(2.75,2.75) true 0.7853
|
||||
math.atan2('2.75','2.75') true 0.7853
|
||||
math.atan2(3,'3') true 0.7853
|
||||
math.atan2('3',3) true 0.7853
|
||||
math.atan2(2.75,'2.75') true 0.7853
|
||||
math.atan2('2.75',2.75) true 0.7853
|
||||
math.atan2(-3,'-4') true -2.498
|
||||
math.atan2('-3',4) true -0.643
|
||||
math.atan2(-3,'4') true -0.643
|
||||
math.atan2('-3',-4) true -2.498
|
||||
math.atan2(-4.75,'2.75') true -1.046
|
||||
math.atan2('-2.75',1.75) true -1.004
|
||||
math.atan2(4.75,'-2.75') true 2.0955
|
||||
math.atan2('2.75',-1.75) true 2.1375
|
||||
---------- math.max ----------
|
||||
math.max(4) true 4
|
||||
math.max(-4.5) true -4.5
|
||||
math.max('5.5') true 5.5
|
||||
math.max('-5') true -5
|
||||
math.max(4,'8') true 8
|
||||
math.max(-4.5,'-8') true -4.5
|
||||
math.max('5.5',2.2) true 5.5
|
||||
math.max('-5',-2.2) true -2.2
|
||||
math.max(111,222,333) true 333
|
||||
math.max(-222,-333,-111) true -111
|
||||
math.max(444,-111,-222) true 444
|
||||
---------- math.min ----------
|
||||
math.min(4) true 4
|
||||
math.min(-4.5) true -4.5
|
||||
math.min('5.5') true 5.5
|
||||
math.min('-5') true -5
|
||||
math.min(4,'8') true 4
|
||||
math.min(-4.5,'-8') true -8
|
||||
math.min('5.5',2.2) true 2.2
|
||||
math.min('-5',-2.2) true -5
|
||||
math.min(111,222,333) true 111
|
||||
math.min(-222,-333,-111) true -333
|
||||
math.min(444,-111,-222) true -222
|
||||
----------- Random number tests
|
||||
math.random() number true
|
||||
math.random() number true
|
||||
math.random() number true
|
||||
math.random() number true
|
||||
math.random() number true
|
||||
math.random(5,10) number true
|
||||
math.random(5,10) number true
|
||||
math.random(5,10) number true
|
||||
math.random(5,10) number true
|
||||
math.random(5,10) number true
|
||||
math.random(30) number true
|
||||
math.random(30) number true
|
||||
math.random(30) number true
|
||||
math.random(30) number true
|
||||
math.random(30) number true
|
||||
math.random(-4,-2) number true
|
||||
math.random(-4,-2) number true
|
||||
math.random(-4,-2) number true
|
||||
math.random(-4,-2) number true
|
||||
math.random(-4,-2) number true
|
||||
|
||||
-- comparing new numbers
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
false false
|
||||
-- resetting seed
|
||||
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
----------- Tests involving -0 and NaN
|
||||
0 == -0 true
|
||||
t[-0] == t[0] true
|
||||
mz, z <zero> <zero>
|
||||
mz == z true
|
||||
a[z] == 1 and a[mz] == 1 true
|
||||
649
luaj-test/src/test/resources/compatibility/jse/metatags.out
Normal file
649
luaj-test/src/test/resources/compatibility/jse/metatags.out
Normal file
@@ -0,0 +1,649 @@
|
||||
---- __eq same types
|
||||
nil nil before true true
|
||||
nil nil before true false
|
||||
nil
|
||||
nil
|
||||
nil nil after true true
|
||||
nil nil after true false
|
||||
nil
|
||||
nil
|
||||
boolean boolean before true false
|
||||
boolean boolean before true true
|
||||
true
|
||||
false
|
||||
boolean boolean after true false
|
||||
boolean boolean after true true
|
||||
true
|
||||
false
|
||||
number number before true false
|
||||
number number before true true
|
||||
123
|
||||
456
|
||||
number number after true false
|
||||
number number after true true
|
||||
123
|
||||
456
|
||||
number number before true false
|
||||
number number before true true
|
||||
11
|
||||
5.5
|
||||
number number after true false
|
||||
number number after true true
|
||||
11
|
||||
5.5
|
||||
function function before true false
|
||||
function function before true true
|
||||
function.1
|
||||
function.2
|
||||
function function after true false
|
||||
function function after true true
|
||||
function.1
|
||||
function.2
|
||||
thread nil before true false
|
||||
thread nil before true true
|
||||
thread.3
|
||||
nil
|
||||
thread nil after true false
|
||||
thread nil after true true
|
||||
thread.3
|
||||
nil
|
||||
string string before true false
|
||||
string string before true true
|
||||
abc
|
||||
def
|
||||
string string after true false
|
||||
string string after true true
|
||||
abc
|
||||
def
|
||||
number string before true false
|
||||
number string before true true
|
||||
111
|
||||
111
|
||||
number string after true false
|
||||
number string after true true
|
||||
111
|
||||
111
|
||||
---- __eq, tables - should invoke metatag comparison
|
||||
table table before true false
|
||||
table table before true true
|
||||
table.4
|
||||
table.5
|
||||
mt.__eq() table.4 table.5
|
||||
table table after-a true true
|
||||
mt.__eq() table.4 table.5
|
||||
table table after-a true false
|
||||
table.4
|
||||
table.5
|
||||
nilmt nil
|
||||
boolmt nil
|
||||
number nil
|
||||
function nil
|
||||
thread nil
|
||||
---- __call
|
||||
number before false attempt to call
|
||||
111
|
||||
mt.__call() 111 nil
|
||||
number after true __call-result
|
||||
mt.__call() 111 a
|
||||
number after true __call-result
|
||||
mt.__call() 111 a
|
||||
number after true __call-result
|
||||
mt.__call() 111 a
|
||||
number after true __call-result
|
||||
mt.__call() 111 a
|
||||
number after true __call-result
|
||||
111
|
||||
boolean before false attempt to call
|
||||
false
|
||||
mt.__call() false nil
|
||||
boolean after true __call-result
|
||||
mt.__call() false a
|
||||
boolean after true __call-result
|
||||
mt.__call() false a
|
||||
boolean after true __call-result
|
||||
mt.__call() false a
|
||||
boolean after true __call-result
|
||||
mt.__call() false a
|
||||
boolean after true __call-result
|
||||
false
|
||||
function before true nil
|
||||
function.1
|
||||
function after true
|
||||
function after true
|
||||
function after true
|
||||
function after true
|
||||
function after true
|
||||
function.1
|
||||
thread before false attempt to call
|
||||
thread.3
|
||||
mt.__call() thread.3 nil
|
||||
thread after true __call-result
|
||||
mt.__call() thread.3 a
|
||||
thread after true __call-result
|
||||
mt.__call() thread.3 a
|
||||
thread after true __call-result
|
||||
mt.__call() thread.3 a
|
||||
thread after true __call-result
|
||||
mt.__call() thread.3 a
|
||||
thread after true __call-result
|
||||
thread.3
|
||||
table before false attempt to call
|
||||
table.4
|
||||
mt.__call() table.4 nil
|
||||
table after true __call-result
|
||||
mt.__call() table.4 a
|
||||
table after true __call-result
|
||||
mt.__call() table.4 a
|
||||
table after true __call-result
|
||||
mt.__call() table.4 a
|
||||
table after true __call-result
|
||||
mt.__call() table.4 a
|
||||
table after true __call-result
|
||||
table.4
|
||||
---- __add, __sub, __mul, __div, __pow, __mod
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
false
|
||||
mt.__add() false false
|
||||
boolean boolean after true __add-result
|
||||
mt.__add() false false
|
||||
boolean boolean after true __add-result
|
||||
mt.__sub() false false
|
||||
boolean boolean after true __sub-result
|
||||
mt.__sub() false false
|
||||
boolean boolean after true __sub-result
|
||||
mt.__mul() false false
|
||||
boolean boolean after true __mul-result
|
||||
mt.__mul() false false
|
||||
boolean boolean after true __mul-result
|
||||
mt.__pow() false false
|
||||
boolean boolean after true __pow-result
|
||||
mt.__pow() false false
|
||||
boolean boolean after true __pow-result
|
||||
mt.__mod() false false
|
||||
boolean boolean after true __mod-result
|
||||
mt.__mod() false false
|
||||
boolean boolean after true __mod-result
|
||||
false
|
||||
false
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
false
|
||||
mt.__add() false thread.3
|
||||
boolean thread after true __add-result
|
||||
mt.__add() thread.3 false
|
||||
boolean thread after true __add-result
|
||||
mt.__sub() false thread.3
|
||||
boolean thread after true __sub-result
|
||||
mt.__sub() thread.3 false
|
||||
boolean thread after true __sub-result
|
||||
mt.__mul() false thread.3
|
||||
boolean thread after true __mul-result
|
||||
mt.__mul() thread.3 false
|
||||
boolean thread after true __mul-result
|
||||
mt.__pow() false thread.3
|
||||
boolean thread after true __pow-result
|
||||
mt.__pow() thread.3 false
|
||||
boolean thread after true __pow-result
|
||||
mt.__mod() false thread.3
|
||||
boolean thread after true __mod-result
|
||||
mt.__mod() thread.3 false
|
||||
boolean thread after true __mod-result
|
||||
false
|
||||
thread.3
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
false
|
||||
mt.__add() false function.1
|
||||
boolean function after true __add-result
|
||||
mt.__add() function.1 false
|
||||
boolean function after true __add-result
|
||||
mt.__sub() false function.1
|
||||
boolean function after true __sub-result
|
||||
mt.__sub() function.1 false
|
||||
boolean function after true __sub-result
|
||||
mt.__mul() false function.1
|
||||
boolean function after true __mul-result
|
||||
mt.__mul() function.1 false
|
||||
boolean function after true __mul-result
|
||||
mt.__pow() false function.1
|
||||
boolean function after true __pow-result
|
||||
mt.__pow() function.1 false
|
||||
boolean function after true __pow-result
|
||||
mt.__mod() false function.1
|
||||
boolean function after true __mod-result
|
||||
mt.__mod() function.1 false
|
||||
boolean function after true __mod-result
|
||||
false
|
||||
function.1
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
false
|
||||
mt.__add() false abc
|
||||
boolean string after true __add-result
|
||||
mt.__add() abc false
|
||||
boolean string after true __add-result
|
||||
mt.__sub() false abc
|
||||
boolean string after true __sub-result
|
||||
mt.__sub() abc false
|
||||
boolean string after true __sub-result
|
||||
mt.__mul() false abc
|
||||
boolean string after true __mul-result
|
||||
mt.__mul() abc false
|
||||
boolean string after true __mul-result
|
||||
mt.__pow() false abc
|
||||
boolean string after true __pow-result
|
||||
mt.__pow() abc false
|
||||
boolean string after true __pow-result
|
||||
mt.__mod() false abc
|
||||
boolean string after true __mod-result
|
||||
mt.__mod() abc false
|
||||
boolean string after true __mod-result
|
||||
false
|
||||
abc
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
false
|
||||
mt.__add() false table.4
|
||||
boolean table after true __add-result
|
||||
mt.__add() table.4 false
|
||||
boolean table after true __add-result
|
||||
mt.__sub() false table.4
|
||||
boolean table after true __sub-result
|
||||
mt.__sub() table.4 false
|
||||
boolean table after true __sub-result
|
||||
mt.__mul() false table.4
|
||||
boolean table after true __mul-result
|
||||
mt.__mul() table.4 false
|
||||
boolean table after true __mul-result
|
||||
mt.__pow() false table.4
|
||||
boolean table after true __pow-result
|
||||
mt.__pow() table.4 false
|
||||
boolean table after true __pow-result
|
||||
mt.__mod() false table.4
|
||||
boolean table after true __mod-result
|
||||
mt.__mod() table.4 false
|
||||
boolean table after true __mod-result
|
||||
false
|
||||
table.4
|
||||
---- __len
|
||||
boolean before false attempt to get length of
|
||||
false
|
||||
mt.__len() false
|
||||
boolean after true __len-result
|
||||
false
|
||||
function before false attempt to get length of
|
||||
function.1
|
||||
mt.__len() function.1
|
||||
function after true __len-result
|
||||
function.1
|
||||
thread before false attempt to get length of
|
||||
thread.3
|
||||
mt.__len() thread.3
|
||||
thread after true __len-result
|
||||
thread.3
|
||||
number before false attempt to get length of
|
||||
111
|
||||
mt.__len() 111
|
||||
number after true __len-result
|
||||
111
|
||||
---- __neg
|
||||
nil before false attempt to perform arithmetic
|
||||
false
|
||||
mt.__unm() false
|
||||
nil after true __unm-result
|
||||
false
|
||||
nil before false attempt to perform arithmetic
|
||||
function.1
|
||||
mt.__unm() function.1
|
||||
nil after true __unm-result
|
||||
function.1
|
||||
nil before false attempt to perform arithmetic
|
||||
thread.3
|
||||
mt.__unm() thread.3
|
||||
nil after true __unm-result
|
||||
thread.3
|
||||
nil before false attempt to perform arithmetic
|
||||
abcd
|
||||
mt.__unm() abcd
|
||||
nil after true __unm-result
|
||||
abcd
|
||||
nil before false attempt to perform arithmetic
|
||||
table.4
|
||||
mt.__unm() table.4
|
||||
nil after true __unm-result
|
||||
table.4
|
||||
nil before true -111
|
||||
111
|
||||
nil after true -111
|
||||
111
|
||||
---- __lt, __le, same types
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
true
|
||||
true
|
||||
mt.__lt() true true
|
||||
boolean boolean after true true
|
||||
mt.__le() true true
|
||||
boolean boolean after true true
|
||||
mt.__lt() true true
|
||||
boolean boolean after true true
|
||||
mt.__le() true true
|
||||
boolean boolean after true true
|
||||
true
|
||||
true
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
true
|
||||
false
|
||||
mt.__lt() true false
|
||||
boolean boolean after true true
|
||||
mt.__le() true false
|
||||
boolean boolean after true true
|
||||
mt.__lt() false true
|
||||
boolean boolean after true true
|
||||
mt.__le() false true
|
||||
boolean boolean after true true
|
||||
true
|
||||
false
|
||||
function function before false attempt to compare
|
||||
function function before false attempt to compare
|
||||
function function before false attempt to compare
|
||||
function function before false attempt to compare
|
||||
function.1
|
||||
function.6
|
||||
mt.__lt() function.1 function.6
|
||||
function function after true true
|
||||
mt.__le() function.1 function.6
|
||||
function function after true true
|
||||
mt.__lt() function.6 function.1
|
||||
function function after true true
|
||||
mt.__le() function.6 function.1
|
||||
function function after true true
|
||||
function.1
|
||||
function.6
|
||||
thread thread before false attempt to compare
|
||||
thread thread before false attempt to compare
|
||||
thread thread before false attempt to compare
|
||||
thread thread before false attempt to compare
|
||||
thread.3
|
||||
thread.7
|
||||
mt.__lt() thread.3 thread.7
|
||||
thread thread after true true
|
||||
mt.__le() thread.3 thread.7
|
||||
thread thread after true true
|
||||
mt.__lt() thread.7 thread.3
|
||||
thread thread after true true
|
||||
mt.__le() thread.7 thread.3
|
||||
thread thread after true true
|
||||
thread.3
|
||||
thread.7
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table.4
|
||||
table.4
|
||||
mt.__lt() table.4 table.4
|
||||
table table after true true
|
||||
mt.__le() table.4 table.4
|
||||
table table after true true
|
||||
mt.__lt() table.4 table.4
|
||||
table table after true true
|
||||
mt.__le() table.4 table.4
|
||||
table table after true true
|
||||
table.4
|
||||
table.4
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table.4
|
||||
table.8
|
||||
mt.__lt() table.4 table.8
|
||||
table table after true true
|
||||
mt.__le() table.4 table.8
|
||||
table table after true true
|
||||
mt.__lt() table.8 table.4
|
||||
table table after true true
|
||||
mt.__le() table.8 table.4
|
||||
table table after true true
|
||||
table.4
|
||||
table.8
|
||||
---- __lt, __le, different types
|
||||
boolean thread before false attempt to compare
|
||||
boolean thread before false attempt to compare
|
||||
boolean thread before false attempt to compare
|
||||
boolean thread before false attempt to compare
|
||||
false
|
||||
thread.3
|
||||
mt.__lt() false thread.3
|
||||
boolean thread after-a true true
|
||||
mt.__le() false thread.3
|
||||
boolean thread after-a true true
|
||||
mt.__lt() thread.3 false
|
||||
boolean thread after-a true true
|
||||
mt.__le() thread.3 false
|
||||
boolean thread after-a true true
|
||||
false
|
||||
thread.3
|
||||
---- __tostring
|
||||
mt.__tostring(boolean)
|
||||
boolean after mt.__tostring(boolean) mt.__tostring(boolean)
|
||||
false
|
||||
function.1
|
||||
function after true mt.__tostring(function)
|
||||
function.1
|
||||
thread.3
|
||||
thread after true mt.__tostring(thread)
|
||||
thread.3
|
||||
table.4
|
||||
table after true mt.__tostring(table)
|
||||
table.4
|
||||
mt.__tostring(string)
|
||||
mt.__tostring(string) mt.__tostring(string) true mt.__tostring(string)
|
||||
abc
|
||||
---- __index, __newindex
|
||||
boolean before false attempt to index
|
||||
boolean before false attempt to index
|
||||
boolean before false index
|
||||
boolean before false index
|
||||
boolean before false attempt to index
|
||||
false
|
||||
mt.__index() false foo
|
||||
boolean after true __index-result
|
||||
mt.__index() false 123
|
||||
boolean after true __index-result
|
||||
mt.__newindex() false foo bar
|
||||
boolean after true
|
||||
mt.__newindex() false 123 bar
|
||||
boolean after true
|
||||
mt.__index() false foo
|
||||
boolean after false attempt to call
|
||||
false
|
||||
number before false attempt to index
|
||||
number before false attempt to index
|
||||
number before false index
|
||||
number before false index
|
||||
number before false attempt to index
|
||||
111
|
||||
mt.__index() 111 foo
|
||||
number after true __index-result
|
||||
mt.__index() 111 123
|
||||
number after true __index-result
|
||||
mt.__newindex() 111 foo bar
|
||||
number after true
|
||||
mt.__newindex() 111 123 bar
|
||||
number after true
|
||||
mt.__index() 111 foo
|
||||
number after false attempt to call
|
||||
111
|
||||
function before false attempt to index
|
||||
function before false attempt to index
|
||||
function before false index
|
||||
function before false index
|
||||
function before false attempt to index
|
||||
function.1
|
||||
mt.__index() function.1 foo
|
||||
function after true __index-result
|
||||
mt.__index() function.1 123
|
||||
function after true __index-result
|
||||
mt.__newindex() function.1 foo bar
|
||||
function after true
|
||||
mt.__newindex() function.1 123 bar
|
||||
function after true
|
||||
mt.__index() function.1 foo
|
||||
function after false attempt to call
|
||||
function.1
|
||||
thread before false attempt to index
|
||||
thread before false attempt to index
|
||||
thread before false index
|
||||
thread before false index
|
||||
thread before false attempt to index
|
||||
thread.3
|
||||
mt.__index() thread.3 foo
|
||||
thread after true __index-result
|
||||
mt.__index() thread.3 123
|
||||
thread after true __index-result
|
||||
mt.__newindex() thread.3 foo bar
|
||||
thread after true
|
||||
mt.__newindex() thread.3 123 bar
|
||||
thread after true
|
||||
mt.__index() thread.3 foo
|
||||
thread after false attempt to call
|
||||
thread.3
|
||||
---- __concat
|
||||
table function before false attempt to concatenate
|
||||
table function before false attempt to concatenate
|
||||
table string number before false attempt to concatenate
|
||||
string table number before false attempt to concatenate
|
||||
string number table before false attempt to concatenate
|
||||
table.4
|
||||
mt.__concat(table,function) table.4 function.1
|
||||
table function after true table.9
|
||||
mt.__concat(function,table) function.1 table.4
|
||||
table function after true table.9
|
||||
mt.__concat(table,string) table.4 sss777
|
||||
table string number before true table.9
|
||||
mt.__concat(table,number) table.4 777
|
||||
string table number before false attempt to concatenate
|
||||
mt.__concat(number,table) 777 table.4
|
||||
string number table before false attempt to concatenate
|
||||
table.4
|
||||
function.1
|
||||
function table before false attempt to concatenate
|
||||
function table before false attempt to concatenate
|
||||
function string number before false attempt to concatenate
|
||||
string function number before false attempt to concatenate
|
||||
string number function before false attempt to concatenate
|
||||
function.1
|
||||
mt.__concat(function,table) function.1 table.4
|
||||
function table after true table.9
|
||||
mt.__concat(table,function) table.4 function.1
|
||||
function table after true table.9
|
||||
mt.__concat(function,string) function.1 sss777
|
||||
function string number before true table.9
|
||||
mt.__concat(function,number) function.1 777
|
||||
string function number before false attempt to concatenate
|
||||
mt.__concat(number,function) 777 function.1
|
||||
string number function before false attempt to concatenate
|
||||
function.1
|
||||
table.4
|
||||
number nil before false attempt to concatenate
|
||||
number nil before false attempt to concatenate
|
||||
number string number before true 123sss777
|
||||
string number number before true sss123777
|
||||
string number number before true sss777123
|
||||
123
|
||||
mt.__concat(number,nil) 123 nil
|
||||
number nil after true table.9
|
||||
mt.__concat(nil,number) nil 123
|
||||
number nil after true table.9
|
||||
number string number before true 123sss777
|
||||
string number number before true sss123777
|
||||
string number number before true sss777123
|
||||
123
|
||||
nil
|
||||
nil number before false attempt to concatenate
|
||||
nil number before false attempt to concatenate
|
||||
nil string number before false attempt to concatenate
|
||||
string nil number before false attempt to concatenate
|
||||
string number nil before false attempt to concatenate
|
||||
nil
|
||||
mt.__concat(nil,number) nil 123
|
||||
nil number after true table.9
|
||||
mt.__concat(number,nil) 123 nil
|
||||
nil number after true table.9
|
||||
mt.__concat(nil,string) nil sss777
|
||||
nil string number before true table.9
|
||||
mt.__concat(nil,number) nil 777
|
||||
string nil number before false attempt to concatenate
|
||||
mt.__concat(number,nil) 777 nil
|
||||
string number nil before false attempt to concatenate
|
||||
nil
|
||||
123
|
||||
---- __metatable
|
||||
boolean before true nil nil
|
||||
false
|
||||
boolean after true table.10 table.11
|
||||
false
|
||||
function before true nil nil
|
||||
function.1
|
||||
function after true table.10 table.11
|
||||
function.1
|
||||
thread before true nil nil
|
||||
thread.3
|
||||
thread after true table.10 table.11
|
||||
thread.3
|
||||
table before true nil nil
|
||||
table.4
|
||||
table after true table.10 table.11
|
||||
table.4
|
||||
string before true table.12 table.12
|
||||
abc
|
||||
string after true table.10 table.11
|
||||
abc
|
||||
64
luaj-test/src/test/resources/compatibility/jse/oslib.out
Normal file
64
luaj-test/src/test/resources/compatibility/jse/oslib.out
Normal file
@@ -0,0 +1,64 @@
|
||||
os table
|
||||
os.clock() true number nil
|
||||
os.date() true string nil
|
||||
os.difftime(123000, 21500) true number nil
|
||||
os.getenv() false string nil
|
||||
os.getenv("bogus.key") true nil nil
|
||||
os.tmpname() true string
|
||||
os.tmpname() true string
|
||||
io.open true userdata
|
||||
write false string nil
|
||||
close false string nil
|
||||
os.rename(p,q) true boolean nil
|
||||
os.remove(q) true boolean nil
|
||||
os.remove(q) true nil string
|
||||
os.setlocale("C") true string nil
|
||||
os.exit function
|
||||
os.date('%a', 1281364496) true string nil
|
||||
os.date('%A', 1281364496) true string nil
|
||||
os.date('%b', 1281364496) true string nil
|
||||
os.date('%B', 1281364496) true string nil
|
||||
os.date('%c', 1281364496) true string nil
|
||||
os.date('%C', 1281364496) true string nil
|
||||
os.date('%d', 1281364496) true string nil
|
||||
os.date('%D', 1281364496) true string nil
|
||||
os.date('%e', 1281364496) true string nil
|
||||
os.date('%F', 1281364496) true string nil
|
||||
os.date('%g', 1281364496) true string nil
|
||||
os.date('%G', 1281364496) true string nil
|
||||
os.date('%h', 1281364496) true string nil
|
||||
os.date('%H', 1281364496) true string nil
|
||||
os.date('%I', 1281364496) true string nil
|
||||
os.date('%j', 1281364496) true string nil
|
||||
os.date('%m', 1281364496) true string nil
|
||||
os.date('%M', 1281364496) true string nil
|
||||
os.date('%n', 1281364496) true string nil
|
||||
os.date('%p', 1281364496) true string nil
|
||||
os.date('%r', 1281364496) true string nil
|
||||
os.date('%R', 1281364496) true string nil
|
||||
os.date('%S', 1281364496) true string nil
|
||||
os.date('%t', 1281364496) true string nil
|
||||
os.date('%T', 1281364496) true string nil
|
||||
os.date('%u', 1281364496) true string nil
|
||||
os.date('%U', 1281364496) true string nil
|
||||
os.date('%V', 1281364496) true string nil
|
||||
os.date('%w', 1281364496) true string nil
|
||||
os.date('%W', 1281364496) true string nil
|
||||
os.date('%x', 1281364496) true string nil
|
||||
os.date('%X', 1281364496) true string nil
|
||||
os.date('%y', 1281364496) true string nil
|
||||
os.date('%Y', 1281364496) true string nil
|
||||
os.date('%z', 1281364496) true string nil
|
||||
os.date('%Z', 1281364496) true string nil
|
||||
k string year v number 2010
|
||||
k string month v number 8
|
||||
k string day v number 9
|
||||
k string hour v number 16
|
||||
k string min v number 34
|
||||
k string sec v number 56
|
||||
k string wday v number 2
|
||||
k string yday v number 221
|
||||
k string isdst v boolean true
|
||||
type(os.time()) number
|
||||
os.time({year=1971, month=2, day=25}) 36327600
|
||||
os.time({year=1971, month=2, day=25, hour=11, min=22, sec=33}) 36325353
|
||||
BIN
luaj-test/src/test/resources/compatibility/jse/stringlib.out
Normal file
BIN
luaj-test/src/test/resources/compatibility/jse/stringlib.out
Normal file
Binary file not shown.
237
luaj-test/src/test/resources/compatibility/jse/tablelib.out
Normal file
237
luaj-test/src/test/resources/compatibility/jse/tablelib.out
Normal file
@@ -0,0 +1,237 @@
|
||||
2
|
||||
-- concat tests
|
||||
onetwothree
|
||||
one--two--three
|
||||
two,three
|
||||
two
|
||||
|
||||
onetwothreefourfive
|
||||
one--two--three--four--five
|
||||
two,three,four,five
|
||||
two
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- insert, len tests
|
||||
{[1]=one,[2]=two,[3]=three,[a]=aaa,[b]=bbb,[c]=ccc} 3
|
||||
{[1]=one,[2]=two,[3]=three,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=three,[5]=six,[a]=aaa,[b]=bbb,[c]=ccc} 5
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=eight,[5]=three,[6]=six,[a]=aaa,[b]=bbb,[c]=ccc} 6
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=eight,[5]=three,[6]=six,[7]=nine,[a]=aaa,[b]=bbb,[c]=ccc} 7
|
||||
#{} 0
|
||||
#{"a"} 1
|
||||
#{"a","b"} 2
|
||||
#{"a",nil} 1
|
||||
#{nil,nil} 0
|
||||
#{nil,"b"} true
|
||||
#{"a","b","c"} 3
|
||||
#{"a","b",nil} 2
|
||||
#{"a",nil,nil} 1
|
||||
#{nil,nil,nil} 0
|
||||
#{nil,nil,"c"} true
|
||||
#{nil,"b","c"} true
|
||||
#{nil,"b",nil} true
|
||||
#{"a",nil,"c"} true
|
||||
-- remove tests
|
||||
{[10]=ten,[1]=one,[2]=two,[3]=three,[4]=four,[5]=five,[6]=six,[7]=seven,[a]=aaa,[b]=bbb,[c]=ccc} 7
|
||||
table.remove(t) seven
|
||||
{[10]=ten,[1]=one,[2]=two,[3]=three,[4]=four,[5]=five,[6]=six,[a]=aaa,[b]=bbb,[c]=ccc} 6
|
||||
table.remove(t,1) one
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=four,[4]=five,[5]=six,[a]=aaa,[b]=bbb,[c]=ccc} 5
|
||||
table.remove(t,3) four
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
table.remove(t,5) nil
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
-- sort tests
|
||||
one-two-three
|
||||
one-three-two
|
||||
www-vvv-uuu-ttt-sss-zzz-yyy-xxx
|
||||
sss-ttt-uuu-vvv-www-xxx-yyy-zzz
|
||||
www-vvv-uuu-ttt-sss-zzz-yyy-xxx
|
||||
zzz-yyy-xxx-www-vvv-uuu-ttt-sss
|
||||
----- unpack tests -------
|
||||
pcall(unpack) false
|
||||
pcall(unpack,nil) false
|
||||
pcall(unpack,"abc") false
|
||||
pcall(unpack,1) false
|
||||
unpack({"aa"}) aa
|
||||
unpack({"aa","bb"}) aa bb
|
||||
unpack({"aa","bb","cc"}) aa bb cc
|
||||
unpack -
|
||||
unpack a a
|
||||
unpack . nil
|
||||
unpack ab a b
|
||||
unpack .b nil b
|
||||
unpack a. a nil
|
||||
unpack abc a b c
|
||||
unpack .ab nil a b
|
||||
unpack a.b a nil b
|
||||
unpack ab. a b nil
|
||||
unpack ..b nil nil b
|
||||
unpack a.. a nil nil
|
||||
unpack .b. nil b nil
|
||||
unpack ... nil nil nil
|
||||
unpack (-)
|
||||
unpack (a) a
|
||||
unpack (.) nil
|
||||
unpack (ab) a b
|
||||
unpack (.b) nil b
|
||||
unpack (a.) a nil
|
||||
unpack (abc) a b c
|
||||
unpack (.ab) nil a b
|
||||
unpack (a.b) a nil b
|
||||
unpack (ab.) a b nil
|
||||
unpack (..b) nil nil b
|
||||
unpack (a..) a nil nil
|
||||
unpack (.b.) nil b nil
|
||||
unpack (...) nil nil nil
|
||||
pcall(unpack,t) true aa bb cc dd ee ff
|
||||
pcall(unpack,t,2) true bb cc dd ee ff
|
||||
pcall(unpack,t,2,5) true bb cc dd ee
|
||||
pcall(unpack,t,2,6) true bb cc dd ee ff
|
||||
pcall(unpack,t,2,7) true bb cc dd ee ff nil
|
||||
pcall(unpack,t,1) true aa bb cc dd ee ff
|
||||
pcall(unpack,t,1,5) true aa bb cc dd ee
|
||||
pcall(unpack,t,1,6) true aa bb cc dd ee ff
|
||||
pcall(unpack,t,1,7) true aa bb cc dd ee ff nil
|
||||
pcall(unpack,t,0) true nil aa bb cc dd ee ff
|
||||
pcall(unpack,t,0,5) true nil aa bb cc dd ee
|
||||
pcall(unpack,t,0,6) true nil aa bb cc dd ee ff
|
||||
pcall(unpack,t,0,7) true nil aa bb cc dd ee ff nil
|
||||
pcall(unpack,t,-1) true nil nil aa bb cc dd ee ff
|
||||
pcall(unpack,t,-1,5) true nil nil aa bb cc dd ee
|
||||
pcall(unpack,t,-1,6) true nil nil aa bb cc dd ee ff
|
||||
pcall(unpack,t,-1,7) true nil nil aa bb cc dd ee ff nil
|
||||
pcall(unpack,t,2,4) true bb cc dd
|
||||
pcall(unpack,t,2,5) true bb cc dd ee
|
||||
pcall(unpack,t,2,6) true bb cc dd ee ff
|
||||
pcall(unpack,t,2,7) true bb cc dd ee ff nil
|
||||
pcall(unpack,t,2,8) true bb cc dd ee ff nil nil
|
||||
pcall(unpack,t,2,2) true
|
||||
pcall(unpack,t,2,1) true
|
||||
pcall(unpack,t,2,0) true
|
||||
pcall(unpack,t,2,-1) true
|
||||
pcall(unpack,t,0) true zz aa bb cc dd ee ff
|
||||
pcall(unpack,t,2,0) true
|
||||
pcall(unpack,t,2,-1) true
|
||||
pcall(unpack,t,"3") true cc dd ee ff
|
||||
pcall(unpack,t,"a") false
|
||||
pcall(unpack,t,function() end) false
|
||||
----- misc table initializer tests -------
|
||||
3
|
||||
4
|
||||
4
|
||||
----- basic table operations -------
|
||||
------ basic table tests on basic table table
|
||||
t[1]=2 true
|
||||
t[1] true 2
|
||||
t[1]=nil true
|
||||
t[1] true nil
|
||||
t["a"]="b" true
|
||||
t["a"],t.a true b b
|
||||
t.a="c" true
|
||||
t["a"],t.a true c c
|
||||
t.a=nil true
|
||||
t["a"],t.a true nil nil
|
||||
t[nil]="d" false string
|
||||
t[nil] true nil
|
||||
t[nil]=nil false string
|
||||
t[nil] true nil
|
||||
------ basic table tests on function metatable on __index table
|
||||
t[1]=2 true
|
||||
t[1] true 2
|
||||
t[1]=nil true
|
||||
metatable call args table 1
|
||||
t[1] true dummy
|
||||
t["a"]="b" true
|
||||
t["a"],t.a true b b
|
||||
t.a="c" true
|
||||
t["a"],t.a true c c
|
||||
t.a=nil true
|
||||
metatable call args table a
|
||||
metatable call args table a
|
||||
t["a"],t.a true dummy dummy
|
||||
t[nil]="d" false string
|
||||
metatable call args table nil
|
||||
t[nil] true dummy
|
||||
t[nil]=nil false string
|
||||
metatable call args table nil
|
||||
t[nil] true dummy
|
||||
------ basic table tests on function metatable on __newindex table
|
||||
metatable call args table 1 2
|
||||
t[1]=2 true
|
||||
t[1] true nil
|
||||
metatable call args table 1 nil
|
||||
t[1]=nil true
|
||||
t[1] true nil
|
||||
metatable call args table a b
|
||||
t["a"]="b" true
|
||||
t["a"],t.a true nil nil
|
||||
metatable call args table a c
|
||||
t.a="c" true
|
||||
t["a"],t.a true nil nil
|
||||
metatable call args table a nil
|
||||
t.a=nil true
|
||||
t["a"],t.a true nil nil
|
||||
metatable call args table nil d
|
||||
t[nil]="d" true nil
|
||||
t[nil] true nil
|
||||
metatable call args table nil nil
|
||||
t[nil]=nil true nil
|
||||
t[nil] true nil
|
||||
------ basic table tests on plain metatable on __index table
|
||||
t[1]=2 true
|
||||
t[1] true 2
|
||||
t[1]=nil true
|
||||
t[1] true nil
|
||||
t["a"]="b" true
|
||||
t["a"],t.a true b b
|
||||
t.a="c" true
|
||||
t["a"],t.a true c c
|
||||
t.a=nil true
|
||||
t["a"],t.a true nil nil
|
||||
t[nil]="d" false string
|
||||
t[nil] true nil
|
||||
t[nil]=nil false string
|
||||
t[nil] true nil
|
||||
------ basic table tests on plain metatable on __newindex table
|
||||
t[1]=2 true
|
||||
t[1] true 2
|
||||
t[1]=nil true
|
||||
t[1] true nil
|
||||
t["a"]="b" true
|
||||
t["a"],t.a true b b
|
||||
t.a="c" true
|
||||
t["a"],t.a true c c
|
||||
t.a=nil true
|
||||
t["a"],t.a true nil nil
|
||||
t[nil]="d" false string
|
||||
t[nil] true nil
|
||||
t[nil]=nil false string
|
||||
t[nil] true nil
|
||||
-- sort tests
|
||||
default (lexical) comparator
|
||||
2-4-6-8-1-3-5-7
|
||||
1-2-3-4-5-6-7-8
|
||||
333-222-111
|
||||
111-222-333
|
||||
www-xxx-yyy-aaa-bbb-ccc
|
||||
aaa-bbb-ccc-www-xxx-yyy
|
||||
21-23-25-27-22-24-26-28
|
||||
sort failed
|
||||
custom (numerical) comparator
|
||||
2-4-6-8-1-3-5-7
|
||||
1-2-3-4-5-6-7-8
|
||||
333-222-111
|
||||
111-222-333
|
||||
www-xxx-yyy-aaa-bbb-ccc
|
||||
sort failed
|
||||
21-23-25-27-22-24-26-28
|
||||
21-22-23-24-25-26-27-28
|
||||
211
luaj-test/src/test/resources/compatibility/jse/tailcalls.out
Normal file
211
luaj-test/src/test/resources/compatibility/jse/tailcalls.out
Normal file
@@ -0,0 +1,211 @@
|
||||
true true
|
||||
b
|
||||
true true
|
||||
true true c
|
||||
--f, n, table.unpack(t) func.1 0
|
||||
true 0 0 0
|
||||
--f, n, table.unpack(t) func.1 0 1
|
||||
true 1 1 1
|
||||
--f, n, table.unpack(t) func.1 0 1 2
|
||||
true 1 3 3
|
||||
--f, n, table.unpack(t) func.1 0 1 2 3
|
||||
true 1 3 6
|
||||
--f, n, table.unpack(t) func.1 0 1 2 3 4
|
||||
true 1 3 6
|
||||
--f, n, table.unpack(t) func.1 1
|
||||
true 0 0 0
|
||||
--f, n, table.unpack(t) func.1 1 1
|
||||
true 1 2 3
|
||||
--f, n, table.unpack(t) func.1 1 1 2
|
||||
true 1 4 7
|
||||
--f, n, table.unpack(t) func.1 1 1 2 3
|
||||
true 1 4 10
|
||||
--f, n, table.unpack(t) func.1 1 1 2 3 4
|
||||
true 1 4 10
|
||||
--f, n, table.unpack(t) func.1 2
|
||||
true 0 0 0
|
||||
--f, n, table.unpack(t) func.1 2 1
|
||||
true 1 3 6
|
||||
--f, n, table.unpack(t) func.1 2 1 2
|
||||
true 1 5 12
|
||||
--f, n, table.unpack(t) func.1 2 1 2 3
|
||||
true 1 5 15
|
||||
--f, n, table.unpack(t) func.1 2 1 2 3 4
|
||||
true 1 5 15
|
||||
--f, n, table.unpack(t) func.1 3
|
||||
true 0 0 0
|
||||
--f, n, table.unpack(t) func.1 3 1
|
||||
true 1 4 10
|
||||
--f, n, table.unpack(t) func.1 3 1 2
|
||||
true 1 6 18
|
||||
--f, n, table.unpack(t) func.1 3 1 2 3
|
||||
true 1 6 21
|
||||
--f, n, table.unpack(t) func.1 3 1 2 3 4
|
||||
true 1 6 21
|
||||
--f, n, table.unpack(t) func.2 0
|
||||
--f2, n<=0, returning sum(...)
|
||||
true 0
|
||||
--f, n, table.unpack(t) func.2 0 1
|
||||
--f2, n<=0, returning sum(...) 1
|
||||
true 1
|
||||
--f, n, table.unpack(t) func.2 0 1 2
|
||||
--f2, n<=0, returning sum(...) 1 2
|
||||
true 3
|
||||
--f, n, table.unpack(t) func.2 0 1 2 3
|
||||
--f2, n<=0, returning sum(...) 1 2 3
|
||||
true 6
|
||||
--f, n, table.unpack(t) func.2 0 1 2 3 4
|
||||
--f2, n<=0, returning sum(...) 1 2 3 4
|
||||
true 10
|
||||
--f, n, table.unpack(t) func.2 1
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1
|
||||
--f2, n<=0, returning sum(...) 1
|
||||
true 1
|
||||
--f, n, table.unpack(t) func.2 1 1
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 1
|
||||
--f2, n<=0, returning sum(...) 1 1
|
||||
true 2
|
||||
--f, n, table.unpack(t) func.2 1 1 2
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 1 2
|
||||
--f2, n<=0, returning sum(...) 1 1 2
|
||||
true 4
|
||||
--f, n, table.unpack(t) func.2 1 1 2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 1 2 3
|
||||
--f2, n<=0, returning sum(...) 1 1 2 3
|
||||
true 7
|
||||
--f, n, table.unpack(t) func.2 1 1 2 3 4
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 1 2 3 4
|
||||
--f2, n<=0, returning sum(...) 1 1 2 3 4
|
||||
true 11
|
||||
--f, n, table.unpack(t) func.2 2
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2
|
||||
--f2, n<=0, returning sum(...) 1 2
|
||||
true 3
|
||||
--f, n, table.unpack(t) func.2 2 1
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 1
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 1
|
||||
--f2, n<=0, returning sum(...) 1 2 1
|
||||
true 4
|
||||
--f, n, table.unpack(t) func.2 2 1 2
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 1 2
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 1 2
|
||||
--f2, n<=0, returning sum(...) 1 2 1 2
|
||||
true 6
|
||||
--f, n, table.unpack(t) func.2 2 1 2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 1 2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 1 2 3
|
||||
--f2, n<=0, returning sum(...) 1 2 1 2 3
|
||||
true 9
|
||||
--f, n, table.unpack(t) func.2 2 1 2 3 4
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 1 2 3 4
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 1 2 3 4
|
||||
--f2, n<=0, returning sum(...) 1 2 1 2 3 4
|
||||
true 13
|
||||
--f, n, table.unpack(t) func.2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 3
|
||||
--f2, n<=0, returning sum(...) 1 2 3
|
||||
true 6
|
||||
--f, n, table.unpack(t) func.2 3 1
|
||||
--f2, n>0, returning f2(n-1,n,...) 2 3 1
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 3 1
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 3 1
|
||||
--f2, n<=0, returning sum(...) 1 2 3 1
|
||||
true 7
|
||||
--f, n, table.unpack(t) func.2 3 1 2
|
||||
--f2, n>0, returning f2(n-1,n,...) 2 3 1 2
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 3 1 2
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 3 1 2
|
||||
--f2, n<=0, returning sum(...) 1 2 3 1 2
|
||||
true 9
|
||||
--f, n, table.unpack(t) func.2 3 1 2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 2 3 1 2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 3 1 2 3
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 3 1 2 3
|
||||
--f2, n<=0, returning sum(...) 1 2 3 1 2 3
|
||||
true 12
|
||||
--f, n, table.unpack(t) func.2 3 1 2 3 4
|
||||
--f2, n>0, returning f2(n-1,n,...) 2 3 1 2 3 4
|
||||
--f2, n>0, returning f2(n-1,n,...) 1 2 3 1 2 3 4
|
||||
--f2, n>0, returning f2(n-1,n,...) 0 1 2 3 1 2 3 4
|
||||
--f2, n<=0, returning sum(...) 1 2 3 1 2 3 4
|
||||
true 16
|
||||
--f, n, table.unpack(t) func.3 0
|
||||
true 0
|
||||
--f, n, table.unpack(t) func.3 0 1
|
||||
true 1
|
||||
--f, n, table.unpack(t) func.3 0 1 2
|
||||
true 3
|
||||
--f, n, table.unpack(t) func.3 0 1 2 3
|
||||
true 6
|
||||
--f, n, table.unpack(t) func.3 0 1 2 3 4
|
||||
true 10
|
||||
--f, n, table.unpack(t) func.3 1
|
||||
f3,n-1,n,... func.3 0 1
|
||||
true true 1
|
||||
--f, n, table.unpack(t) func.3 1 1
|
||||
f3,n-1,n,... func.3 0 1 1
|
||||
true true 2
|
||||
--f, n, table.unpack(t) func.3 1 1 2
|
||||
f3,n-1,n,... func.3 0 1 1 2
|
||||
true true 4
|
||||
--f, n, table.unpack(t) func.3 1 1 2 3
|
||||
f3,n-1,n,... func.3 0 1 1 2 3
|
||||
true true 7
|
||||
--f, n, table.unpack(t) func.3 1 1 2 3 4
|
||||
f3,n-1,n,... func.3 0 1 1 2 3 4
|
||||
true true 11
|
||||
--f, n, table.unpack(t) func.3 2
|
||||
f3,n-1,n,... func.3 1 2
|
||||
f3,n-1,n,... func.3 0 1 2
|
||||
true true true 3
|
||||
--f, n, table.unpack(t) func.3 2 1
|
||||
f3,n-1,n,... func.3 1 2 1
|
||||
f3,n-1,n,... func.3 0 1 2 1
|
||||
true true true 4
|
||||
--f, n, table.unpack(t) func.3 2 1 2
|
||||
f3,n-1,n,... func.3 1 2 1 2
|
||||
f3,n-1,n,... func.3 0 1 2 1 2
|
||||
true true true 6
|
||||
--f, n, table.unpack(t) func.3 2 1 2 3
|
||||
f3,n-1,n,... func.3 1 2 1 2 3
|
||||
f3,n-1,n,... func.3 0 1 2 1 2 3
|
||||
true true true 9
|
||||
--f, n, table.unpack(t) func.3 2 1 2 3 4
|
||||
f3,n-1,n,... func.3 1 2 1 2 3 4
|
||||
f3,n-1,n,... func.3 0 1 2 1 2 3 4
|
||||
true true true 13
|
||||
--f, n, table.unpack(t) func.3 3
|
||||
f3,n-1,n,... func.3 2 3
|
||||
f3,n-1,n,... func.3 1 2 3
|
||||
f3,n-1,n,... func.3 0 1 2 3
|
||||
true true true true 6
|
||||
--f, n, table.unpack(t) func.3 3 1
|
||||
f3,n-1,n,... func.3 2 3 1
|
||||
f3,n-1,n,... func.3 1 2 3 1
|
||||
f3,n-1,n,... func.3 0 1 2 3 1
|
||||
true true true true 7
|
||||
--f, n, table.unpack(t) func.3 3 1 2
|
||||
f3,n-1,n,... func.3 2 3 1 2
|
||||
f3,n-1,n,... func.3 1 2 3 1 2
|
||||
f3,n-1,n,... func.3 0 1 2 3 1 2
|
||||
true true true true 9
|
||||
--f, n, table.unpack(t) func.3 3 1 2 3
|
||||
f3,n-1,n,... func.3 2 3 1 2 3
|
||||
f3,n-1,n,... func.3 1 2 3 1 2 3
|
||||
f3,n-1,n,... func.3 0 1 2 3 1 2 3
|
||||
true true true true 12
|
||||
--f, n, table.unpack(t) func.3 3 1 2 3 4
|
||||
f3,n-1,n,... func.3 2 3 1 2 3 4
|
||||
f3,n-1,n,... func.3 1 2 3 1 2 3 4
|
||||
f3,n-1,n,... func.3 0 1 2 3 1 2 3 4
|
||||
true true true true 16
|
||||
120
|
||||
120
|
||||
1234
|
||||
true 832040
|
||||
true 832040
|
||||
true inf
|
||||
1 1 2 3 5 8 13 21 34
|
||||
23
luaj-test/src/test/resources/compatibility/jse/upvalues.out
Normal file
23
luaj-test/src/test/resources/compatibility/jse/upvalues.out
Normal file
@@ -0,0 +1,23 @@
|
||||
-------- simple upvalues tests --------
|
||||
6
|
||||
5
|
||||
f1()= 6
|
||||
g1()= 5
|
||||
6
|
||||
5
|
||||
f2()= 6
|
||||
g2()= 5
|
||||
g1()= 4
|
||||
f1()= 5
|
||||
simplevalues result: true
|
||||
----------- upvalued in middle ------------
|
||||
x= 3
|
||||
y= 5
|
||||
z= 7
|
||||
x= x
|
||||
y= y
|
||||
z= z
|
||||
true
|
||||
--------- nested upvalues ----------
|
||||
10 20
|
||||
nestedupvaluestest result: true
|
||||
418
luaj-test/src/test/resources/compatibility/jse/vm.out
Normal file
418
luaj-test/src/test/resources/compatibility/jse/vm.out
Normal file
@@ -0,0 +1,418 @@
|
||||
-------- basic vm tests --------
|
||||
-- boolean tests
|
||||
true
|
||||
false
|
||||
false
|
||||
true
|
||||
true
|
||||
false
|
||||
false
|
||||
true
|
||||
true
|
||||
false
|
||||
false
|
||||
true
|
||||
false
|
||||
true
|
||||
1
|
||||
0
|
||||
nil
|
||||
1
|
||||
0
|
||||
nil
|
||||
booleantests result: true
|
||||
------------- varargs
|
||||
---- function p()
|
||||
--p():
|
||||
a nil
|
||||
...
|
||||
...,a nil nil
|
||||
a,... nil
|
||||
-> true
|
||||
--p("q"):
|
||||
a q
|
||||
...
|
||||
...,a nil q
|
||||
a,... q
|
||||
-> true
|
||||
--p("q","r"):
|
||||
a q
|
||||
... r
|
||||
...,a r q
|
||||
a,... q r
|
||||
-> true
|
||||
--p("q","r","s"):
|
||||
a q
|
||||
... r s
|
||||
...,a r q
|
||||
a,... q r s
|
||||
-> true
|
||||
---- function q()
|
||||
--q():
|
||||
a,arg[1],arg[2],arg[3] nil nil global-1 global-2 global-3
|
||||
-> true
|
||||
--q("q"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
-> true
|
||||
--q("q","r"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
-> true
|
||||
--q("q","r","s"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
-> true
|
||||
---- function r()
|
||||
--r():
|
||||
a,arg[1],arg[2],arg[3] nil nil global-1 global-2 global-3
|
||||
a nil
|
||||
...
|
||||
...,a nil nil
|
||||
a,... nil
|
||||
-> true
|
||||
--r("q"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
a q
|
||||
...
|
||||
...,a nil q
|
||||
a,... q
|
||||
-> true
|
||||
--r("q","r"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
a q
|
||||
... r
|
||||
...,a r q
|
||||
a,... q r
|
||||
-> true
|
||||
--r("q","r","s"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
a q
|
||||
... r s
|
||||
...,a r q
|
||||
a,... q r s
|
||||
-> true
|
||||
---- function s()
|
||||
--s():
|
||||
a,arg[1],arg[2],arg[3] nil 1 2 3
|
||||
a nil
|
||||
-> true
|
||||
--s("q"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
-> true
|
||||
--s("q","r"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
-> true
|
||||
--s("q","r","s"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
-> true
|
||||
---- function t()
|
||||
--t():
|
||||
a,arg[1],arg[2],arg[3] nil 1 2 3
|
||||
a nil
|
||||
...
|
||||
...,a nil nil
|
||||
a,... nil
|
||||
-> true
|
||||
--t("q"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
...
|
||||
...,a nil q
|
||||
a,... q
|
||||
-> true
|
||||
--t("q","r"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
... r
|
||||
...,a r q
|
||||
a,... q r
|
||||
-> true
|
||||
--t("q","r","s"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
... r s
|
||||
...,a r q
|
||||
a,... q r s
|
||||
-> true
|
||||
---- function u()
|
||||
--u():
|
||||
arg nil
|
||||
-> true
|
||||
--u("q"):
|
||||
arg q
|
||||
-> true
|
||||
--u("q","r"):
|
||||
arg q
|
||||
-> true
|
||||
--u("q","r","s"):
|
||||
arg q
|
||||
-> true
|
||||
---- function v()
|
||||
--v():
|
||||
arg nil
|
||||
...
|
||||
arg,... nil
|
||||
-> true
|
||||
--v("q"):
|
||||
arg q
|
||||
...
|
||||
arg,... q
|
||||
-> true
|
||||
--v("q","r"):
|
||||
arg q
|
||||
... r
|
||||
arg,... q r
|
||||
-> true
|
||||
--v("q","r","s"):
|
||||
arg q
|
||||
... r s
|
||||
arg,... q r s
|
||||
-> true
|
||||
varargstest result: true
|
||||
---------- metatable tests
|
||||
ell
|
||||
set{} tbl.1 tbl.2 tbl.1 nil
|
||||
set-nil tbl.1 nil tbl.1 nil
|
||||
set{} tbl.1 tbl.3 tbl.1 nil
|
||||
set tbl.1 tbl.3 false string
|
||||
set{} tbl.1 tbl.4 tbl.1 nil
|
||||
set{} tbl.1 tbl.5 tbl.1 nil
|
||||
set{}{} tbl.1 tbl.6 tbl.1 nil
|
||||
set-nil tbl.1 nil tbl.1 nil
|
||||
set{__} tbl.1 tbl.7 tbl.1 nil
|
||||
set{} tbl.1 tbl.7 false string
|
||||
set-nil tbl.1 tbl.7 false string
|
||||
set{} tbl.8 tbl.9 tbl.8 nil
|
||||
set-nil tbl.8 nil tbl.8 nil
|
||||
set{__} tbl.8 abc tbl.8 nil
|
||||
set{} tbl.8 abc false string
|
||||
set-nil tbl.8 abc false string
|
||||
t.a 1234
|
||||
t.b 1235
|
||||
t.a 1234
|
||||
t.b 1235
|
||||
t.c 1236
|
||||
t.a 1234
|
||||
t.b 1235
|
||||
t.c 1236
|
||||
t.d 1237
|
||||
metatabletests result: true
|
||||
------------ huge tables
|
||||
#t= 100 t[1,50,51,59] 1 1 1 1
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
#t2= 70 t[1,50,51,59] 1 1 1 1
|
||||
0,3,4,7,9,8,12,15,23,5,10,13,14,17,19,18,112,115,123,15,20,33,24,27,29,28,212,215,223,25,40,43,44,47,49,48,412,415,423,45,50,53,54,57,59,58,512,515,523,55,60,63,64,67,69,68,612,615,623,65,70,73,74,77,79,78,72,715,723,75
|
||||
t[2000] a
|
||||
t[2001] b
|
||||
t[2002] c
|
||||
t[2003] d
|
||||
t[2004] e
|
||||
t[2005] f
|
||||
t[2006] g
|
||||
t[2007] h
|
||||
t[2008] i
|
||||
t[2009] j
|
||||
t[3000] a
|
||||
t[3001] b
|
||||
t[3002] c
|
||||
t[3003] d
|
||||
t[3004] e
|
||||
t[3005] f
|
||||
t[3006] g
|
||||
t[3007] h
|
||||
t[3008] i
|
||||
t[3009] j
|
||||
t[4000] a
|
||||
t[4001] b
|
||||
t[4002] c
|
||||
t[4003] d
|
||||
t[4004] e
|
||||
t[4005] f
|
||||
t[4006] g
|
||||
t[4007] h
|
||||
t[4008] i
|
||||
t[4009] j
|
||||
t[5000] a
|
||||
t[5001] b
|
||||
t[5002] c
|
||||
t[5003] d
|
||||
t[5004] e
|
||||
t[5005] f
|
||||
t[5006] g
|
||||
t[5007] h
|
||||
t[5008] i
|
||||
t[5009] j
|
||||
t[6000] a
|
||||
t[6001] b
|
||||
t[6002] c
|
||||
t[6003] d
|
||||
t[6004] e
|
||||
t[6005] f
|
||||
t[6006] g
|
||||
t[6007] h
|
||||
t[6008] i
|
||||
t[6009] j
|
||||
t[7000] a
|
||||
t[7001] b
|
||||
t[7002] c
|
||||
t[7003] d
|
||||
t[7004] e
|
||||
t[7005] f
|
||||
t[7006] g
|
||||
t[7007] h
|
||||
t[7008] i
|
||||
t[7009] j
|
||||
t[8000] a
|
||||
t[8001] b
|
||||
t[8002] c
|
||||
t[8003] d
|
||||
t[8004] e
|
||||
t[8005] f
|
||||
t[8006] g
|
||||
t[8007] h
|
||||
t[8008] i
|
||||
t[8009] j
|
||||
hugetables result: true
|
||||
--------- many locals
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
manylocals result: true
|
||||
240
luaj-test/src/test/resources/compatibility/luajit/baselib.out
Normal file
240
luaj-test/src/test/resources/compatibility/luajit/baselib.out
Normal file
@@ -0,0 +1,240 @@
|
||||
|
||||
11
|
||||
abc 123 nil pqr
|
||||
F
|
||||
F
|
||||
T
|
||||
assert(true) true
|
||||
pcall(assert,true) true
|
||||
pcall(assert,false) false string
|
||||
pcall(assert,nil) false string
|
||||
pcall(assert,true,"msg") true
|
||||
pcall(assert,false,"msg") false string
|
||||
pcall(assert,nil,"msg") false string
|
||||
pcall(assert,false,"msg","msg2") false string
|
||||
collectgarbage("count") number
|
||||
collectgarbage("collect") number
|
||||
collectgarbage("count") number
|
||||
pcall(ipairs) false string
|
||||
pcall(ipairs,nil) false string
|
||||
pcall(ipairs,"a") false string
|
||||
pcall(ipairs,1) false string
|
||||
ipairs2 1 one
|
||||
ipairs2 2 two
|
||||
ipairs4 1 one
|
||||
ipairs4 2 two
|
||||
table loaded
|
||||
load: nil
|
||||
load("print(3+4); return 8") func.1 nil
|
||||
7
|
||||
load("print(3+4); return 8")() 8
|
||||
pcall(pairs) false string
|
||||
pcall(pairs,nil) false string
|
||||
pcall(pairs,"a") false string
|
||||
pcall(pairs,1) false string
|
||||
pairs2 1 one
|
||||
pairs2 2 two
|
||||
pairs3 aa aaa
|
||||
pairs4 1 one
|
||||
pairs4 2 two
|
||||
pairs4 aa aaa
|
||||
pairs5 20 30
|
||||
pairs5 30 20
|
||||
_G["abc"] (before) nil
|
||||
_G["abc"] (after) def
|
||||
type(nil) nil
|
||||
type("a") string
|
||||
type(1) number
|
||||
type(1.5) number
|
||||
type(function() end) function
|
||||
type({}) table
|
||||
type(true) boolean
|
||||
type(false) boolean
|
||||
pcall(type,type) function
|
||||
pcall(type) false string
|
||||
(function() return pcall(type) end)() false string
|
||||
la() false string
|
||||
ga() false string
|
||||
getmetatable(ta) nil
|
||||
getmetatable(tb) nil
|
||||
setmetatable(ta),{cc1="ccc1"} table
|
||||
setmetatable(tb),{dd1="ddd1"} table
|
||||
getmetatable(ta)["cc1"] ccc1
|
||||
getmetatable(tb)["dd1"] ddd1
|
||||
getmetatable(1) nil
|
||||
pcall(setmetatable,1) false string
|
||||
pcall(setmetatable,nil) false string
|
||||
pcall(setmetatable,"ABC") false string
|
||||
pcall(setmetatable,function() end) false string
|
||||
pcall(rawget) false string
|
||||
pcall(rawget,"a") false string
|
||||
pcall(rawget,s) false string
|
||||
pcall(rawget,t) false string
|
||||
s nil nil ccc ddd nil nil nil
|
||||
s nil nil ccc ddd nil nil nil
|
||||
t aaa bbb ccc ddd nil nil nil
|
||||
t nil nil ccc ddd nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawset,s,"aa","www") tbl.2
|
||||
s www nil ccc ddd nil nil nil
|
||||
s www nil ccc ddd nil nil nil
|
||||
t aaa bbb ccc ddd nil nil nil
|
||||
t nil nil ccc ddd nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawset,s,"cc","xxx") tbl.2
|
||||
s www nil xxx ddd nil nil nil
|
||||
s www nil xxx ddd nil nil nil
|
||||
t aaa bbb ccc ddd nil nil nil
|
||||
t nil nil ccc ddd nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawset,t,"aa","yyy") tbl.3
|
||||
s www nil xxx ddd nil nil nil
|
||||
s www nil xxx ddd nil nil nil
|
||||
t yyy bbb ccc ddd nil nil nil
|
||||
t yyy nil ccc ddd nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawset,t,"dd","zzz") tbl.3
|
||||
s www nil xxx ddd nil nil nil
|
||||
s www nil xxx ddd nil nil nil
|
||||
t yyy bbb ccc zzz nil nil nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
pcall(rawlen, {}) false string
|
||||
pcall(rawlen, {"a"}) false string
|
||||
pcall(rawlen, {"a","b"}) false string
|
||||
pcall(rawlen, "") false string
|
||||
pcall(rawlen, "a") false string
|
||||
pcall(rawlen, "ab") false string
|
||||
pcall(rawlen, 1) false string
|
||||
pcall(rawlen, nil) false string
|
||||
pcall(rawlen) false string
|
||||
s www nil xxx ddd nil nil nil
|
||||
s www nil xxx ddd nil nil nil
|
||||
t yyy bbb ccc zzz nil nil nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
s["ee"]="ppp"
|
||||
s www nil xxx ddd ppp nil nil
|
||||
s www nil xxx ddd ppp nil nil
|
||||
t yyy bbb ccc zzz nil nil nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
s["cc"]="qqq"
|
||||
s www nil qqq ddd ppp nil nil
|
||||
s www nil qqq ddd ppp nil nil
|
||||
t yyy bbb ccc zzz nil nil nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
mt aaa bbb nil nil nil nil nil
|
||||
t["ff"]="rrr"
|
||||
s www nil qqq ddd ppp nil nil
|
||||
s www nil qqq ddd ppp nil nil
|
||||
t yyy bbb ccc zzz nil rrr nil
|
||||
t yyy nil ccc zzz nil nil nil
|
||||
mt aaa bbb nil nil nil rrr nil
|
||||
mt aaa bbb nil nil nil rrr nil
|
||||
t["dd"]="sss"
|
||||
s www nil qqq ddd ppp nil nil
|
||||
s www nil qqq ddd ppp nil nil
|
||||
t yyy bbb ccc sss nil rrr nil
|
||||
t yyy nil ccc sss nil nil nil
|
||||
mt aaa bbb nil nil nil rrr nil
|
||||
mt aaa bbb nil nil nil rrr nil
|
||||
mt["gg"]="ttt"
|
||||
s www nil qqq ddd ppp nil nil
|
||||
s www nil qqq ddd ppp nil nil
|
||||
t yyy bbb ccc sss nil rrr ttt
|
||||
t yyy nil ccc sss nil nil nil
|
||||
mt aaa bbb nil nil nil rrr ttt
|
||||
mt aaa bbb nil nil nil rrr ttt
|
||||
pcall(select) false string
|
||||
select(1,11,22,33,44,55) 11 22 33 44 55
|
||||
select(2,11,22,33,44,55) 22 33 44 55
|
||||
select(3,11,22,33,44,55) 33 44 55
|
||||
select(4,11,22,33,44,55) 44 55
|
||||
pcall(select,5,11,22,33,44,55) 55
|
||||
pcall(select,6,11,22,33,44,55) nil
|
||||
pcall(select,7,11,22,33,44,55) nil
|
||||
pcall(select,0,11,22,33,44,55) false string
|
||||
pcall(select,-1,11,22,33,44,55) 55
|
||||
pcall(select,-2,11,22,33,44,55) 44
|
||||
pcall(select,-4,11,22,33,44,55) 22
|
||||
pcall(select,-5,11,22,33,44,55) 11
|
||||
pcall(select,-6,11,22,33,44,55) false string
|
||||
pcall(select,1) nil
|
||||
pcall(select,select) false string
|
||||
pcall(select,{}) false string
|
||||
pcall(select,"2",11,22,33) 22
|
||||
pcall(select,"abc",11,22,33) false string
|
||||
pcall(tonumber) nil
|
||||
pcall(tonumber,nil) nil
|
||||
pcall(tonumber,"abc") nil
|
||||
pcall(tonumber,"123") 123
|
||||
pcall(tonumber,"123",10) 123
|
||||
pcall(tonumber,"123",8) 83
|
||||
pcall(tonumber,"123",6) 51
|
||||
pcall(tonumber,"10101",4) 273
|
||||
pcall(tonumber,"10101",3) 91
|
||||
pcall(tonumber,"10101",2) 21
|
||||
pcall(tonumber,"1a1",16) 417
|
||||
pcall(tonumber,"1a1",32) 1345
|
||||
pcall(tonumber,"1a1",54) false string
|
||||
pcall(tonumber,"1a1",1) false string
|
||||
pcall(tonumber,"1a1",0) false string
|
||||
pcall(tonumber,"1a1",-1) false string
|
||||
pcall(tonumber,"1a1","32") 1345
|
||||
pcall(tonumber,"123","456") false string
|
||||
pcall(tonumber,"1a1",10) nil
|
||||
pcall(tonumber,"151",4) nil
|
||||
pcall(tonumber,"151",3) nil
|
||||
pcall(tonumber,"151",2) nil
|
||||
pcall(tonumber,"123",8,8) 83
|
||||
pcall(tonumber,123) 123
|
||||
pcall(tonumber,true) nil
|
||||
pcall(tonumber,false) nil
|
||||
pcall(tonumber,tonumber) nil
|
||||
pcall(tonumber,function() end) nil
|
||||
pcall(tonumber,{"one","two",a="aa",b="bb"}) nil
|
||||
pcall(tonumber,"123.456") 123.456
|
||||
pcall(tonumber," 123.456") 123.456
|
||||
pcall(tonumber," 234qwer") nil
|
||||
pcall(tonumber,"0x20") 32
|
||||
pcall(tonumber," 0x20") 32
|
||||
pcall(tonumber,"0x20 ") 32
|
||||
pcall(tonumber," 0x20 ") 32
|
||||
pcall(tonumber,"0X20") 32
|
||||
pcall(tonumber," 0X20") 32
|
||||
pcall(tonumber,"0X20 ") 32
|
||||
pcall(tonumber," 0X20 ") 32
|
||||
pcall(tonumber,"0x20",10) 32
|
||||
pcall(tonumber,"0x20",16) 32
|
||||
pcall(tonumber,"0x20",8) nil
|
||||
pcall(tostring) nil
|
||||
pcall(tostring,nil) nil
|
||||
pcall(tostring,"abc") abc
|
||||
pcall(tostring,"abc","def") abc
|
||||
pcall(tostring,123) 123
|
||||
pcall(tostring,true) true
|
||||
pcall(tostring,false) false
|
||||
tostring(tostring) string
|
||||
tostring(function() end) string
|
||||
tostring({"one","two",a="aa",b="bb"}) string
|
||||
_VERSION string
|
||||
pcall(badfunc) false string
|
||||
pcall(badfunc,errfunc) false string
|
||||
pcall(badfunc,badfunc) false string
|
||||
pcall(wrappedbad) nil
|
||||
pcall(wrappedbad,errfunc) nil
|
||||
pcall(xpcall(badfunc)) false string
|
||||
in errfunc string
|
||||
pcall(xpcall(badfunc,errfunc)) false
|
||||
pcall(xpcall(badfunc,badfunc)) false
|
||||
pcall(xpcall(wrappedbad)) false string
|
||||
xpcall(wrappedbad,errfunc) true
|
||||
@@ -0,0 +1,95 @@
|
||||
running is nil
|
||||
co.status suspended
|
||||
co-body 1 10
|
||||
foo 2
|
||||
main true 4
|
||||
co.status suspended
|
||||
co-body r
|
||||
main true 11 -9
|
||||
co.status suspended
|
||||
co-body x y
|
||||
running is not nil
|
||||
co.status.inside running
|
||||
co.status.inside running
|
||||
co.status.inside2 normal
|
||||
main true 10 end
|
||||
co.status dead
|
||||
main false cannot resume dead coroutine
|
||||
co.status dead
|
||||
running is nil
|
||||
co.status suspended
|
||||
co-body 1 10
|
||||
foo 2
|
||||
main true 4
|
||||
co.status suspended
|
||||
co-body nil nil
|
||||
main true 11 -9
|
||||
co.status suspended
|
||||
co-body x y
|
||||
main true 10 end
|
||||
co.status dead
|
||||
main false cannot resume dead coroutine
|
||||
co.status dead
|
||||
co-body 1 10
|
||||
foo 2
|
||||
g 4
|
||||
co-body r
|
||||
g 11 -9
|
||||
co-body x y
|
||||
g 10 end
|
||||
g cannot resume dead coroutine
|
||||
(main) sending args 111 222 333
|
||||
(main) resume returns false coroutinelib.lua:83: attempt to call field 'pack' (a nil value)
|
||||
(main) sending args
|
||||
(main) resume returns false cannot resume dead coroutine
|
||||
(main) sending args 111
|
||||
(main) resume returns false cannot resume dead coroutine
|
||||
(main) sending args 111 222 333
|
||||
(main) resume returns false cannot resume dead coroutine
|
||||
main-b suspended
|
||||
main-c suspended
|
||||
b-resumed main-arg-for-b true
|
||||
b-b running
|
||||
b-c suspended
|
||||
b-resume-b false cannot resume running coroutine
|
||||
c-resumed b-arg-for-c true
|
||||
c-b normal
|
||||
c-c running
|
||||
c-resume-b false cannot resume running coroutine
|
||||
c-resume-c false cannot resume running coroutine
|
||||
b-resume-c true c-rslt
|
||||
main-resume-b true b-rslt
|
||||
c-resumed main-arg-for-c true
|
||||
c-b suspended
|
||||
c-c running
|
||||
b-resumed b-arg-for-b true
|
||||
b-b running
|
||||
b-c normal
|
||||
b-resume-b false cannot resume running coroutine
|
||||
b-resume-c false cannot resume running coroutine
|
||||
c-resume-b true b-rslt
|
||||
c-resume-c false cannot resume running coroutine
|
||||
main-resume-c true c-rslt
|
||||
main-b suspended
|
||||
main-c suspended
|
||||
b-resumed main-arg-for-b true
|
||||
b-b running
|
||||
b-c suspended
|
||||
b-resume-b false cannot resume running coroutine
|
||||
c-resumed b-arg-for-c true
|
||||
c-b normal
|
||||
c-c running
|
||||
c-resume-b false cannot resume running coroutine
|
||||
c-resume-c false cannot resume running coroutine
|
||||
b-resume-c true c-rslt
|
||||
main-resume-b true b-rslt
|
||||
main-resume-c true
|
||||
main-b suspended
|
||||
main-c dead
|
||||
b-resumed main-arg-for-b true
|
||||
b-b running
|
||||
b-c dead
|
||||
b-resume-b false cannot resume running coroutine
|
||||
b-resume-c false cannot resume dead coroutine
|
||||
main-resume-b true b-rslt
|
||||
main-resume-c false cannot resume dead coroutine
|
||||
97
luaj-test/src/test/resources/compatibility/luajit/errors.out
Normal file
97
luaj-test/src/test/resources/compatibility/luajit/errors.out
Normal file
@@ -0,0 +1,97 @@
|
||||
a(error) false nil
|
||||
a(error,"msg") false string
|
||||
a(error,"msg",0) false string
|
||||
a(error,"msg",1) false string
|
||||
a(error,"msg",2) false string
|
||||
a(error,"msg",3) false string
|
||||
a(error,"msg",4) false string
|
||||
a(error,"msg",5) false string
|
||||
a(error,"msg",6) false string
|
||||
a(nil()) false string
|
||||
a(t()) false string
|
||||
a(s()) false string
|
||||
a(true()) false string
|
||||
a(nil+1) false string
|
||||
a(a+1) false string
|
||||
a(s+1) false string
|
||||
a(true+1) false string
|
||||
a(nil.x) false string
|
||||
a(a.x) false string
|
||||
a(s.x) true nil
|
||||
a(true.x) false string
|
||||
a(nil.x=5) false string
|
||||
a(a.x=5) false string
|
||||
a(s.x=5) false string
|
||||
a(true.x=5) false string
|
||||
a(#nil) false string
|
||||
a(#t) true 0
|
||||
a(#s) true 11
|
||||
a(#a) false string
|
||||
a(#true) false string
|
||||
a(nil>1) false string
|
||||
a(a>1) false string
|
||||
a(s>1) false string
|
||||
a(true>1) false string
|
||||
a(-nil) false string
|
||||
a(-a) false string
|
||||
a(-s) false string
|
||||
a(-true) false string
|
||||
-------- string concatenation
|
||||
"a".."b" true
|
||||
"a"..nil false
|
||||
nil.."b" false
|
||||
"a"..{} false
|
||||
{}.."b" false
|
||||
"a"..2 true
|
||||
2.."b" true
|
||||
"a"..print false
|
||||
print.."b" false
|
||||
"a"..true false
|
||||
true.."b" false
|
||||
nil..true false
|
||||
"a"..3.5 true
|
||||
3.5.."b" true
|
||||
-------- table concatenation
|
||||
"a".."b" true
|
||||
"a"..nil false
|
||||
nil.."b" false
|
||||
"a"..{} false
|
||||
{}.."b" false
|
||||
"a"..2 true
|
||||
2.."b" true
|
||||
"a"..print false
|
||||
print.."b" false
|
||||
"a"..true false
|
||||
true.."b" false
|
||||
nil..true false
|
||||
"a"..3.5 true
|
||||
3.5.."b" true
|
||||
-------- pairs tests
|
||||
a(pairs(nil)) false string
|
||||
a(pairs(a)) false string
|
||||
a(pairs(s)) false string
|
||||
a(pairs(t)) true func.1
|
||||
a(pairs(true)) false string
|
||||
-------- setmetatable tests
|
||||
a(setmetatable(nil)) false string
|
||||
a(setmetatable(a)) false string
|
||||
a(setmetatable(s)) false string
|
||||
a(setmetatable(true)) false string
|
||||
a(setmetatable(t)) true tbl.2
|
||||
a(getmetatable(t)) true tbl.3
|
||||
a(setmetatable(t*)) true tbl.2
|
||||
a(getmetatable(t)) true tbl.4
|
||||
a(setmetatable(t)) false string
|
||||
a(getmetatable(t)) true tbl.4
|
||||
a(setmetatable(t)) true tbl.5
|
||||
a(getmetatable(t)) true tbl.6
|
||||
a(setmetatable(t*)) true tbl.5
|
||||
a(getmetatable(t)) true some string
|
||||
a(setmetatable(t)) false string
|
||||
a(getmetatable(t)) true some string
|
||||
a(setmetatable(t,nil)) false string
|
||||
a(setmetatable(t)) false string
|
||||
a(setmetatable({},"abc")) false string
|
||||
error("msg","arg") false string
|
||||
loadfile("bogus.txt") true nil
|
||||
dofile("bogus.txt") false string
|
||||
@@ -0,0 +1,68 @@
|
||||
f0:
|
||||
f0:
|
||||
f0:
|
||||
f0:
|
||||
f0:
|
||||
f1: nil
|
||||
f1: a1/1
|
||||
f1: a1/2
|
||||
f1: a1/3
|
||||
f1: a1/4
|
||||
f2: nil nil
|
||||
f2: a1/1 nil
|
||||
f2: a1/2 a2/2
|
||||
f2: a1/3 a2/3
|
||||
f2: a1/4 a2/4
|
||||
f3: nil nil nil
|
||||
f3: a1/1 nil nil
|
||||
f3: a1/2 a2/2 nil
|
||||
f3: a1/3 a2/3 a3/3
|
||||
f3: a1/4 a2/4 a3/4
|
||||
f4: nil nil nil nil
|
||||
f4: a1/1 nil nil nil
|
||||
f4: a1/2 a2/2 nil nil
|
||||
f4: a1/3 a2/3 a3/3 nil
|
||||
f4: a1/4 a2/4 a3/4 a4/4
|
||||
z0: nil
|
||||
z2: c2.3/4
|
||||
z4: c4.1/4
|
||||
g0: nil nil nil nil (eol)
|
||||
g2: b2.3/4 b2.4/4 nil nil (eol)
|
||||
g4: b4.1/4 b4.2/4 b4.3/4 b4.4/4 (eol)
|
||||
11 12 13
|
||||
23 22 21
|
||||
32 45 58
|
||||
a nil
|
||||
...
|
||||
...,a nil nil
|
||||
a,... nil
|
||||
a q
|
||||
...
|
||||
...,a nil q
|
||||
a,... q
|
||||
a q
|
||||
... r
|
||||
...,a r q
|
||||
a,... q r
|
||||
a q
|
||||
... r s
|
||||
...,a r q
|
||||
a,... q r s
|
||||
third abc nil | nil nil nil
|
||||
third def nil | nil nil nil
|
||||
third def nil | nil nil nil
|
||||
third abc p | p nil nil
|
||||
third def nil | p nil nil
|
||||
third def nil | p nil nil
|
||||
third abc p | p q nil
|
||||
third def q | p q nil
|
||||
third def q | p q nil
|
||||
third abc p | p q r
|
||||
third def q | p q r
|
||||
third def q | p q r
|
||||
third abc p | p q r
|
||||
third def q | p q r
|
||||
third def q | p q r
|
||||
third abc nil | nil nil nil
|
||||
third def nil | nil nil nil
|
||||
third def nil | nil nil nil
|
||||
@@ -0,0 +1,8 @@
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
write true
|
||||
Thiswrite true
|
||||
is a pen.write true
|
||||
1981
luaj-test/src/test/resources/compatibility/luajit/manyupvals.out
Normal file
1981
luaj-test/src/test/resources/compatibility/luajit/manyupvals.out
Normal file
File diff suppressed because it is too large
Load Diff
645
luaj-test/src/test/resources/compatibility/luajit/metatags.out
Normal file
645
luaj-test/src/test/resources/compatibility/luajit/metatags.out
Normal file
@@ -0,0 +1,645 @@
|
||||
---- __eq same types
|
||||
nil nil before true true
|
||||
nil nil before true false
|
||||
true
|
||||
true
|
||||
nil nil after true true
|
||||
nil nil after true false
|
||||
true
|
||||
true
|
||||
boolean boolean before true false
|
||||
boolean boolean before true true
|
||||
true
|
||||
true
|
||||
boolean boolean after true false
|
||||
boolean boolean after true true
|
||||
true
|
||||
true
|
||||
number number before true false
|
||||
number number before true true
|
||||
true
|
||||
true
|
||||
number number after true false
|
||||
number number after true true
|
||||
true
|
||||
true
|
||||
number number before true false
|
||||
number number before true true
|
||||
true
|
||||
true
|
||||
number number after true false
|
||||
number number after true true
|
||||
true
|
||||
true
|
||||
function function before true false
|
||||
function function before true true
|
||||
true
|
||||
true
|
||||
function function after true false
|
||||
function function after true true
|
||||
true
|
||||
true
|
||||
thread nil before true false
|
||||
thread nil before true true
|
||||
true
|
||||
true
|
||||
thread nil after true false
|
||||
thread nil after true true
|
||||
true
|
||||
true
|
||||
string string before true false
|
||||
string string before true true
|
||||
true
|
||||
true
|
||||
string string after true false
|
||||
string string after true true
|
||||
true
|
||||
true
|
||||
number string before true false
|
||||
number string before true true
|
||||
true
|
||||
true
|
||||
number string after true false
|
||||
number string after true true
|
||||
true
|
||||
true
|
||||
---- __eq, tables - should invoke metatag comparison
|
||||
table table before true false
|
||||
table table before true true
|
||||
true
|
||||
true
|
||||
mt.__eq() table.1 table.2
|
||||
table table after-a true true
|
||||
mt.__eq() table.1 table.2
|
||||
table table after-a true false
|
||||
true
|
||||
true
|
||||
nilmt nil
|
||||
boolmt nil
|
||||
number nil
|
||||
function nil
|
||||
thread nil
|
||||
---- __call
|
||||
number before false attempt to call
|
||||
true
|
||||
mt.__call() 111 nil
|
||||
number after true __call-result
|
||||
mt.__call() 111 a
|
||||
number after true __call-result
|
||||
mt.__call() 111 a
|
||||
number after true __call-result
|
||||
mt.__call() 111 a
|
||||
number after true __call-result
|
||||
mt.__call() 111 a
|
||||
number after true __call-result
|
||||
true
|
||||
boolean before false attempt to call
|
||||
true
|
||||
mt.__call() false nil
|
||||
boolean after true __call-result
|
||||
mt.__call() false a
|
||||
boolean after true __call-result
|
||||
mt.__call() false a
|
||||
boolean after true __call-result
|
||||
mt.__call() false a
|
||||
boolean after true __call-result
|
||||
mt.__call() false a
|
||||
boolean after true __call-result
|
||||
true
|
||||
function before true nil
|
||||
true
|
||||
function after true
|
||||
function after true
|
||||
function after true
|
||||
function after true
|
||||
function after true
|
||||
true
|
||||
thread before false attempt to call
|
||||
true
|
||||
mt.__call() thread.3 nil
|
||||
thread after true __call-result
|
||||
mt.__call() thread.3 a
|
||||
thread after true __call-result
|
||||
mt.__call() thread.3 a
|
||||
thread after true __call-result
|
||||
mt.__call() thread.3 a
|
||||
thread after true __call-result
|
||||
mt.__call() thread.3 a
|
||||
thread after true __call-result
|
||||
true
|
||||
table before false attempt to call
|
||||
true
|
||||
mt.__call() table.1 nil
|
||||
table after true __call-result
|
||||
mt.__call() table.1 a
|
||||
table after true __call-result
|
||||
mt.__call() table.1 a
|
||||
table after true __call-result
|
||||
mt.__call() table.1 a
|
||||
table after true __call-result
|
||||
mt.__call() table.1 a
|
||||
table after true __call-result
|
||||
true
|
||||
---- __add, __sub, __mul, __div, __pow, __mod
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
boolean boolean before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__add() false false
|
||||
boolean boolean after true __add-result
|
||||
mt.__add() false false
|
||||
boolean boolean after true __add-result
|
||||
mt.__sub() false false
|
||||
boolean boolean after true __sub-result
|
||||
mt.__sub() false false
|
||||
boolean boolean after true __sub-result
|
||||
mt.__mul() false false
|
||||
boolean boolean after true __mul-result
|
||||
mt.__mul() false false
|
||||
boolean boolean after true __mul-result
|
||||
mt.__pow() false false
|
||||
boolean boolean after true __pow-result
|
||||
mt.__pow() false false
|
||||
boolean boolean after true __pow-result
|
||||
mt.__mod() false false
|
||||
boolean boolean after true __mod-result
|
||||
mt.__mod() false false
|
||||
boolean boolean after true __mod-result
|
||||
true
|
||||
true
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
boolean thread before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__add() false thread.3
|
||||
boolean thread after true __add-result
|
||||
mt.__add() thread.3 false
|
||||
boolean thread after true __add-result
|
||||
mt.__sub() false thread.3
|
||||
boolean thread after true __sub-result
|
||||
mt.__sub() thread.3 false
|
||||
boolean thread after true __sub-result
|
||||
mt.__mul() false thread.3
|
||||
boolean thread after true __mul-result
|
||||
mt.__mul() thread.3 false
|
||||
boolean thread after true __mul-result
|
||||
mt.__pow() false thread.3
|
||||
boolean thread after true __pow-result
|
||||
mt.__pow() thread.3 false
|
||||
boolean thread after true __pow-result
|
||||
mt.__mod() false thread.3
|
||||
boolean thread after true __mod-result
|
||||
mt.__mod() thread.3 false
|
||||
boolean thread after true __mod-result
|
||||
true
|
||||
true
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
boolean function before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__add() false function.4
|
||||
boolean function after true __add-result
|
||||
mt.__add() function.4 false
|
||||
boolean function after true __add-result
|
||||
mt.__sub() false function.4
|
||||
boolean function after true __sub-result
|
||||
mt.__sub() function.4 false
|
||||
boolean function after true __sub-result
|
||||
mt.__mul() false function.4
|
||||
boolean function after true __mul-result
|
||||
mt.__mul() function.4 false
|
||||
boolean function after true __mul-result
|
||||
mt.__pow() false function.4
|
||||
boolean function after true __pow-result
|
||||
mt.__pow() function.4 false
|
||||
boolean function after true __pow-result
|
||||
mt.__mod() false function.4
|
||||
boolean function after true __mod-result
|
||||
mt.__mod() function.4 false
|
||||
boolean function after true __mod-result
|
||||
true
|
||||
true
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
boolean string before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__add() false abc
|
||||
boolean string after true __add-result
|
||||
mt.__add() abc false
|
||||
boolean string after true __add-result
|
||||
mt.__sub() false abc
|
||||
boolean string after true __sub-result
|
||||
mt.__sub() abc false
|
||||
boolean string after true __sub-result
|
||||
mt.__mul() false abc
|
||||
boolean string after true __mul-result
|
||||
mt.__mul() abc false
|
||||
boolean string after true __mul-result
|
||||
mt.__pow() false abc
|
||||
boolean string after true __pow-result
|
||||
mt.__pow() abc false
|
||||
boolean string after true __pow-result
|
||||
mt.__mod() false abc
|
||||
boolean string after true __mod-result
|
||||
mt.__mod() abc false
|
||||
boolean string after true __mod-result
|
||||
true
|
||||
true
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
boolean table before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__add() false table.1
|
||||
boolean table after true __add-result
|
||||
mt.__add() table.1 false
|
||||
boolean table after true __add-result
|
||||
mt.__sub() false table.1
|
||||
boolean table after true __sub-result
|
||||
mt.__sub() table.1 false
|
||||
boolean table after true __sub-result
|
||||
mt.__mul() false table.1
|
||||
boolean table after true __mul-result
|
||||
mt.__mul() table.1 false
|
||||
boolean table after true __mul-result
|
||||
mt.__pow() false table.1
|
||||
boolean table after true __pow-result
|
||||
mt.__pow() table.1 false
|
||||
boolean table after true __pow-result
|
||||
mt.__mod() false table.1
|
||||
boolean table after true __mod-result
|
||||
mt.__mod() table.1 false
|
||||
boolean table after true __mod-result
|
||||
true
|
||||
true
|
||||
---- __len
|
||||
boolean before false attempt to get length of
|
||||
true
|
||||
mt.__len() false
|
||||
boolean after true __len-result
|
||||
true
|
||||
function before false attempt to get length of
|
||||
true
|
||||
mt.__len() function.4
|
||||
function after true __len-result
|
||||
true
|
||||
thread before false attempt to get length of
|
||||
true
|
||||
mt.__len() thread.3
|
||||
thread after true __len-result
|
||||
true
|
||||
number before false attempt to get length of
|
||||
true
|
||||
mt.__len() 111
|
||||
number after true __len-result
|
||||
true
|
||||
---- __neg
|
||||
nil before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__unm() false
|
||||
nil after true __unm-result
|
||||
true
|
||||
nil before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__unm() function.4
|
||||
nil after true __unm-result
|
||||
true
|
||||
nil before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__unm() thread.3
|
||||
nil after true __unm-result
|
||||
true
|
||||
nil before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__unm() abcd
|
||||
nil after true __unm-result
|
||||
true
|
||||
nil before false attempt to perform arithmetic
|
||||
true
|
||||
mt.__unm() table.1
|
||||
nil after true __unm-result
|
||||
true
|
||||
nil before true -111
|
||||
true
|
||||
nil after true -111
|
||||
true
|
||||
---- __lt, __le, same types
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
true
|
||||
true
|
||||
mt.__lt() true true
|
||||
boolean boolean after true true
|
||||
mt.__le() true true
|
||||
boolean boolean after true true
|
||||
mt.__lt() true true
|
||||
boolean boolean after true true
|
||||
mt.__le() true true
|
||||
boolean boolean after true true
|
||||
true
|
||||
true
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
boolean boolean before false attempt to compare
|
||||
true
|
||||
true
|
||||
mt.__lt() true false
|
||||
boolean boolean after true true
|
||||
mt.__le() true false
|
||||
boolean boolean after true true
|
||||
mt.__lt() false true
|
||||
boolean boolean after true true
|
||||
mt.__le() false true
|
||||
boolean boolean after true true
|
||||
true
|
||||
true
|
||||
function function before false attempt to compare
|
||||
function function before false attempt to compare
|
||||
function function before false attempt to compare
|
||||
function function before false attempt to compare
|
||||
true
|
||||
true
|
||||
mt.__lt() function.4 function.5
|
||||
function function after true true
|
||||
mt.__le() function.4 function.5
|
||||
function function after true true
|
||||
mt.__lt() function.5 function.4
|
||||
function function after true true
|
||||
mt.__le() function.5 function.4
|
||||
function function after true true
|
||||
true
|
||||
true
|
||||
thread thread before false attempt to compare
|
||||
thread thread before false attempt to compare
|
||||
thread thread before false attempt to compare
|
||||
thread thread before false attempt to compare
|
||||
true
|
||||
true
|
||||
mt.__lt() thread.3 thread.6
|
||||
thread thread after true true
|
||||
mt.__le() thread.3 thread.6
|
||||
thread thread after true true
|
||||
mt.__lt() thread.6 thread.3
|
||||
thread thread after true true
|
||||
mt.__le() thread.6 thread.3
|
||||
thread thread after true true
|
||||
true
|
||||
true
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
true
|
||||
true
|
||||
mt.__lt() table.1 table.1
|
||||
table table after true true
|
||||
mt.__le() table.1 table.1
|
||||
table table after true true
|
||||
mt.__lt() table.1 table.1
|
||||
table table after true true
|
||||
mt.__le() table.1 table.1
|
||||
table table after true true
|
||||
true
|
||||
true
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
table table before false attempt to compare
|
||||
true
|
||||
true
|
||||
mt.__lt() table.1 table.7
|
||||
table table after true true
|
||||
mt.__le() table.1 table.7
|
||||
table table after true true
|
||||
mt.__lt() table.7 table.1
|
||||
table table after true true
|
||||
mt.__le() table.7 table.1
|
||||
table table after true true
|
||||
true
|
||||
true
|
||||
---- __lt, __le, different types
|
||||
boolean thread before false attempt to compare
|
||||
boolean thread before false attempt to compare
|
||||
boolean thread before false attempt to compare
|
||||
boolean thread before false attempt to compare
|
||||
true
|
||||
true
|
||||
boolean thread after-a false attempt to compare
|
||||
boolean thread after-a false attempt to compare
|
||||
boolean thread after-a false attempt to compare
|
||||
boolean thread after-a false attempt to compare
|
||||
true
|
||||
true
|
||||
---- __tostring
|
||||
mt.__tostring(boolean)
|
||||
boolean after mt.__tostring(boolean) mt.__tostring(boolean)
|
||||
true
|
||||
true
|
||||
function after true mt.__tostring(function)
|
||||
true
|
||||
true
|
||||
thread after true mt.__tostring(thread)
|
||||
true
|
||||
true
|
||||
table after true mt.__tostring(table)
|
||||
true
|
||||
true
|
||||
string after true abc
|
||||
true
|
||||
---- __index, __newindex
|
||||
boolean before false attempt to index
|
||||
boolean before false attempt to index
|
||||
boolean before false index
|
||||
boolean before false index
|
||||
boolean before false attempt to index
|
||||
true
|
||||
mt.__index() false foo
|
||||
boolean after true __index-result
|
||||
mt.__index() false 123
|
||||
boolean after true __index-result
|
||||
mt.__newindex() false foo bar
|
||||
boolean after true
|
||||
mt.__newindex() false 123 bar
|
||||
boolean after true
|
||||
mt.__index() false foo
|
||||
boolean after false attempt to call
|
||||
true
|
||||
number before false attempt to index
|
||||
number before false attempt to index
|
||||
number before false index
|
||||
number before false index
|
||||
number before false attempt to index
|
||||
true
|
||||
mt.__index() 111 foo
|
||||
number after true __index-result
|
||||
mt.__index() 111 123
|
||||
number after true __index-result
|
||||
mt.__newindex() 111 foo bar
|
||||
number after true
|
||||
mt.__newindex() 111 123 bar
|
||||
number after true
|
||||
mt.__index() 111 foo
|
||||
number after false attempt to call
|
||||
true
|
||||
function before false attempt to index
|
||||
function before false attempt to index
|
||||
function before false index
|
||||
function before false index
|
||||
function before false attempt to index
|
||||
true
|
||||
mt.__index() function.4 foo
|
||||
function after true __index-result
|
||||
mt.__index() function.4 123
|
||||
function after true __index-result
|
||||
mt.__newindex() function.4 foo bar
|
||||
function after true
|
||||
mt.__newindex() function.4 123 bar
|
||||
function after true
|
||||
mt.__index() function.4 foo
|
||||
function after false attempt to call
|
||||
true
|
||||
thread before false attempt to index
|
||||
thread before false attempt to index
|
||||
thread before false index
|
||||
thread before false index
|
||||
thread before false attempt to index
|
||||
true
|
||||
mt.__index() thread.3 foo
|
||||
thread after true __index-result
|
||||
mt.__index() thread.3 123
|
||||
thread after true __index-result
|
||||
mt.__newindex() thread.3 foo bar
|
||||
thread after true
|
||||
mt.__newindex() thread.3 123 bar
|
||||
thread after true
|
||||
mt.__index() thread.3 foo
|
||||
thread after false attempt to call
|
||||
true
|
||||
---- __concat
|
||||
table function before false attempt to concatenate
|
||||
table function before false attempt to concatenate
|
||||
table string number before false attempt to concatenate
|
||||
string table number before false attempt to concatenate
|
||||
string number table before false attempt to concatenate
|
||||
true
|
||||
mt.__concat(table,function) table.1 function.4
|
||||
table function after true table.8
|
||||
mt.__concat(function,table) function.4 table.1
|
||||
table function after true table.8
|
||||
mt.__concat(table,string) table.1 sss777
|
||||
table string number before true table.8
|
||||
mt.__concat(table,number) table.1 777
|
||||
string table number before false attempt to concatenate
|
||||
mt.__concat(number,table) 777 table.1
|
||||
string number table before false attempt to concatenate
|
||||
true
|
||||
true
|
||||
function table before false attempt to concatenate
|
||||
function table before false attempt to concatenate
|
||||
function string number before false attempt to concatenate
|
||||
string function number before false attempt to concatenate
|
||||
string number function before false attempt to concatenate
|
||||
true
|
||||
mt.__concat(function,table) function.4 table.1
|
||||
function table after true table.8
|
||||
mt.__concat(table,function) table.1 function.4
|
||||
function table after true table.8
|
||||
mt.__concat(function,string) function.4 sss777
|
||||
function string number before true table.8
|
||||
mt.__concat(function,number) function.4 777
|
||||
string function number before false attempt to concatenate
|
||||
mt.__concat(number,function) 777 function.4
|
||||
string number function before false attempt to concatenate
|
||||
true
|
||||
true
|
||||
number nil before false attempt to concatenate
|
||||
number nil before false attempt to concatenate
|
||||
number string number before true 123sss777
|
||||
string number number before true sss123777
|
||||
string number number before true sss777123
|
||||
true
|
||||
mt.__concat(number,nil) 123 nil
|
||||
number nil after true table.8
|
||||
mt.__concat(nil,number) nil 123
|
||||
number nil after true table.8
|
||||
number string number before true 123sss777
|
||||
string number number before true sss123777
|
||||
string number number before true sss777123
|
||||
true
|
||||
true
|
||||
nil number before false attempt to concatenate
|
||||
nil number before false attempt to concatenate
|
||||
nil string number before false attempt to concatenate
|
||||
string nil number before false attempt to concatenate
|
||||
string number nil before false attempt to concatenate
|
||||
true
|
||||
mt.__concat(nil,number) nil 123
|
||||
nil number after true table.8
|
||||
mt.__concat(number,nil) 123 nil
|
||||
nil number after true table.8
|
||||
mt.__concat(nil,string) nil sss777
|
||||
nil string number before true table.8
|
||||
mt.__concat(nil,number) nil 777
|
||||
string nil number before false attempt to concatenate
|
||||
mt.__concat(number,nil) 777 nil
|
||||
string number nil before false attempt to concatenate
|
||||
true
|
||||
true
|
||||
---- __metatable
|
||||
boolean before true nil nil
|
||||
true
|
||||
boolean after true table.9 table.10
|
||||
true
|
||||
function before true nil nil
|
||||
true
|
||||
function after true table.9 table.10
|
||||
true
|
||||
thread before true nil nil
|
||||
true
|
||||
thread after true table.9 table.10
|
||||
true
|
||||
table before true nil nil
|
||||
true
|
||||
table after true table.9 table.10
|
||||
true
|
||||
string before true table.11 table.11
|
||||
true
|
||||
string after true table.9 table.10
|
||||
true
|
||||
80
luaj-test/src/test/resources/compatibility/luajit/oslib.out
Normal file
80
luaj-test/src/test/resources/compatibility/luajit/oslib.out
Normal file
@@ -0,0 +1,80 @@
|
||||
os table
|
||||
os.clock() true number nil
|
||||
os.date() true string nil
|
||||
os.difftime(123000, 21500) true number nil
|
||||
os.getenv() false string nil
|
||||
os.getenv("bogus.key") true nil nil
|
||||
os.tmpname() true string
|
||||
os.tmpname() true string
|
||||
io.open true userdata
|
||||
write false string nil
|
||||
close false string nil
|
||||
os.rename(p,q) true boolean nil
|
||||
os.remove(q) true boolean nil
|
||||
os.remove(q) true nil string
|
||||
os.setlocale("C") true string nil
|
||||
os.exit function
|
||||
os.date('%a', 1281364496) true string nil
|
||||
os.date('%A', 1281364496) true string nil
|
||||
os.date('%b', 1281364496) true string nil
|
||||
os.date('%B', 1281364496) true string nil
|
||||
os.date('%c', 1281364496) true string nil
|
||||
os.date('%C', 1281364496) true string nil
|
||||
os.date('%d', 1281364496) true string nil
|
||||
os.date('%D', 1281364496) true string nil
|
||||
os.date('%e', 1281364496) true string nil
|
||||
os.date('%E', 1281364496) true string nil
|
||||
os.date('%f', 1281364496) true string nil
|
||||
os.date('%F', 1281364496) true string nil
|
||||
os.date('%g', 1281364496) true string nil
|
||||
os.date('%G', 1281364496) true string nil
|
||||
os.date('%h', 1281364496) true string nil
|
||||
os.date('%H', 1281364496) true string nil
|
||||
os.date('%i', 1281364496) true string nil
|
||||
os.date('%I', 1281364496) true string nil
|
||||
os.date('%j', 1281364496) true string nil
|
||||
os.date('%J', 1281364496) true string nil
|
||||
os.date('%k', 1281364496) true string nil
|
||||
os.date('%K', 1281364496) true string nil
|
||||
os.date('%l', 1281364496) true string nil
|
||||
os.date('%L', 1281364496) true string nil
|
||||
os.date('%m', 1281364496) true string nil
|
||||
os.date('%M', 1281364496) true string nil
|
||||
os.date('%n', 1281364496) true string nil
|
||||
os.date('%N', 1281364496) true string nil
|
||||
os.date('%o', 1281364496) true string nil
|
||||
os.date('%O', 1281364496) true string nil
|
||||
os.date('%p', 1281364496) true string nil
|
||||
os.date('%P', 1281364496) true string nil
|
||||
os.date('%q', 1281364496) true string nil
|
||||
os.date('%Q', 1281364496) true string nil
|
||||
os.date('%r', 1281364496) true string nil
|
||||
os.date('%R', 1281364496) true string nil
|
||||
os.date('%s', 1281364496) true string nil
|
||||
os.date('%S', 1281364496) true string nil
|
||||
os.date('%t', 1281364496) true string nil
|
||||
os.date('%T', 1281364496) true string nil
|
||||
os.date('%u', 1281364496) true string nil
|
||||
os.date('%U', 1281364496) true string nil
|
||||
os.date('%v', 1281364496) true string nil
|
||||
os.date('%V', 1281364496) true string nil
|
||||
os.date('%w', 1281364496) true string nil
|
||||
os.date('%W', 1281364496) true string nil
|
||||
os.date('%x', 1281364496) true string nil
|
||||
os.date('%X', 1281364496) true string nil
|
||||
os.date('%y', 1281364496) true string nil
|
||||
os.date('%Y', 1281364496) true string nil
|
||||
os.date('%z', 1281364496) true string nil
|
||||
os.date('%Z', 1281364496) true string nil
|
||||
k string year v number 2010
|
||||
k string month v number 8
|
||||
k string day v number 9
|
||||
k string hour v number 16
|
||||
k string min v number 34
|
||||
k string sec v number 56
|
||||
k string wday v number 2
|
||||
k string yday v number 221
|
||||
k string isdst v boolean true
|
||||
type(os.time()) number
|
||||
os.time({year=1971, month=2, day=25}) 36327600
|
||||
os.time({year=1971, month=2, day=25, hour=11, min=22, sec=33}) 36325353
|
||||
BIN
luaj-test/src/test/resources/compatibility/luajit/stringlib.out
Normal file
BIN
luaj-test/src/test/resources/compatibility/luajit/stringlib.out
Normal file
Binary file not shown.
@@ -0,0 +1,63 @@
|
||||
2
|
||||
-- concat tests
|
||||
onetwothree
|
||||
one--two--three
|
||||
two,three
|
||||
two
|
||||
|
||||
onetwothreefourfive
|
||||
one--two--three--four--five
|
||||
two,three,four,five
|
||||
two
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- insert, len tests
|
||||
{[1]=one,[2]=two,[3]=three,[a]=aaa,[b]=bbb,[c]=ccc} 3
|
||||
{[1]=one,[2]=two,[3]=three,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=three,[5]=six,[a]=aaa,[b]=bbb,[c]=ccc} 5
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=eight,[5]=three,[6]=six,[a]=aaa,[b]=bbb,[c]=ccc} 6
|
||||
{[1]=seven,[2]=one,[3]=two,[4]=eight,[5]=three,[6]=six,[7]=nine,[a]=aaa,[b]=bbb,[c]=ccc} 7
|
||||
#{} 0
|
||||
#{"a"} 1
|
||||
#{"a","b"} 2
|
||||
#{"a",nil} 1
|
||||
#{nil,nil} 0
|
||||
#{nil,"b"} true
|
||||
#{"a","b","c"} 3
|
||||
#{"a","b",nil} 2
|
||||
#{"a",nil,nil} 1
|
||||
#{nil,nil,nil} 0
|
||||
#{nil,nil,"c"} true
|
||||
#{nil,"b","c"} true
|
||||
#{nil,"b",nil} true
|
||||
#{"a",nil,"c"} true
|
||||
-- remove tests
|
||||
{[10]=ten,[1]=one,[2]=two,[3]=three,[4]=four,[5]=five,[6]=six,[7]=seven,[a]=aaa,[b]=bbb,[c]=ccc} 7
|
||||
table.remove(t) seven
|
||||
{[10]=ten,[1]=one,[2]=two,[3]=three,[4]=four,[5]=five,[6]=six,[a]=aaa,[b]=bbb,[c]=ccc} 6
|
||||
table.remove(t,1) one
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=four,[4]=five,[5]=six,[a]=aaa,[b]=bbb,[c]=ccc} 5
|
||||
table.remove(t,3) four
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
table.remove(t,5)
|
||||
{[10]=ten,[1]=two,[2]=three,[3]=five,[4]=six,[a]=aaa,[b]=bbb,[c]=ccc} 4
|
||||
-- sort tests
|
||||
one-two-three
|
||||
one-three-two
|
||||
www-vvv-uuu-ttt-sss-zzz-yyy-xxx
|
||||
sss-ttt-uuu-vvv-www-xxx-yyy-zzz
|
||||
www-vvv-uuu-ttt-sss-zzz-yyy-xxx
|
||||
zzz-yyy-xxx-www-vvv-uuu-ttt-sss
|
||||
----- unpack tests -------
|
||||
pcall(unpack) false
|
||||
pcall(unpack,nil) false
|
||||
pcall(unpack,"abc") false
|
||||
pcall(unpack,1) false
|
||||
@@ -0,0 +1,4 @@
|
||||
true true
|
||||
b
|
||||
true true
|
||||
true true c
|
||||
@@ -0,0 +1,23 @@
|
||||
-------- simple upvalues tests --------
|
||||
6
|
||||
5
|
||||
f1()= 6
|
||||
g1()= 5
|
||||
6
|
||||
5
|
||||
f2()= 6
|
||||
g2()= 5
|
||||
g1()= 4
|
||||
f1()= 5
|
||||
simplevalues result: true
|
||||
----------- upvalued in middle ------------
|
||||
x= 3
|
||||
y= 5
|
||||
z= 7
|
||||
x= x
|
||||
y= y
|
||||
z= z
|
||||
true
|
||||
--------- nested upvalues ----------
|
||||
10 20
|
||||
nestedupvaluestest result: true
|
||||
418
luaj-test/src/test/resources/compatibility/luajit/vm.out
Normal file
418
luaj-test/src/test/resources/compatibility/luajit/vm.out
Normal file
@@ -0,0 +1,418 @@
|
||||
-------- basic vm tests --------
|
||||
-- boolean tests
|
||||
true
|
||||
false
|
||||
false
|
||||
true
|
||||
true
|
||||
false
|
||||
false
|
||||
true
|
||||
true
|
||||
false
|
||||
false
|
||||
true
|
||||
false
|
||||
true
|
||||
1
|
||||
0
|
||||
nil
|
||||
1
|
||||
0
|
||||
nil
|
||||
booleantests result: true
|
||||
------------- varargs
|
||||
---- function p()
|
||||
--p():
|
||||
a nil
|
||||
...
|
||||
...,a nil nil
|
||||
a,... nil
|
||||
-> true
|
||||
--p("q"):
|
||||
a q
|
||||
...
|
||||
...,a nil q
|
||||
a,... q
|
||||
-> true
|
||||
--p("q","r"):
|
||||
a q
|
||||
... r
|
||||
...,a r q
|
||||
a,... q r
|
||||
-> true
|
||||
--p("q","r","s"):
|
||||
a q
|
||||
... r s
|
||||
...,a r q
|
||||
a,... q r s
|
||||
-> true
|
||||
---- function q()
|
||||
--q():
|
||||
a,arg[1],arg[2],arg[3] nil nil global-1 global-2 global-3
|
||||
-> true
|
||||
--q("q"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
-> true
|
||||
--q("q","r"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
-> true
|
||||
--q("q","r","s"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
-> true
|
||||
---- function r()
|
||||
--r():
|
||||
a,arg[1],arg[2],arg[3] nil nil global-1 global-2 global-3
|
||||
a nil
|
||||
...
|
||||
...,a nil nil
|
||||
a,... nil
|
||||
-> true
|
||||
--r("q"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
a q
|
||||
...
|
||||
...,a nil q
|
||||
a,... q
|
||||
-> true
|
||||
--r("q","r"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
a q
|
||||
... r
|
||||
...,a r q
|
||||
a,... q r
|
||||
-> true
|
||||
--r("q","r","s"):
|
||||
a,arg[1],arg[2],arg[3] q nil global-1 global-2 global-3
|
||||
a q
|
||||
... r s
|
||||
...,a r q
|
||||
a,... q r s
|
||||
-> true
|
||||
---- function s()
|
||||
--s():
|
||||
a,arg[1],arg[2],arg[3] nil 1 2 3
|
||||
a nil
|
||||
-> true
|
||||
--s("q"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
-> true
|
||||
--s("q","r"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
-> true
|
||||
--s("q","r","s"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
-> true
|
||||
---- function t()
|
||||
--t():
|
||||
a,arg[1],arg[2],arg[3] nil 1 2 3
|
||||
a nil
|
||||
...
|
||||
...,a nil nil
|
||||
a,... nil
|
||||
-> true
|
||||
--t("q"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
...
|
||||
...,a nil q
|
||||
a,... q
|
||||
-> true
|
||||
--t("q","r"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
... r
|
||||
...,a r q
|
||||
a,... q r
|
||||
-> true
|
||||
--t("q","r","s"):
|
||||
a,arg[1],arg[2],arg[3] q 1 2 3
|
||||
a q
|
||||
... r s
|
||||
...,a r q
|
||||
a,... q r s
|
||||
-> true
|
||||
---- function u()
|
||||
--u():
|
||||
arg nil
|
||||
-> true
|
||||
--u("q"):
|
||||
arg q
|
||||
-> true
|
||||
--u("q","r"):
|
||||
arg q
|
||||
-> true
|
||||
--u("q","r","s"):
|
||||
arg q
|
||||
-> true
|
||||
---- function v()
|
||||
--v():
|
||||
arg nil
|
||||
...
|
||||
arg,... nil
|
||||
-> true
|
||||
--v("q"):
|
||||
arg q
|
||||
...
|
||||
arg,... q
|
||||
-> true
|
||||
--v("q","r"):
|
||||
arg q
|
||||
... r
|
||||
arg,... q r
|
||||
-> true
|
||||
--v("q","r","s"):
|
||||
arg q
|
||||
... r s
|
||||
arg,... q r s
|
||||
-> true
|
||||
varargstest result: true
|
||||
---------- metatable tests
|
||||
ell
|
||||
set{} tbl.1 tbl.2 tbl.1 nil
|
||||
set-nil tbl.1 nil tbl.1 nil
|
||||
set{} tbl.1 tbl.3 tbl.1 nil
|
||||
set tbl.1 tbl.3 false string
|
||||
set{} tbl.1 tbl.4 tbl.1 nil
|
||||
set{} tbl.1 tbl.5 tbl.1 nil
|
||||
set{}{} tbl.1 tbl.6 tbl.1 nil
|
||||
set-nil tbl.1 nil tbl.1 nil
|
||||
set{__} tbl.1 tbl.7 tbl.1 nil
|
||||
set{} tbl.1 tbl.7 false string
|
||||
set-nil tbl.1 tbl.7 false string
|
||||
set{} tbl.8 tbl.9 tbl.8 nil
|
||||
set-nil tbl.8 nil tbl.8 nil
|
||||
set{__} tbl.8 abc tbl.8 nil
|
||||
set{} tbl.8 abc false string
|
||||
set-nil tbl.8 abc false string
|
||||
t.a 1234
|
||||
t.b 1235
|
||||
t.a 1234
|
||||
t.b 1235
|
||||
t.c 1236
|
||||
t.a 1234
|
||||
t.b 1235
|
||||
t.c 1236
|
||||
t.d 1237
|
||||
metatabletests result: true
|
||||
------------ huge tables
|
||||
#t= 100 t[1,50,51,59] 1 1 1 1
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
#t2= 70 t[1,50,51,59] 1 1 1 1
|
||||
0,3,4,7,9,8,12,15,23,5,10,13,14,17,19,18,112,115,123,15,20,33,24,27,29,28,212,215,223,25,40,43,44,47,49,48,412,415,423,45,50,53,54,57,59,58,512,515,523,55,60,63,64,67,69,68,612,615,623,65,70,73,74,77,79,78,72,715,723,75
|
||||
t[2000] a
|
||||
t[2001] b
|
||||
t[2002] c
|
||||
t[2003] d
|
||||
t[2004] e
|
||||
t[2005] f
|
||||
t[2006] g
|
||||
t[2007] h
|
||||
t[2008] i
|
||||
t[2009] j
|
||||
t[3000] a
|
||||
t[3001] b
|
||||
t[3002] c
|
||||
t[3003] d
|
||||
t[3004] e
|
||||
t[3005] f
|
||||
t[3006] g
|
||||
t[3007] h
|
||||
t[3008] i
|
||||
t[3009] j
|
||||
t[4000] a
|
||||
t[4001] b
|
||||
t[4002] c
|
||||
t[4003] d
|
||||
t[4004] e
|
||||
t[4005] f
|
||||
t[4006] g
|
||||
t[4007] h
|
||||
t[4008] i
|
||||
t[4009] j
|
||||
t[5000] a
|
||||
t[5001] b
|
||||
t[5002] c
|
||||
t[5003] d
|
||||
t[5004] e
|
||||
t[5005] f
|
||||
t[5006] g
|
||||
t[5007] h
|
||||
t[5008] i
|
||||
t[5009] j
|
||||
t[6000] a
|
||||
t[6001] b
|
||||
t[6002] c
|
||||
t[6003] d
|
||||
t[6004] e
|
||||
t[6005] f
|
||||
t[6006] g
|
||||
t[6007] h
|
||||
t[6008] i
|
||||
t[6009] j
|
||||
t[7000] a
|
||||
t[7001] b
|
||||
t[7002] c
|
||||
t[7003] d
|
||||
t[7004] e
|
||||
t[7005] f
|
||||
t[7006] g
|
||||
t[7007] h
|
||||
t[7008] i
|
||||
t[7009] j
|
||||
t[8000] a
|
||||
t[8001] b
|
||||
t[8002] c
|
||||
t[8003] d
|
||||
t[8004] e
|
||||
t[8005] f
|
||||
t[8006] g
|
||||
t[8007] h
|
||||
t[8008] i
|
||||
t[8009] j
|
||||
hugetables result: true
|
||||
--------- many locals
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
a a
|
||||
b b
|
||||
c c
|
||||
d d
|
||||
e e
|
||||
f f
|
||||
g g
|
||||
h h
|
||||
i i
|
||||
j j
|
||||
manylocals result: true
|
||||
@@ -58,30 +58,6 @@
|
||||
--- checkallpass
|
||||
- load(<function>,nil) <function>
|
||||
- load(<function>,'abc') <function>
|
||||
--- checkallerrors
|
||||
- load(nil,nil) ...bad argument...
|
||||
needcheck load('abc',nil) nil
|
||||
needcheck load(1.25,nil) nil
|
||||
- load(true,nil) ...bad argument...
|
||||
- load(<table>,nil) ...bad argument...
|
||||
- load(<thread>,nil) ...bad argument...
|
||||
- load(nil,'abc') ...bad argument...
|
||||
needcheck load('abc','abc') nil
|
||||
needcheck load(1.25,'abc') nil
|
||||
- load(true,'abc') ...bad argument...
|
||||
- load(<table>,'abc') ...bad argument...
|
||||
- load(<thread>,'abc') ...bad argument...
|
||||
- load(nil,1.25) ...bad argument...
|
||||
needcheck load('abc',1.25) nil
|
||||
needcheck load(1.25,1.25) nil
|
||||
- load(true,1.25) ...bad argument...
|
||||
- load(<table>,1.25) ...bad argument...
|
||||
- load(<thread>,1.25) ...bad argument...
|
||||
--- checkallerrors
|
||||
- load(<function>,<function>) ...bad argument...
|
||||
- load(<function>,<table>) ...bad argument...
|
||||
====== loadfile ======
|
||||
====== load ======
|
||||
--- checkallpass
|
||||
- load('return') <function>
|
||||
--- checkallpass
|
||||
@@ -89,24 +65,44 @@ needcheck load(1.25,1.25) nil
|
||||
--- checkallpass
|
||||
- load('return a ... b','mychunk') nil,string
|
||||
--- checkallerrors
|
||||
- load(<function>,true) ...bad argument...
|
||||
- load(<function>,<table>) ...bad argument...
|
||||
- load(<function>,<function>) ...bad argument...
|
||||
- load(<function>,<thread>) ...bad argument...
|
||||
--- checkallerrors
|
||||
- load(nil,nil) ...bad argument...
|
||||
- load(true,nil) ...bad argument...
|
||||
- load(<table>,nil) ...bad argument...
|
||||
needcheck load(<function>,nil) function: 0x10011ba00
|
||||
- load(<thread>,nil) ...bad argument...
|
||||
- load(nil,'abc') ...bad argument...
|
||||
- load(true,'abc') ...bad argument...
|
||||
- load(<table>,'abc') ...bad argument...
|
||||
needcheck load(<function>,'abc') function: 0x10011c780
|
||||
- load(<thread>,'abc') ...bad argument...
|
||||
- load(nil,1.25) ...bad argument...
|
||||
- load(true,1.25) ...bad argument...
|
||||
- load(<table>,1.25) ...bad argument...
|
||||
needcheck load(<function>,1.25) function: 0x10011d560
|
||||
- load(<thread>,1.25) ...bad argument...
|
||||
- load(nil,true) ...bad argument...
|
||||
- load(true,true) ...bad argument...
|
||||
- load(<table>,true) ...bad argument...
|
||||
- load(<thread>,true) ...bad argument...
|
||||
- load(nil,<table>) ...bad argument...
|
||||
- load(true,<table>) ...bad argument...
|
||||
- load(<table>,<table>) ...bad argument...
|
||||
- load(<thread>,<table>) ...bad argument...
|
||||
- load(nil,<function>) ...bad argument...
|
||||
- load(true,<function>) ...bad argument...
|
||||
- load(<table>,<function>) ...bad argument...
|
||||
- load(<thread>,<function>) ...bad argument...
|
||||
- load(nil,<thread>) ...bad argument...
|
||||
- load(true,<thread>) ...bad argument...
|
||||
- load(<table>,<thread>) ...bad argument...
|
||||
- load(<thread>,<thread>) ...bad argument...
|
||||
--- checkallerrors
|
||||
- load('return',<function>) ...bad argument...
|
||||
- load('return',true) ...bad argument...
|
||||
- load('return',<table>) ...bad argument...
|
||||
- load('return',<function>) ...bad argument...
|
||||
- load('return',<thread>) ...bad argument...
|
||||
====== loadfile ======
|
||||
--- checkallpass
|
||||
- loadfile('args.lua') <function>
|
||||
--- checkallerrors
|
||||
- loadfile(true) ...bad argument...
|
||||
- loadfile(<table>) ...bad argument...
|
||||
- loadfile(<function>) ...bad argument...
|
||||
- loadfile(<thread>) ...bad argument...
|
||||
====== next ======
|
||||
--- checkallpass
|
||||
- next(<table>,'aa')
|
||||
@@ -382,8 +378,8 @@ true
|
||||
- select(<thread>) ...bad argument...
|
||||
====== setmetatable ======
|
||||
--- checkallpass
|
||||
- setmetatable(<table>,nil) <table>
|
||||
- setmetatable(<table>,<table>) <table>
|
||||
--- checkallpass
|
||||
--- checkallerrors
|
||||
- setmetatable(nil,<table>) ...bad argument...
|
||||
- setmetatable('abc',<table>) ...bad argument...
|
||||
@@ -414,12 +410,15 @@ true
|
||||
- tonumber(<table>,nil)
|
||||
- tonumber(<function>,nil)
|
||||
- tonumber(<thread>,nil)
|
||||
--- checkallpass
|
||||
- tonumber('abc',10)
|
||||
- tonumber(1.25,10)
|
||||
fail tonumber(true,10) 'bad argument #1 to '_G.tonumber' (string expected, got boolean)'
|
||||
fail tonumber(<table>,10) 'bad argument #1 to '_G.tonumber' (string expected, got table)'
|
||||
fail tonumber(<function>,10) 'bad argument #1 to '_G.tonumber' (string expected, got function)'
|
||||
fail tonumber(<thread>,10) 'bad argument #1 to '_G.tonumber' (string expected, got thread)'
|
||||
--- checkallerrors
|
||||
- tonumber(nil,10) ...bad argument...
|
||||
- tonumber(true,10) ...bad argument...
|
||||
- tonumber(<table>,10) ...bad argument...
|
||||
- tonumber(<function>,10) ...bad argument...
|
||||
- tonumber(<thread>,10) ...bad argument...
|
||||
--- checkallerrors
|
||||
- tonumber(nil,2) ...bad argument...
|
||||
- tonumber(<function>,2) ...bad argument...
|
||||
@@ -8,9 +8,9 @@
|
||||
- debug.getinfo(25)
|
||||
- debug.getinfo('25')
|
||||
--- checkallpass
|
||||
- debug.getinfo(<function>) <table>
|
||||
- debug.getinfo(25)
|
||||
- debug.getinfo('25')
|
||||
- debug.getinfo(<thread>,<function>) <table>
|
||||
- debug.getinfo(<thread>,25)
|
||||
- debug.getinfo(<thread>,'25')
|
||||
--- checkallpass
|
||||
- debug.getinfo(<function>,'') <table>
|
||||
- debug.getinfo(25,'')
|
||||
@@ -22,9 +22,15 @@
|
||||
- debug.getinfo(25,'flnStu')
|
||||
- debug.getinfo('25','flnStu')
|
||||
--- checkallpass
|
||||
fail debug.getinfo('') 'bad argument #1 to 'debug.getinfo' (function or level expected)'
|
||||
fail debug.getinfo('n') 'bad argument #1 to 'debug.getinfo' (function or level expected)'
|
||||
fail debug.getinfo('flnStu') 'bad argument #1 to 'debug.getinfo' (function or level expected)'
|
||||
- debug.getinfo(<thread>,<function>,'') <table>
|
||||
- debug.getinfo(<thread>,25,'')
|
||||
- debug.getinfo(<thread>,'25','')
|
||||
- debug.getinfo(<thread>,<function>,'n') <table>
|
||||
- debug.getinfo(<thread>,25,'n')
|
||||
- debug.getinfo(<thread>,'25','n')
|
||||
- debug.getinfo(<thread>,<function>,'flnStu') <table>
|
||||
- debug.getinfo(<thread>,25,'flnStu')
|
||||
- debug.getinfo(<thread>,'25','flnStu')
|
||||
--- checkallerrors
|
||||
- debug.getinfo() ...function or level...
|
||||
--- checkallerrors
|
||||
@@ -48,7 +54,7 @@ fail debug.getinfo('flnStu') 'bad argument #1 to 'debug.getinfo' (function or l
|
||||
- debug.getinfo(<table>,<function>,'abc') ...string expected...
|
||||
- debug.getinfo(<function>,<function>,'abc') ...string expected...
|
||||
--- checkallerrors
|
||||
badmsg debug.getinfo('qzQZ') template='invalid option' actual='bad argument #1 to 'debug.getinfo' (function or level expected)'
|
||||
- debug.getinfo(<thread>,<function>,'qzQZ') ...invalid option...
|
||||
====== debug.getlocal ======
|
||||
f: x,y,a,b,p,q 1 2 nil nil p q
|
||||
--- checkallpass
|
||||
@@ -310,47 +316,47 @@ p,q abc abc
|
||||
--- checkallpass
|
||||
- debug.traceback() 'stack traceback:
|
||||
[C]: in function 'pcall'
|
||||
args.lua:143: in function 'invoke'
|
||||
args.lua:167: in function 'checkallpass'
|
||||
args.lua:144: in function 'invoke'
|
||||
args.lua:168: in function 'checkallpass'
|
||||
debuglibargs.lua:127: in main chunk
|
||||
[C]: in ?'
|
||||
--- checkallpass
|
||||
- debug.traceback('abc') 'abc
|
||||
stack traceback:
|
||||
[C]: in function 'pcall'
|
||||
args.lua:143: in function 'invoke'
|
||||
args.lua:167: in function 'checkallpass'
|
||||
args.lua:144: in function 'invoke'
|
||||
args.lua:168: in function 'checkallpass'
|
||||
debuglibargs.lua:128: in main chunk
|
||||
[C]: in ?'
|
||||
--- checkallpass
|
||||
- debug.traceback('abc',1.25) 'abc
|
||||
stack traceback:
|
||||
[C]: in function 'pcall'
|
||||
args.lua:143: in function 'invoke'
|
||||
args.lua:167: in function 'checkallpass'
|
||||
args.lua:144: in function 'invoke'
|
||||
args.lua:168: in function 'checkallpass'
|
||||
debuglibargs.lua:129: in main chunk
|
||||
[C]: in ?'
|
||||
--- checkallpass
|
||||
- debug.traceback(<thread>) 'stack traceback:
|
||||
[C]: in function 'pcall'
|
||||
args.lua:143: in function 'invoke'
|
||||
args.lua:167: in function 'checkallpass'
|
||||
args.lua:144: in function 'invoke'
|
||||
args.lua:168: in function 'checkallpass'
|
||||
debuglibargs.lua:130: in main chunk
|
||||
[C]: in ?'
|
||||
--- checkallpass
|
||||
- debug.traceback(<thread>,'abc') 'abc
|
||||
stack traceback:
|
||||
[C]: in function 'pcall'
|
||||
args.lua:143: in function 'invoke'
|
||||
args.lua:167: in function 'checkallpass'
|
||||
args.lua:144: in function 'invoke'
|
||||
args.lua:168: in function 'checkallpass'
|
||||
debuglibargs.lua:131: in main chunk
|
||||
[C]: in ?'
|
||||
--- checkallpass
|
||||
- debug.traceback(<thread>,'abc',1.25) 'abc
|
||||
stack traceback:
|
||||
[C]: in function 'pcall'
|
||||
args.lua:143: in function 'invoke'
|
||||
args.lua:167: in function 'checkallpass'
|
||||
args.lua:144: in function 'invoke'
|
||||
args.lua:168: in function 'checkallpass'
|
||||
debuglibargs.lua:132: in main chunk
|
||||
[C]: in ?'
|
||||
--- checkallpass
|
||||
@@ -24,7 +24,6 @@
|
||||
--- checkallerrors
|
||||
- io.lines(<userdata>) ...bad argument...
|
||||
--- checkallerrors
|
||||
needcheck io.lines(nil) function: 0x100112cf0
|
||||
- io.lines(true) ...bad argument...
|
||||
- io.lines(<table>) ...bad argument...
|
||||
- io.lines(<function>) ...bad argument...
|
||||
@@ -23,11 +23,11 @@
|
||||
- package.loadlib(<thread>) ...bad argument...
|
||||
====== package.seeall ======
|
||||
--- checkallpass
|
||||
fail package.seeall(<table>) 'attempt to call a nil value'
|
||||
- package.seeall(<table>)
|
||||
--- checkallerrors
|
||||
badmsg package.seeall(nil) template='bad argument' actual='attempt to call a nil value'
|
||||
badmsg package.seeall('abc') template='bad argument' actual='attempt to call a nil value'
|
||||
badmsg package.seeall(1.25) template='bad argument' actual='attempt to call a nil value'
|
||||
badmsg package.seeall(true) template='bad argument' actual='attempt to call a nil value'
|
||||
badmsg package.seeall(<function>) template='bad argument' actual='attempt to call a nil value'
|
||||
badmsg package.seeall(<thread>) template='bad argument' actual='attempt to call a nil value'
|
||||
- package.seeall(nil) ...bad argument...
|
||||
- package.seeall('abc') ...bad argument...
|
||||
- package.seeall(1.25) ...bad argument...
|
||||
- package.seeall(true) ...bad argument...
|
||||
- package.seeall(<function>) ...bad argument...
|
||||
- package.seeall(<thread>) ...bad argument...
|
||||
@@ -14,7 +14,6 @@
|
||||
- lengthop(<table>) 0
|
||||
--- checkallerrors
|
||||
- lengthop(nil) ...attempt to get length of...
|
||||
needcheck lengthop('abc') 3
|
||||
- lengthop(1.25) ...attempt to get length of...
|
||||
- lengthop(true) ...attempt to get length of...
|
||||
- lengthop(<function>) ...attempt to get length of...
|
||||
@@ -564,43 +563,35 @@ needcheck lengthop('abc') 3
|
||||
- bracketop(<table>,<thread>)
|
||||
--- checkallerrors
|
||||
- bracketop(nil,'abc') ...attempt to index...
|
||||
needcheck bracketop('abc','abc') nil
|
||||
- bracketop(1.25,'abc') ...attempt to index...
|
||||
- bracketop(true,'abc') ...attempt to index...
|
||||
- bracketop(<function>,'abc') ...attempt to index...
|
||||
- bracketop(<thread>,'abc') ...attempt to index...
|
||||
- bracketop(nil,1.25) ...attempt to index...
|
||||
needcheck bracketop('abc',1.25) nil
|
||||
- bracketop(1.25,1.25) ...attempt to index...
|
||||
- bracketop(true,1.25) ...attempt to index...
|
||||
- bracketop(<function>,1.25) ...attempt to index...
|
||||
- bracketop(<thread>,1.25) ...attempt to index...
|
||||
- bracketop(nil,true) ...attempt to index...
|
||||
needcheck bracketop('abc',true) nil
|
||||
- bracketop(1.25,true) ...attempt to index...
|
||||
- bracketop(true,true) ...attempt to index...
|
||||
- bracketop(<function>,true) ...attempt to index...
|
||||
- bracketop(<thread>,true) ...attempt to index...
|
||||
- bracketop(nil,<table>) ...attempt to index...
|
||||
needcheck bracketop('abc',<table>) nil
|
||||
- bracketop(1.25,<table>) ...attempt to index...
|
||||
- bracketop(true,<table>) ...attempt to index...
|
||||
- bracketop(<function>,<table>) ...attempt to index...
|
||||
- bracketop(<thread>,<table>) ...attempt to index...
|
||||
- bracketop(nil,<function>) ...attempt to index...
|
||||
needcheck bracketop('abc',<function>) nil
|
||||
- bracketop(1.25,<function>) ...attempt to index...
|
||||
- bracketop(true,<function>) ...attempt to index...
|
||||
- bracketop(<function>,<function>) ...attempt to index...
|
||||
- bracketop(<thread>,<function>) ...attempt to index...
|
||||
- bracketop(nil,<thread>) ...attempt to index...
|
||||
needcheck bracketop('abc',<thread>) nil
|
||||
- bracketop(1.25,<thread>) ...attempt to index...
|
||||
- bracketop(true,<thread>) ...attempt to index...
|
||||
- bracketop(<function>,<thread>) ...attempt to index...
|
||||
- bracketop(<thread>,<thread>) ...attempt to index...
|
||||
--- checkallerrors
|
||||
needcheck bracketop(<table>) nil
|
||||
====== . ======
|
||||
--- checkallpass
|
||||
- dotop(<table>,'abc')
|
||||
@@ -611,43 +602,35 @@ needcheck bracketop(<table>) nil
|
||||
- dotop(<table>,<thread>)
|
||||
--- checkallerrors
|
||||
- dotop(nil,'abc') ...attempt to index...
|
||||
needcheck dotop('abc','abc') nil
|
||||
- dotop(1.25,'abc') ...attempt to index...
|
||||
- dotop(true,'abc') ...attempt to index...
|
||||
- dotop(<function>,'abc') ...attempt to index...
|
||||
- dotop(<thread>,'abc') ...attempt to index...
|
||||
- dotop(nil,1.25) ...attempt to index...
|
||||
needcheck dotop('abc',1.25) nil
|
||||
- dotop(1.25,1.25) ...attempt to index...
|
||||
- dotop(true,1.25) ...attempt to index...
|
||||
- dotop(<function>,1.25) ...attempt to index...
|
||||
- dotop(<thread>,1.25) ...attempt to index...
|
||||
- dotop(nil,true) ...attempt to index...
|
||||
needcheck dotop('abc',true) nil
|
||||
- dotop(1.25,true) ...attempt to index...
|
||||
- dotop(true,true) ...attempt to index...
|
||||
- dotop(<function>,true) ...attempt to index...
|
||||
- dotop(<thread>,true) ...attempt to index...
|
||||
- dotop(nil,<table>) ...attempt to index...
|
||||
needcheck dotop('abc',<table>) nil
|
||||
- dotop(1.25,<table>) ...attempt to index...
|
||||
- dotop(true,<table>) ...attempt to index...
|
||||
- dotop(<function>,<table>) ...attempt to index...
|
||||
- dotop(<thread>,<table>) ...attempt to index...
|
||||
- dotop(nil,<function>) ...attempt to index...
|
||||
needcheck dotop('abc',<function>) nil
|
||||
- dotop(1.25,<function>) ...attempt to index...
|
||||
- dotop(true,<function>) ...attempt to index...
|
||||
- dotop(<function>,<function>) ...attempt to index...
|
||||
- dotop(<thread>,<function>) ...attempt to index...
|
||||
- dotop(nil,<thread>) ...attempt to index...
|
||||
needcheck dotop('abc',<thread>) nil
|
||||
- dotop(1.25,<thread>) ...attempt to index...
|
||||
- dotop(true,<thread>) ...attempt to index...
|
||||
- dotop(<function>,<thread>) ...attempt to index...
|
||||
- dotop(<thread>,<thread>) ...attempt to index...
|
||||
--- checkallerrors
|
||||
needcheck dotop(<table>) nil
|
||||
====== and ======
|
||||
--- checkallpass
|
||||
- andop(nil,nil)
|
||||
Binary file not shown.
Reference in New Issue
Block a user