summaryrefslogtreecommitdiffstats
path: root/dom/manifest/test/test_ManifestProcessor_start_url.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/manifest/test/test_ManifestProcessor_start_url.html')
-rw-r--r--dom/manifest/test/test_ManifestProcessor_start_url.html59
1 files changed, 59 insertions, 0 deletions
diff --git a/dom/manifest/test/test_ManifestProcessor_start_url.html b/dom/manifest/test/test_ManifestProcessor_start_url.html
new file mode 100644
index 000000000..d0b381fa2
--- /dev/null
+++ b/dom/manifest/test/test_ManifestProcessor_start_url.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1079453
+-->
+<head>
+ <meta charset="utf-8">
+ <title>Test for Bug 1079453</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+ <script src="common.js"></script>
+ <script>
+/**
+ * Manifest start_url
+ * https://w3c.github.io/manifest/#start_url-member
+ **/
+'use strict';
+typeTests.forEach((type) => {
+ var expected = `Expect non - string start_url to be doc's url: ${typeof type}.`;
+ data.jsonText = JSON.stringify({
+ start_url: type
+ });
+ var result = processor.process(data);
+ is(result.start_url.toString(), docURL.toString(), expected);
+});
+
+//Not same origin
+var expected = `Expect different origin URLs to become document's URL.`;
+data.jsonText = JSON.stringify({
+ start_url: 'http://not-same-origin'
+});
+var result = processor.process(data);
+is(result.start_url.toString(), docURL.toString(), expected);
+
+//Empty string test
+var expected = `Expect empty string for start_url to become document's URL.`;
+data.jsonText = JSON.stringify({
+ start_url: ''
+});
+var result = processor.process(data);
+is(result.start_url.toString(), docURL.toString(), expected);
+
+//Resolve URLs relative to manfiest
+var URLs = ['path', '/path', '../../path',
+ `${whiteSpace}path${whiteSpace}`,
+ `${whiteSpace}/path`,
+ `${whiteSpace}../../path`
+];
+URLs.forEach((url) => {
+ var expected = `Resolve URLs relative to manifest.`;
+ data.jsonText = JSON.stringify({
+ start_url: url
+ });
+ var absURL = new URL(url, manifestURL).toString();
+ var result = processor.process(data);
+ is(result.start_url.toString(), absURL, expected);
+});
+ </script>
+</head>