aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Austin <chad@imvu.com>2013-08-29 13:58:54 -0700
committerBruce Mitchener <bruce.mitchener@gmail.com>2014-02-04 16:16:52 +0700
commit34798ee526774bf5040bf5153575e867c82a72e5 (patch)
tree90575efd535b3535085a22534c4038bb0b01458f
parent1511e68f617e555b5342fe9df693eed07ffac8cb (diff)
Bring back Joe's original test too
-rw-r--r--tests/embind/embind.test.js12
-rw-r--r--tests/embind/embind_test.cpp5
2 files changed, 17 insertions, 0 deletions
diff --git a/tests/embind/embind.test.js b/tests/embind/embind.test.js
index ee80da0c..2a14ccde 100644
--- a/tests/embind/embind.test.js
+++ b/tests/embind/embind.test.js
@@ -1899,6 +1899,18 @@ module({
sh2.delete();
sh1.delete();
});
+
+ test("calling function that returns a StringHolder", function() {
+ var sh1 = new cm.StringHolder("Hello world");
+ var sh2 = cm.call_StringHolder_func(function() {
+ return sh1;
+ });
+ assert.equal("Hello world", sh1.get());
+ assert.equal("Hello world", sh2.get());
+ assert.false(sh1.isAliasOf(sh2));
+ sh2.delete();
+ sh1.delete();
+ });
});
});
diff --git a/tests/embind/embind_test.cpp b/tests/embind/embind_test.cpp
index f723f240..1d871924 100644
--- a/tests/embind/embind_test.cpp
+++ b/tests/embind/embind_test.cpp
@@ -2248,6 +2248,11 @@ StringHolder return_StringHolder_copy(val func) {
return func.as<StringHolder>();
}
+StringHolder call_StringHolder_func(val func) {
+ return func().as<StringHolder>();
+}
+
EMSCRIPTEN_BINDINGS(return_values) {
function("return_StringHolder_copy", &return_StringHolder_copy);
+ function("call_StringHolder_func", &call_StringHolder_func);
}