summaryrefslogtreecommitdiffstats
path: root/dom/url/tests/url_exceptions_worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/url/tests/url_exceptions_worker.js')
-rw-r--r--dom/url/tests/url_exceptions_worker.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/dom/url/tests/url_exceptions_worker.js b/dom/url/tests/url_exceptions_worker.js
new file mode 100644
index 0000000000..c8d8494ac9
--- /dev/null
+++ b/dom/url/tests/url_exceptions_worker.js
@@ -0,0 +1,38 @@
+function ok(a, msg) {
+ postMessage({ type: "status", status: !!a, msg });
+}
+
+onmessage = function (event) {
+ // URL.href throws
+ var url = new URL("http://www.example.com");
+ ok(url, "URL created");
+
+ var status = false;
+ try {
+ url.href = "42";
+ } catch (e) {
+ status = true;
+ }
+ ok(status, "url.href = 42 should throw");
+
+ url.href = "http://www.example.org";
+ ok(true, "url.href should not throw");
+
+ status = false;
+ try {
+ new URL("42");
+ } catch (e) {
+ status = true;
+ }
+ ok(status, "new URL(42) should throw");
+
+ status = false;
+ try {
+ new URL("http://www.example.com", "42");
+ } catch (e) {
+ status = true;
+ }
+ ok(status, "new URL(something, 42) should throw");
+
+ postMessage({ type: "finish" });
+};