summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/comments.js
blob: 4fc29ec19bd186028de601941bad88617a0160f3 (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
// sanity check
assertErrorMessage(() => wasmEvalText(''), SyntaxError, /wasm text error/);

// 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" (func 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" (func 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, /wasm text error/);
assertErrorMessage(() => wasmEvalText(';; only comment\n'), SyntaxError, /wasm text error/);
assertErrorMessage(() => wasmEvalText('(; only comment ;)'), SyntaxError, /wasm text error/);
assertErrorMessage(() => wasmEvalText(';; only comment\n'), SyntaxError, /wasm text error/);