summaryrefslogtreecommitdiff
path: root/test/binaryen.js/expressions.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/binaryen.js/expressions.js')
-rw-r--r--test/binaryen.js/expressions.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/binaryen.js/expressions.js b/test/binaryen.js/expressions.js
index b9a9a24fb..a97097afe 100644
--- a/test/binaryen.js/expressions.js
+++ b/test/binaryen.js/expressions.js
@@ -1400,6 +1400,37 @@ console.log("# RefFunc");
module.dispose();
})();
+console.log("# RefEq");
+(function testRefEq() {
+ const module = new binaryen.Module();
+
+ var left = module.local.get(0, binaryen.eqref);
+ var right = module.local.get(1, binaryen.eqref);
+ const theRefEq = binaryen.RefEq(module.ref.eq(left, right));
+ assert(theRefEq instanceof binaryen.RefEq);
+ assert(theRefEq instanceof binaryen.Expression);
+ assert(theRefEq.left === left);
+ assert(theRefEq.right === right);
+ assert(theRefEq.type === binaryen.i32);
+
+ theRefEq.left = left = module.local.get(2, binaryen.eqref);
+ assert(theRefEq.left === left);
+ theRefEq.right = right = module.local.get(3, binaryen.eqref);
+ assert(theRefEq.right === right);
+ theRefEq.type = binaryen.f64;
+ theRefEq.finalize();
+ assert(theRefEq.type === binaryen.i32);
+
+ console.log(theRefEq.toText());
+ assert(
+ theRefEq.toText()
+ ==
+ "(ref.eq\n (local.get $2)\n (local.get $3)\n)\n"
+ );
+
+ module.dispose();
+})();
+
console.log("# Try");
(function testTry() {
const module = new binaryen.Module();