diff --git a/src/test_module.cpp b/src/test_module.cpp index df68b58..417bb37 100644 --- a/src/test_module.cpp +++ b/src/test_module.cpp @@ -11,6 +11,8 @@ class TestBaseType virtual ~TestBaseType() {} virtual int func() { return 0; } + const TestBaseType &constMe() const { return *this; } + int val; const int const_val; }; @@ -84,6 +86,7 @@ CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_test_mo m->add(chaiscript::user_type(), "TestEnum"); m->add(chaiscript::fun(&to_int), "to_int"); + m->add(chaiscript::fun(&TestBaseType::constMe), "constMe"); return m; diff --git a/unittests/member_variable_access.chai b/unittests/member_variable_access.chai new file mode 100644 index 0000000..000d058 --- /dev/null +++ b/unittests/member_variable_access.chai @@ -0,0 +1,11 @@ +load_module("test_module") + +var t0 = TestBaseType() +t0.val = 13 + +assert_equal(15, t0.const_val) +assert_equal(13, t0.val) +assert_equal(15, t0.constMe().const_val) +assert_equal(13, t0.constMe().val) + +