mirror of https://github.com/swig/swig.git
47 lines
1.2 KiB
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()
|