summaryrefslogtreecommitdiff
path: root/test/binaryen.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-04-05 09:49:37 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-04-05 09:49:37 -0700
commit155223a2a0dd222817881dab85fa11166cc5bbb3 (patch)
tree7f10e15b941474c2b23c741e20ee2657c54026ca /test/binaryen.js
parentb243bf42bf89bee18ece60fb0607cf1fb70ce702 (diff)
parentea448f35ada45647c200019cc34b4315cb16cdd9 (diff)
downloadbinaryen-155223a2a0dd222817881dab85fa11166cc5bbb3.tar.gz
binaryen-155223a2a0dd222817881dab85fa11166cc5bbb3.tar.bz2
binaryen-155223a2a0dd222817881dab85fa11166cc5bbb3.zip
Merge pull request #312 from WebAssembly/webidl
WebIDL bindings
Diffstat (limited to 'test/binaryen.js')
-rw-r--r--test/binaryen.js/test.js44
-rw-r--r--test/binaryen.js/test.js.txt1
2 files changed, 45 insertions, 0 deletions
diff --git a/test/binaryen.js/test.js b/test/binaryen.js/test.js
new file mode 100644
index 000000000..7c27223de
--- /dev/null
+++ b/test/binaryen.js/test.js
@@ -0,0 +1,44 @@
+
+Binaryen = Binaryen(); // instantiate the module
+
+var input =
+ '(module\n' +
+ ' (export "add" $add)\n' +
+ ' (func $add (param $x f64) (param $y f64) (result f64)\n' +
+ ' (f64.add\n' +
+ ' (get_local $x)\n' +
+ ' (get_local $y)\n' +
+ ' )\n' +
+ ' )\n' +
+ ')\n';
+
+console.log('input:');
+console.log(input);
+console.log('================');
+
+var module = new Binaryen.AllocatingModule();
+var parser = new Binaryen.SExpressionParser(input);
+
+console.log('s-expr dump:');
+parser.get_root().dump();
+var s_module = parser.get_root().getChild(0);
+console.log('================');
+
+var builder = new Binaryen.SExpressionWasmBuilder(module, s_module);
+
+console.log('module:');
+Binaryen.WasmPrinter.prototype.printModule(module);
+console.log('================');
+
+var interface_ = new Binaryen.ShellExternalInterface();
+var instance = new Binaryen.ModuleInstance(module, interface_);
+
+var name = new Binaryen.Name('add');
+console.log('name: ' + name.c_str());
+
+var args = new Binaryen.LiteralList();
+args.push_back(new Binaryen.Literal(40));
+args.push_back(new Binaryen.Literal(2));
+
+console.log('answer is ' + instance.callExport(name, args).getf64() + '.');
+
diff --git a/test/binaryen.js/test.js.txt b/test/binaryen.js/test.js.txt
new file mode 100644
index 000000000..048c72b14
--- /dev/null
+++ b/test/binaryen.js/test.js.txt
@@ -0,0 +1 @@
+answer is 42.