summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/url/url-statics-parse.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/url/url-statics-parse.any.js')
-rw-r--r--testing/web-platform/tests/url/url-statics-parse.any.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/testing/web-platform/tests/url/url-statics-parse.any.js b/testing/web-platform/tests/url/url-statics-parse.any.js
new file mode 100644
index 0000000000..0822e9da07
--- /dev/null
+++ b/testing/web-platform/tests/url/url-statics-parse.any.js
@@ -0,0 +1,50 @@
+// This intentionally does not use resources/urltestdata.json to preserve resources.
+[
+ {
+ "url": undefined,
+ "base": undefined,
+ "expected": false
+ },
+ {
+ "url": "aaa:b",
+ "base": undefined,
+ "expected": true
+ },
+ {
+ "url": undefined,
+ "base": "aaa:b",
+ "expected": false
+ },
+ {
+ "url": "aaa:/b",
+ "base": undefined,
+ "expected": true
+ },
+ {
+ "url": undefined,
+ "base": "aaa:/b",
+ "expected": true
+ },
+ {
+ "url": "https://test:test",
+ "base": undefined,
+ "expected": false
+ },
+ {
+ "url": "a",
+ "base": "https://b/",
+ "expected": true
+ }
+].forEach(({ url, base, expected }) => {
+ test(() => {
+ if (expected == false) {
+ assert_equals(URL.parse(url, base), null);
+ } else {
+ assert_equals(URL.parse(url, base).href, new URL(url, base).href);
+ }
+ }, `URL.parse(${url}, ${base})`);
+});
+
+test(() => {
+ assert_not_equals(URL.parse("https://example/"), URL.parse("https://example/"));
+}, `URL.parse() should return a unique object`);