diff --git a/test/unit_test/register_member.cpp b/test/unit_test/register_member.cpp index 556c0d1..752a94a 100644 --- a/test/unit_test/register_member.cpp +++ b/test/unit_test/register_member.cpp @@ -16,7 +16,7 @@ struct Obj { Obj() {} - Obj(int v) : i(v) {} + Obj(int v, int cv = 1) : i(v), ci(cv) {} int i = 1; const int ci = 1; @@ -66,6 +66,12 @@ TEST(register_member, register_ctor) { EXPECT_EQ(l.get({"a", "i"}), 2); EXPECT_EQ(l.get({"a", "ci"}), 1); + // another ctor + l.register_ctor("NewObj2"); // constructor with 2 argument + EXPECT_EQ(l.dostring("a = NewObj2(4, 5)"), LUA_OK); + EXPECT_EQ(l.eval("return a.i"), 4); + EXPECT_EQ(l.eval("return a.ci"), 5); + // l.register_ctor("NewObj"); // error EXPECT_EQ(l.gettop(), 0); }