From f2867eee0db9b4ec5a0662de1381c81c975e6c76 Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Fri, 16 Nov 2007 19:45:12 +0000 Subject: [PATCH] tests for tostring, tonumber --- src/test/res/baselib.lua | 111 ++++++++++++++++++++++++++++++++------ src/test/res/baselib.luac | Bin 4448 -> 12173 bytes 2 files changed, 94 insertions(+), 17 deletions(-) diff --git a/src/test/res/baselib.lua b/src/test/res/baselib.lua index dd172697..1abf58d9 100644 --- a/src/test/res/baselib.lua +++ b/src/test/res/baselib.lua @@ -1,19 +1,6 @@ -- unit tests for functions in BaseLib.java --- assert -print( 'assert(true)', assert(true) ) -print( 'pcall(assert,true)', pcall(assert,true) ) -print( 'pcall(assert,false)', pcall(assert,false) ) -print( 'pcall(assert,nil)', pcall(assert,nil) ) -print( 'pcall(assert,true,"msg")', pcall(assert,true,"msg") ) -print( 'pcall(assert,false,"msg")', pcall(assert,false,"msg") ) -print( 'pcall(assert,nil,"msg")', pcall(assert,nil,"msg") ) -print( 'pcall(assert,false,"msg","msg2")', pcall(assert,false,"msg","msg2") ) - --- collectgarbage (not supported) --- dofile (not supported) - --- error +-- error, pcall print( 'pcall(error)', pcall(error) ) print( 'pcall(error,"msg")', pcall(error,"msg") ) print( 'pcall(error,"msg",1)', pcall(error,"msg",1) ) @@ -29,6 +16,19 @@ for i = 0,4 do print( 'pcall(ge,i)', i, pcall(ge,i) ) end +-- assert +print( 'assert(true)', assert(true) ) +print( 'pcall(assert,true)', pcall(assert,true) ) +print( 'pcall(assert,false)', pcall(assert,false) ) +print( 'pcall(assert,nil)', pcall(assert,nil) ) +print( 'pcall(assert,true,"msg")', pcall(assert,true,"msg") ) +print( 'pcall(assert,false,"msg")', pcall(assert,false,"msg") ) +print( 'pcall(assert,nil,"msg")', pcall(assert,nil,"msg") ) +print( 'pcall(assert,false,"msg","msg2")', pcall(assert,false,"msg","msg2") ) + +-- collectgarbage (not supported) +-- dofile (not supported) + -- _G print( '_G["abc"] (before)', _G["abc"] ) abc='def' @@ -73,20 +73,97 @@ print( 'pcall(setmetatable,function() end)', pcall(setmetatable,function() end) -- loadstring -- next -- pairs --- pcall -- print -- rawget -- rawset -- select -- tonumber +print( 'pcall(tonumber)', pcall(tostring) ) +print( 'pcall(tonumber,nil)', pcall(tonumber,nil) ) +print( 'pcall(tonumber,"abc")', pcall(tonumber,"abc") ) +print( 'pcall(tonumber,"123")', pcall(tonumber,"123") ) +print( 'pcall(tonumber,"123",10)', pcall(tonumber,"123", 10) ) +print( 'pcall(tonumber,"123",8)', pcall(tonumber,"123", 8) ) +print( 'pcall(tonumber,"123",6)', pcall(tonumber,"123", 6) ) +print( 'pcall(tonumber,"10101",4)', pcall(tonumber,"10101", 4) ) +print( 'pcall(tonumber,"10101",3)', pcall(tonumber,"10101", 3) ) +print( 'pcall(tonumber,"10101",2)', pcall(tonumber,"10101", 2) ) +print( 'pcall(tonumber,"1a1",16)', pcall(tonumber,"1a1", 16) ) +print( 'pcall(tonumber,"1a1",32)', pcall(tonumber,"1a1", 32) ) +print( 'pcall(tonumber,"1a1",54)', pcall(tonumber,"1a1", 54) ) +print( 'pcall(tonumber,"1a1",1)', pcall(tonumber,"1a1", 1) ) +print( 'pcall(tonumber,"1a1",0)', pcall(tonumber,"1a1", 0) ) +print( 'pcall(tonumber,"1a1",-1)', pcall(tonumber,"1a1", -1) ) +print( 'pcall(tonumber,"1a1","32")', pcall(tonumber,"1a1", "32") ) +print( 'pcall(tonumber,"123","456")', pcall(tonumber,"123","456") ) +print( 'pcall(tonumber,"1a1",10)', pcall(tonumber,"1a1", 10) ) +print( 'pcall(tonumber,"151",4)', pcall(tonumber,"151", 4) ) +print( 'pcall(tonumber,"151",3)', pcall(tonumber,"151", 3) ) +print( 'pcall(tonumber,"151",2)', pcall(tonumber,"151", 2) ) +print( 'pcall(tonumber,"123",8,8)', pcall(tonumber,"123", 8, 8) ) +print( 'pcall(tonumber,123)', pcall(tonumber,123) ) +print( 'pcall(tonumber,true)', pcall(tonumber,true) ) +print( 'pcall(tonumber,false)', pcall(tonumber,false) ) +print( 'pcall(tonumber,tonumber)', pcall(tonumber,tonumber) ) +print( 'pcall(tonumber,function() end)', pcall(tonumber,function() end) ) +print( 'pcall(tonumber,{"one","two",a="aa",b="bb"})', pcall(tonumber,{"one","two",a="aa",b="bb"}) ) + -- tostring +print( 'pcall(tostring)', pcall(tostring) ) +print( 'pcall(tostring,nil)', pcall(tostring,nil) ) +print( 'pcall(tostring,"abc")', pcall(tostring,"abc") ) +print( 'pcall(tostring,"abc","def")', pcall(tostring,"abc","def") ) +print( 'pcall(tostring,123)', pcall(tostring,123) ) +print( 'pcall(tostring,true)', pcall(tostring,true) ) +print( 'pcall(tostring,false)', pcall(tostring,false) ) +print( 'tostring(tostring):sub(1,10)', tostring(tostring):sub(1,10) ) +print( 'tostring(function() end)', tostring(function() end):sub(1,10) ) +print( 'tostring({"one","two",a="aa",b="bb"})', tostring({"one","two",a="aa",b="bb"}):sub(1,7) ) + -- unpack ---[[ print( 'pcall(unpack)', pcall(unpack) ); +print( 'pcall(unpack,nil)', pcall(unpack,nil) ); +print( 'pcall(unpack,"abc")', pcall(unpack,"abc") ); +print( 'pcall(unpack,1)', pcall(unpack,1) ); print( 'unpack({"aa"})', unpack({"aa"}) ); print( 'unpack({"aa","bb"})', unpack({"aa","bb"}) ); print( 'unpack({"aa","bb","cc"})', unpack({"aa","bb","cc"}) ); +local t = {"aa","bb","cc","dd","ee","ff"} +print( 'pcall(unpack,t)', pcall(unpack,t) ); +print( 'pcall(unpack,t,2)', pcall(unpack,t,2) ); +print( 'pcall(unpack,t,2,5)', pcall(unpack,t,2,5) ); +print( 'pcall(unpack,t,2,6)', pcall(unpack,t,2,6) ); +print( 'pcall(unpack,t,2,7)', pcall(unpack,t,2,7) ); +print( 'pcall(unpack,t,1)', pcall(unpack,t,1) ); +print( 'pcall(unpack,t,1,5)', pcall(unpack,t,1,5) ); +print( 'pcall(unpack,t,1,6)', pcall(unpack,t,1,6) ); +print( 'pcall(unpack,t,1,7)', pcall(unpack,t,1,7) ); +print( 'pcall(unpack,t,0)', pcall(unpack,t,0) ); +print( 'pcall(unpack,t,0,5)', pcall(unpack,t,0,5) ); +print( 'pcall(unpack,t,0,6)', pcall(unpack,t,0,6) ); +print( 'pcall(unpack,t,0,7)', pcall(unpack,t,0,7) ); +print( 'pcall(unpack,t,-1)', pcall(unpack,t,-1) ); +print( 'pcall(unpack,t,-1,5)', pcall(unpack,t,-1,5) ); +print( 'pcall(unpack,t,-1,6)', pcall(unpack,t,-1,6) ); +print( 'pcall(unpack,t,-1,7)', pcall(unpack,t,-1,7) ); +print( 'pcall(unpack,t,2,4)', pcall(unpack,t,2,4) ); +print( 'pcall(unpack,t,2,5)', pcall(unpack,t,2,5) ); +print( 'pcall(unpack,t,2,6)', pcall(unpack,t,2,6) ); +print( 'pcall(unpack,t,2,7)', pcall(unpack,t,2,7) ); +print( 'pcall(unpack,t,2,8)', pcall(unpack,t,2,8) ); +print( 'pcall(unpack,t,2,2)', pcall(unpack,t,2,0) ); +print( 'pcall(unpack,t,2,1)', pcall(unpack,t,2,0) ); +print( 'pcall(unpack,t,2,0)', pcall(unpack,t,2,0) ); +print( 'pcall(unpack,t,2,-1)', pcall(unpack,t,2,-1) ); +t[0] = 'zz' +t[-1] = 'yy' +t[-2] = 'xx' +print( 'pcall(unpack,t,0)', pcall(unpack,t,0) ); +print( 'pcall(unpack,t,2,0)', pcall(unpack,t,2,0) ); +print( 'pcall(unpack,t,2,-1)', pcall(unpack,t,2,-1) ); +print( 'pcall(unpack,t,"3")', pcall(unpack,t,"3") ); +print( 'pcall(unpack,t,"a")', pcall(unpack,t,"a") ); +print( 'pcall(unpack,t,function() end)', pcall(unpack,t,function() end) ); -- _VERSION print( '_VERSION', _VERSION ) ---]] diff --git a/src/test/res/baselib.luac b/src/test/res/baselib.luac index 198e2f37716d071d7ac4806f2851cf3782f1ac63..08d2915901e9385cf3abb45951656fec0fb844fe 100644 GIT binary patch literal 12173 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