aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChad Austin <chad@imvu.com>2013-04-08 12:19:26 -0700
committerJukka Jylänki <jujjyl@gmail.com>2013-04-18 20:08:04 +0300
commitf554c2fac03138bf6d3c25180b6dc6771fb80166 (patch)
tree0486c27f8cd2705ef4474b5ad92dcf7ba03313ca /tests
parent040eb9db4222bf3b3eff2ba0ca72e83830f76d47 (diff)
Generalize class property access.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/embind/embind.test.js10
-rw-r--r--tests/embind/embind_test.cpp1
2 files changed, 11 insertions, 0 deletions
diff --git a/tests/embind/embind.test.js b/tests/embind/embind.test.js
index 290fed72..82dbeb25 100755
--- a/tests/embind/embind.test.js
+++ b/tests/embind/embind.test.js
@@ -837,6 +837,16 @@ module({
assert.equal(0, cm.count_emval_handles());
});
+ test("class properties can be methods", function() {
+ var a = {};
+ var b = {foo: 'foo'};
+ var c = new cm.ValHolder(a);
+ assert.equal(a, c.val);
+ c.val = b;
+ assert.equal(b, c.val);
+ c.delete();
+ });
+
test("class instance $$ property is non-enumerable", function() {
var c = new cm.ValHolder(undefined);
assert.deepEqual([], Object.keys(c));
diff --git a/tests/embind/embind_test.cpp b/tests/embind/embind_test.cpp
index 1384406a..f3e2cbee 100644
--- a/tests/embind/embind_test.cpp
+++ b/tests/embind/embind_test.cpp
@@ -1527,6 +1527,7 @@ EMSCRIPTEN_BINDINGS(tests) {
.function("getConstVal", &ValHolder::getConstVal)
.function("getValConstRef", &ValHolder::getValConstRef)
.function("setVal", &ValHolder::setVal)
+ .property("val", &ValHolder::getVal, &ValHolder::setVal)
.class_function("makeConst", &ValHolder::makeConst, allow_raw_pointer<ret_val>())
.class_function("makeValHolder", &ValHolder::makeValHolder)
.class_function("some_class_method", &ValHolder::some_class_method)