Improve argument type checking.
This commit is contained in:
@@ -4,6 +4,8 @@ print( math.sqrt( 9.0 ) )
|
||||
print( math.modf( 5.25 ) )
|
||||
|
||||
local aliases = {
|
||||
['0']='<zero>',
|
||||
['-0']='<zero>',
|
||||
['nan']='<nan>',
|
||||
['inf']='<pos-inf>',
|
||||
['-inf']='<neg-inf>',
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
|
||||
|
||||
-- unit tests for module() function
|
||||
local ids = {}
|
||||
local function id(obj)
|
||||
@@ -72,3 +74,17 @@ f()
|
||||
print( a )
|
||||
print( getfenv(f)['a'] )
|
||||
print( a )
|
||||
|
||||
-- do metatables work with package.loaded and require?
|
||||
print( 'setting metatable for package.loaded' )
|
||||
print( 'package.loaded.mypreload', package.loaded.mypreload )
|
||||
print( 'setmetatable')
|
||||
pcall( setmetatable, package.loaded, { __index={mypreload=12345}})
|
||||
print( 'package.loaded.mypreload', package.loaded.mypreload )
|
||||
print( "require, 'mypreload'", pcall( require, 'mypreload' ) )
|
||||
print( 'package.loaded.mypreload', package.loaded.mypreload )
|
||||
print( 'resetting metatable for package.loaded' )
|
||||
print( 'setmetatable')
|
||||
pcall( setmetatable, package.loaded, nil )
|
||||
print( "require, 'mypreload'", (pcall( require, 'mypreload' )) )
|
||||
print( 'package.loaded.mypreload', package.loaded.mypreload )
|
||||
|
||||
@@ -20,6 +20,13 @@ local function ct(f,a,b,c)
|
||||
return f(a,b,c)
|
||||
end
|
||||
|
||||
-- wrap pcall to be more useful in testing
|
||||
local pc = pcall
|
||||
local pcall = function(...)
|
||||
local s,c = pc(...)
|
||||
return s, type(c)
|
||||
end
|
||||
|
||||
-- lua calls
|
||||
print( 'lc(22,33,44)', lc(22,33,44) )
|
||||
print( 'pcall(lc,22,33,44)', pcall(lc,22,33,44) )
|
||||
@@ -50,3 +57,4 @@ for i = 0,4 do
|
||||
print( 'pcall(le,i)', i, pcall(le,i) )
|
||||
print( 'pcall(ge,i)', i, pcall(ge,i) )
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user