summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/comments.js
blob: 5bdc77b3c35aee84f0e0b5040b4d4a703070ba8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
load(libdir + "wasm.js");

// sanity check
assertErrorMessage(() => wasmEvalText(''), SyntaxError, /parsing wasm text/);

// single line comment
var o = wasmEvalText('(module (func)) ;; end');
var o = wasmEvalText('(module (func)) ;; end\n');
var o = wasmEvalText('(module (func))\n;; end');
var o = wasmEvalText('(module (func))\n;; end');
var o = wasmEvalText(';;start\n(module (func))');
var o = wasmEvalText('(module (func ;; middle\n))');
var o = wasmEvalText('(module (func) ;; middle\n (export "a" 0))').exports;
assertEq(Object.getOwnPropertyNames(o)[0], "a");

// multi-line comments
var o = wasmEvalText('(module (func))(; end ;)');
var o = wasmEvalText('(module (func)) (; end\nmulti;)\n');
var o = wasmEvalText('(module (func))\n(;;)');
var o = wasmEvalText('(;start;)(module (func))');
var o = wasmEvalText('(;start;)\n(module (func))');
var o = wasmEvalText('(module (func (; middle\n multi\n;)))');
var o = wasmEvalText('(module (func)(;middle;)(export "a" 0))').exports;
assertEq(Object.getOwnPropertyNames(o)[0], "a");

// nested comments
var o = wasmEvalText('(module (;nested(;comment;);)(func (;;;;)))');
var o = wasmEvalText(';;;;;;;;;;\n(module ;;(;n \n(func (;\n;;;)))');

assertErrorMessage(() => wasmEvalText(';; only comment'), SyntaxError, /parsing wasm text/);
assertErrorMessage(() => wasmEvalText(';; only comment\n'), SyntaxError, /parsing wasm text/);
assertErrorMessage(() => wasmEvalText('(; only comment ;)'), SyntaxError, /parsing wasm text/);
assertErrorMessage(() => wasmEvalText(';; only comment\n'), SyntaxError, /parsing wasm text/);