summaryrefslogtreecommitdiff
path: root/test/binaryen.js/kitchen-sink.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/binaryen.js/kitchen-sink.js')
-rw-r--r--test/binaryen.js/kitchen-sink.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js
index 773757ff0..3d0615378 100644
--- a/test/binaryen.js/kitchen-sink.js
+++ b/test/binaryen.js/kitchen-sink.js
@@ -494,6 +494,30 @@ function test_tracing() {
Binaryen.setAPITracing(0);
}
+function test_parsing() {
+ var text;
+
+ // create a module and write it to text
+ module = new Binaryen.Module();
+ var iii = module.addFunctionType("iii", Binaryen.i32, [ Binaryen.i32, Binaryen.i32 ]);
+ var x = module.getLocal(0, Binaryen.i32),
+ y = module.getLocal(1, Binaryen.i32);
+ var add = module.i32.add(x, y);
+ var adder = module.addFunction("adder", iii, [], add);
+ text = module.emitText();
+ module.dispose();
+ module = null;
+ print('test_parsing text:\n' + text);
+
+ text = text.replace('adder', 'ADD_ER');
+
+ var module2 = Binaryen.parseText(text);
+ assert(module2.validate());
+ console.log("module loaded from text form:");
+ console.log(module2.emitText());
+ module2.dispose();
+}
+
function main() {
test_types();
test_core();
@@ -502,6 +526,7 @@ function main() {
test_interpret();
test_nonvalid();
test_tracing();
+ test_parsing();
}
main();