diff --git a/src/test_module.cpp b/src/test_module.cpp index b0ce5aef..c854e21f 100644 --- a/src/test_module.cpp +++ b/src/test_module.cpp @@ -11,7 +11,7 @@ class TestBaseType TestBaseType() : val(10), const_val(15), mdarray{} { } TestBaseType(int) : val(10), const_val(15), mdarray{} { } TestBaseType(int *) : val(10), const_val(15), mdarray{} { } - + TestBaseType(const TestBaseType &) = default; virtual ~TestBaseType() {} virtual int func() { return 0; } @@ -22,6 +22,11 @@ class TestBaseType int val; const int const_val; + const int *const_val_ptr = &const_val; + + const int *get_const_val_ptr() { + return const_val_ptr; + } int mdarray[2][3][5]; std::function func_member; @@ -168,6 +173,8 @@ CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_test_mo m->add(chaiscript::fun(&TestBaseType::func), "func"); m->add(chaiscript::fun(&TestBaseType::val), "val"); m->add(chaiscript::fun(&TestBaseType::const_val), "const_val"); + m->add(chaiscript::fun(&TestBaseType::const_val_ptr), "const_val_ptr"); + m->add(chaiscript::fun(&TestBaseType::get_const_val_ptr), "get_const_val_ptr"); m->add(chaiscript::fun(&TestBaseType::base_only_func), "base_only_func"); m->add(chaiscript::fun(&TestBaseType::set_string_val), "set_string_val"); diff --git a/unittests/member_variable_access.chai b/unittests/member_variable_access.chai index 000d0582..10d6f902 100644 --- a/unittests/member_variable_access.chai +++ b/unittests/member_variable_access.chai @@ -8,4 +8,6 @@ assert_equal(13, t0.val) assert_equal(15, t0.constMe().const_val) assert_equal(13, t0.constMe().val) +assert_equal(15, t0.get_const_val_ptr()) +assert_equal(15, t0.const_val_ptr)