Add failing tests
This commit is contained in:
@@ -21,6 +21,8 @@ class TestBaseType
|
||||
int val;
|
||||
const int const_val;
|
||||
|
||||
std::function<int (int)> func_member;
|
||||
|
||||
private:
|
||||
TestBaseType &operator=(const TestBaseType &);
|
||||
};
|
||||
@@ -159,6 +161,13 @@ CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_test_mo
|
||||
m->add(chaiscript::fun(&TestBaseType::const_val), "const_val");
|
||||
m->add(chaiscript::fun(&TestBaseType::base_only_func), "base_only_func");
|
||||
|
||||
// member that is a function
|
||||
m->add(chaiscript::fun(&TestBaseType::func_member), "func_member");
|
||||
m->add(chaiscript::fun<std::function<int(int)> &(std::function<int(int)> &, const std::function<int(int)> &)>(
|
||||
[](std::function<int (int)> &t_lhs, const std::function<int (int)> &t_rhs)-> std::function<int (int)> &{
|
||||
return t_lhs = t_rhs;
|
||||
}), "=");
|
||||
|
||||
m->add(chaiscript::fun(&get_new_int), "get_new_int");
|
||||
|
||||
|
||||
|
13
unittests/function_attributes.chai
Normal file
13
unittests/function_attributes.chai
Normal file
@@ -0,0 +1,13 @@
|
||||
// Test attributes/members that are functions
|
||||
|
||||
load_module("test_module")
|
||||
|
||||
auto t0 = TestBaseType()
|
||||
|
||||
t0.func_member = fun(int i){ i * 3; };
|
||||
|
||||
assert_true(func_member(t0)(2) == 6)
|
||||
assert_true((func_member(t0))(2) == 6)
|
||||
assert_true((t0.func_member)(2) == 6)
|
||||
assert_true(t0.func_member(2) == 6)
|
||||
|
Reference in New Issue
Block a user