diff options
Diffstat (limited to 'dom/url/tests/test_url_data.html')
-rw-r--r-- | dom/url/tests/test_url_data.html | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dom/url/tests/test_url_data.html b/dom/url/tests/test_url_data.html new file mode 100644 index 0000000000..a4d017936a --- /dev/null +++ b/dom/url/tests/test_url_data.html @@ -0,0 +1,45 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title>Test URL API - data:plain</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1018682">Mozilla Bug 1018682</a> + +<script type="application/javascript"> + +var base = new URL("data:text/plain,"); + +let relative; +try { + relative = new URL("a", base); + ok(false, "Relative URL from a data:text/plain should not work."); +} catch (e) { + ok(true, "Relative URL from a data:text/plain should not work."); +} + +base.protocol = "chrome:"; +is(base.protocol, "chrome:", "The protocol should be changed from data to chrome."); + +try { + relative = new URL("a", base); + ok(true, "Relative URL from a chrome: should work."); +} catch (e) { + ok(false, "Relative URL from a chrome: should work."); +} + +base.protocol = "http:"; +ok(true, "Protocol: http changed"); +is(base.href, "http://text/plain,", "Base URL is correct"); + +relative = new URL("a", base); +ok(relative, "This works."); +is(relative.href, "http://text/a", "Relative URL is correct"); + +</script> + +</body> +</html> |