summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/function-tosource-constructor.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/function-tosource-constructor.js')
-rw-r--r--js/src/jit-test/tests/basic/function-tosource-constructor.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/function-tosource-constructor.js b/js/src/jit-test/tests/basic/function-tosource-constructor.js
new file mode 100644
index 0000000000..26817d9eed
--- /dev/null
+++ b/js/src/jit-test/tests/basic/function-tosource-constructor.js
@@ -0,0 +1,16 @@
+var f = Function("a", "b", "return a + b;");
+assertEq(f.toString(), "function anonymous(a,b\n) {\nreturn a + b;\n}");
+if (Function.prototype.toSource) {
+ assertEq(f.toSource(), "(function anonymous(a,b\n) {\nreturn a + b;\n})");
+}
+assertEq(decompileFunction(f), f.toString());
+f = Function("a", "...rest", "return rest[42] + b;");
+assertEq(f.toString(), "function anonymous(a,...rest\n) {\nreturn rest[42] + b;\n}");
+if (Function.prototype.toSource) {
+ assertEq(f.toSource(), "(function anonymous(a,...rest\n) {\nreturn rest[42] + b;\n})")
+}
+assertEq(decompileFunction(f), f.toString());
+f = Function("");
+assertEq(f.toString(), "function anonymous(\n) {\n\n}");
+f = Function("", "(abc)");
+assertEq(f.toString(), "function anonymous(\n) {\n(abc)\n}");