swig/Examples/test-suite/lua/default_constructor_runme.lua

47 lines
1.2 KiB
Lua

local v=require("default_constructor")
-- This should be no problem
local a = v.A()
-- Nor should this
local aa = v.AA()
-- The default constructor for B is private, so this should raise an exception
assert(not pcall(function() v.B() end))
-- The two-argument constructor for B should work
local b = v.B(3, 4)
-- BB shouldn't inherit B's default constructor, so this should raise an exception
assert(not pcall(function() v.BB() end))
-- C's constructor is protected, so this should raise an exception
assert(not pcall(function() v.C() end))
-- CC gets a default constructor, so no problem here
local cc = v.CC()
-- D's constructor is private, so this should fail
assert(not pcall(function() v.D() end))
-- DD shouldn't get a default constructor, so this should fail
assert(not pcall(function() v.DD() end))
-- AD shouldn't get a default constructor, so this should fail
assert(not pcall(function() v.AD() end))
-- Both of the arguments to E's constructor have default values,
-- so this should be fine.
local e = v.E()
-- EE should get a default constructor
local ee = v.EE()
-- EB should not get a default constructor (because B doesn't have one)
assert(not pcall(function() v.EB() end))
-- This should work fine
local f = v.F()
local g = v.G()
local gg = v.GG()