summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/function-tosource-exprbody.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/function-tosource-exprbody.js')
-rw-r--r--js/src/jit-test/tests/basic/function-tosource-exprbody.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/function-tosource-exprbody.js b/js/src/jit-test/tests/basic/function-tosource-exprbody.js
new file mode 100644
index 000000000..b78e06e04
--- /dev/null
+++ b/js/src/jit-test/tests/basic/function-tosource-exprbody.js
@@ -0,0 +1,31 @@
+function f1(foo, bar) foo + bar;
+assertEq(f1.toString(), "function f1(foo, bar) foo + bar");
+assertEq(f1.toString(), f1.toSource());
+assertEq(decompileFunction(f1), f1.toString());
+// No semicolon on purpose
+function f2(foo, bar) foo + bar
+assertEq(f2.toString(), "function f2(foo, bar) foo + bar");
+assertEq(f2.toString(), f2.toSource());
+var f3 = function (foo, bar) foo + bar;
+assertEq(f3.toSource(), "(function (foo, bar) foo + bar)");
+assertEq(f3.toString(), "function (foo, bar) foo + bar");
+// No semicolon on purpose
+var f4 = function (foo, bar) foo + bar
+assertEq(f4.toSource(), "(function (foo, bar) foo + bar)");
+assertEq(f4.toString(), "function (foo, bar) foo + bar");
+var f5 = function (foo, bar) foo + bar ;
+assertEq(f5.toSource(), "(function (foo, bar) foo + bar)");
+assertEq(f5.toString(), "function (foo, bar) foo + bar");
+var f6 = function (foo, bar) foo + bar; var a = 42
+assertEq(f6.toSource(), "(function (foo, bar) foo + bar)");
+assertEq(f6.toString(), "function (foo, bar) foo + bar");
+var f7 = function (foo, bar) foo + bar + '\
+long\
+string\
+test\
+'
+// a comment followed by some space
+
+
+assertEq(f7.toString(), "function (foo, bar) foo + bar + '\\\nlong\\\nstring\\\ntest\\\n'");
+assertEq(f7.toSource(), "(" + f7.toString() + ")");