summaryrefslogtreecommitdiffstats
path: root/js/src/tests/js1_8_5/reflect-parse/builderExceptions.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/js1_8_5/reflect-parse/builderExceptions.js')
-rw-r--r--js/src/tests/js1_8_5/reflect-parse/builderExceptions.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/js/src/tests/js1_8_5/reflect-parse/builderExceptions.js b/js/src/tests/js1_8_5/reflect-parse/builderExceptions.js
new file mode 100644
index 000000000..e8430dbfa
--- /dev/null
+++ b/js/src/tests/js1_8_5/reflect-parse/builderExceptions.js
@@ -0,0 +1,13 @@
+// |reftest| skip-if(!xulRuntime.shell)
+// Ensure that exceptions thrown by builder methods propagate.
+var thrown = false;
+try {
+ Reflect.parse("42", { builder: { program: function() { throw "expected" } } });
+} catch (e if e === "expected") {
+ thrown = true;
+}
+if (!thrown)
+ throw new Error("builder exception not propagated");
+
+if (typeof reportCompare === 'function')
+ reportCompare(true, true);