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 000000000..caefc2202
--- /dev/null
+++ b/dom/url/tests/url_exceptions_worker.js
@@ -0,0 +1,38 @@
+function ok(a, msg) {
+ postMessage({type: 'status', status: !!a, msg: 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' });
+}