summaryrefslogtreecommitdiffstats
path: root/LayoutTests/fast
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-10-22 13:02:20 +0100
committerBen Murdoch <benm@google.com>2010-10-26 15:21:41 +0100
commita94275402997c11dd2e778633dacf4b7e630a35d (patch)
treee66f56c67e3b01f22c9c23cd932271ee9ac558ed /LayoutTests/fast
parent09e26c78506587b3f5d930d7bc72a23287ffbec0 (diff)
downloadexternal_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.zip
external_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.tar.gz
external_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.tar.bz2
Merge WebKit at r70209: Initial merge by Git
Change-Id: Id23a68efa36e9d1126bcce0b137872db00892c8e
Diffstat (limited to 'LayoutTests/fast')
-rw-r--r--LayoutTests/fast/dom/DeviceMotion/no-page-cache-expected.txt14
-rw-r--r--LayoutTests/fast/dom/DeviceMotion/no-page-cache.html12
-rw-r--r--LayoutTests/fast/dom/DeviceMotion/resources/cached-page-1.html11
-rw-r--r--LayoutTests/fast/dom/DeviceMotion/resources/cached-page-2.html8
-rw-r--r--LayoutTests/fast/dom/DeviceMotion/script-tests/no-page-cache.js24
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/create-event-onorientationchange-expected.txt16
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/create-event-onorientationchange.html13
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/event-after-navigation-expected.txt3
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/event-after-navigation.html12
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/no-page-cache-expected.txt14
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/no-page-cache.html12
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/resources/cached-page-1.html11
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/resources/cached-page-2.html8
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/resources/event-after-navigation-new.html15
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/script-tests/create-event-onorientationchange.js18
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/script-tests/event-after-navigation.js12
-rw-r--r--LayoutTests/fast/dom/DeviceOrientation/script-tests/no-page-cache.js24
-rw-r--r--LayoutTests/fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-prevents-rebase.js118
-rw-r--r--LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-prevents-rebase-expected.txt46
-rw-r--r--LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-prevents-rebase.html13
-rw-r--r--LayoutTests/fast/js/resources/fs-test-post.js6
-rw-r--r--LayoutTests/fast/js/resources/js-test-pre.js2
-rw-r--r--LayoutTests/fast/url/query-expected.txt2
-rw-r--r--LayoutTests/fast/url/script-tests/segments-from-data-url.js2
-rw-r--r--LayoutTests/fast/url/script-tests/segments.js2
-rw-r--r--LayoutTests/fast/url/segments-expected.txt2
-rw-r--r--LayoutTests/fast/url/segments-from-data-url-expected.txt2
27 files changed, 416 insertions, 6 deletions
diff --git a/LayoutTests/fast/dom/DeviceMotion/no-page-cache-expected.txt b/LayoutTests/fast/dom/DeviceMotion/no-page-cache-expected.txt
new file mode 100644
index 0000000..1dee7cd
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceMotion/no-page-cache-expected.txt
@@ -0,0 +1,14 @@
+Tests that pages that use DeviceMotion are not put in the page cache.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Main page opening resources/cached-page-1.html
+resources/cached-page-1.html onload fired, count = 1
+resources/cached-page-1.html about to navigate to resources/cached-page-2.html
+resources/cached-page-2.html about to go back to resources/cached-page-1.html
+resources/cached-page-1.html onload fired, count = 2
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/DeviceMotion/no-page-cache.html b/LayoutTests/fast/dom/DeviceMotion/no-page-cache.html
new file mode 100644
index 0000000..2e09eac
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceMotion/no-page-cache.html
@@ -0,0 +1,12 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/no-page-cache.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/dom/DeviceMotion/resources/cached-page-1.html b/LayoutTests/fast/dom/DeviceMotion/resources/cached-page-1.html
new file mode 100644
index 0000000..759fbf9
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceMotion/resources/cached-page-1.html
@@ -0,0 +1,11 @@
+<script>
+function loadNext() {
+ window.addEventListener('devicemotion', function() {});
+ if (window.opener.reportPageOneOnload() == 1) {
+ window.opener.debug('resources/cached-page-1.html about to navigate to resources/cached-page-2.html')
+ // Location changes need to happen outside the onload handler to generate history entries.
+ setTimeout(function() { location.href = 'cached-page-2.html'; }, 0);
+ }
+}
+</script>
+<body onload="loadNext()"></body>
diff --git a/LayoutTests/fast/dom/DeviceMotion/resources/cached-page-2.html b/LayoutTests/fast/dom/DeviceMotion/resources/cached-page-2.html
new file mode 100644
index 0000000..5478f9c
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceMotion/resources/cached-page-2.html
@@ -0,0 +1,8 @@
+<script>
+function init() {
+ window.opener.pageTwoLoaded = true;
+ window.opener.debug('resources/cached-page-2.html about to go back to resources/cached-page-1.html');
+ history.back();
+}
+</script>
+<body onload="init()"></body>
diff --git a/LayoutTests/fast/dom/DeviceMotion/script-tests/no-page-cache.js b/LayoutTests/fast/dom/DeviceMotion/script-tests/no-page-cache.js
new file mode 100644
index 0000000..67cfcf6
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceMotion/script-tests/no-page-cache.js
@@ -0,0 +1,24 @@
+description('Tests that pages that use DeviceMotion are not put in the page cache.');
+
+if (window.layoutTestController) {
+ layoutTestController.waitUntilDone();
+ layoutTestController.setCanOpenWindows();
+ layoutTestController.overridePreference('WebKitUsesPageCachePreferenceKey', 1);
+} else
+ debug('This test can not be run without the LayoutTestController');
+
+var pageOneOnloadCount = 0;
+function reportPageOneOnload() {
+ ++pageOneOnloadCount;
+ debug('resources/cached-page-1.html onload fired, count = ' + pageOneOnloadCount);
+ if (pageOneOnloadCount == 2) {
+ finishJSTest();
+ }
+ return pageOneOnloadCount;
+}
+
+debug("Main page opening resources/cached-page-1.html");
+window.open("resources/cached-page-1.html");
+
+window.jsTestIsAsync = true;
+window.successfullyParsed = true;
diff --git a/LayoutTests/fast/dom/DeviceOrientation/create-event-onorientationchange-expected.txt b/LayoutTests/fast/dom/DeviceOrientation/create-event-onorientationchange-expected.txt
new file mode 100644
index 0000000..0f0aac6
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/create-event-onorientationchange-expected.txt
@@ -0,0 +1,16 @@
+Tests that document.createEvent() works with orientationChange
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+FAIL... orientationChange event doesn't appear to be enabled or implemented.
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
+
+
+
diff --git a/LayoutTests/fast/dom/DeviceOrientation/create-event-onorientationchange.html b/LayoutTests/fast/dom/DeviceOrientation/create-event-onorientationchange.html
new file mode 100644
index 0000000..7a033e0
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/create-event-onorientationchange.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></p>
+<div id="result"></div>
+<script src="script-tests/create-event-onorientationchange.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/dom/DeviceOrientation/event-after-navigation-expected.txt b/LayoutTests/fast/dom/DeviceOrientation/event-after-navigation-expected.txt
new file mode 100644
index 0000000..8e6bc39
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/event-after-navigation-expected.txt
@@ -0,0 +1,3 @@
+Tests for a crash where an event is fired after the page has been navigated away when the original page is in the page cache.
+
+SUCCESS
diff --git a/LayoutTests/fast/dom/DeviceOrientation/event-after-navigation.html b/LayoutTests/fast/dom/DeviceOrientation/event-after-navigation.html
new file mode 100644
index 0000000..ced3703
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/event-after-navigation.html
@@ -0,0 +1,12 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/event-after-navigation.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/dom/DeviceOrientation/no-page-cache-expected.txt b/LayoutTests/fast/dom/DeviceOrientation/no-page-cache-expected.txt
new file mode 100644
index 0000000..0217208
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/no-page-cache-expected.txt
@@ -0,0 +1,14 @@
+Tests that pages that use DeviceOrientation are not put in the page cache.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Main page opening resources/cached-page-1.html
+resources/cached-page-1.html onload fired, count = 1
+resources/cached-page-1.html about to navigate to resources/cached-page-2.html
+resources/cached-page-2.html about to go back to resources/cached-page-1.html
+resources/cached-page-1.html onload fired, count = 2
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/DeviceOrientation/no-page-cache.html b/LayoutTests/fast/dom/DeviceOrientation/no-page-cache.html
new file mode 100644
index 0000000..2e09eac
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/no-page-cache.html
@@ -0,0 +1,12 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/no-page-cache.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/dom/DeviceOrientation/resources/cached-page-1.html b/LayoutTests/fast/dom/DeviceOrientation/resources/cached-page-1.html
new file mode 100644
index 0000000..2d76889
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/resources/cached-page-1.html
@@ -0,0 +1,11 @@
+<script>
+function loadNext() {
+ window.addEventListener('deviceorientation', function() {});
+ if (window.opener.reportPageOneOnload() == 1) {
+ window.opener.debug('resources/cached-page-1.html about to navigate to resources/cached-page-2.html')
+ // Location changes need to happen outside the onload handler to generate history entries.
+ setTimeout(function() { location.href = 'cached-page-2.html'; }, 0);
+ }
+}
+</script>
+<body onload="loadNext()"></body>
diff --git a/LayoutTests/fast/dom/DeviceOrientation/resources/cached-page-2.html b/LayoutTests/fast/dom/DeviceOrientation/resources/cached-page-2.html
new file mode 100644
index 0000000..5478f9c
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/resources/cached-page-2.html
@@ -0,0 +1,8 @@
+<script>
+function init() {
+ window.opener.pageTwoLoaded = true;
+ window.opener.debug('resources/cached-page-2.html about to go back to resources/cached-page-1.html');
+ history.back();
+}
+</script>
+<body onload="init()"></body>
diff --git a/LayoutTests/fast/dom/DeviceOrientation/resources/event-after-navigation-new.html b/LayoutTests/fast/dom/DeviceOrientation/resources/event-after-navigation-new.html
new file mode 100644
index 0000000..157e050
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/resources/event-after-navigation-new.html
@@ -0,0 +1,15 @@
+<html>
+ <head>
+ </head>
+ <body>
+ Tests for a crash where an event is fired after the page has been navigated
+ away when the original page is in the page cache.<br><br>
+ SUCCESS
+ <script>
+ if (window.layoutTestController) {
+ layoutTestController.setMockDeviceOrientation(true, 1.1, true, 2.2, true, 3.3);
+ layoutTestController.notifyDone();
+ }
+ </script>
+ </body>
+</html>
diff --git a/LayoutTests/fast/dom/DeviceOrientation/script-tests/create-event-onorientationchange.js b/LayoutTests/fast/dom/DeviceOrientation/script-tests/create-event-onorientationchange.js
new file mode 100644
index 0000000..a63685b
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/script-tests/create-event-onorientationchange.js
@@ -0,0 +1,18 @@
+description('Tests that document.createEvent() works with orientationChange')
+
+function handleOrientationChange()
+{
+ document.getElementById('result').innerHTML = "PASS";
+}
+
+window.addEventListener('onorientationchange', handleOrientationChange, false);
+
+try {
+ var event = document.createEvent("OrientationEvent");
+ event.initEvent("orientationchange", false, false);
+ window.dispatchEvent(event);
+} catch(e) {
+ document.getElementById('result').innerHTML = "FAIL... orientationChange event doesn't appear to be enabled or implemented.";
+}
+
+window.successfullyParsed = true;
diff --git a/LayoutTests/fast/dom/DeviceOrientation/script-tests/event-after-navigation.js b/LayoutTests/fast/dom/DeviceOrientation/script-tests/event-after-navigation.js
new file mode 100644
index 0000000..2756e55
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/script-tests/event-after-navigation.js
@@ -0,0 +1,12 @@
+description('Tests for a crash where an event is fired after the page has been navigated away when the original page is in the page cache.');
+
+if (window.layoutTestController)
+ layoutTestController.overridePreference('WebKitUsesPageCachePreferenceKey', 1);
+else
+ debug('This test can not be run without the LayoutTestController');
+
+window.addEventListener('deviceorientation', function() { } );
+window.location = "resources/event-after-navigation-new.html";
+
+window.jsTestIsAsync = true;
+window.successfullyParsed = true;
diff --git a/LayoutTests/fast/dom/DeviceOrientation/script-tests/no-page-cache.js b/LayoutTests/fast/dom/DeviceOrientation/script-tests/no-page-cache.js
new file mode 100644
index 0000000..cbfb501
--- /dev/null
+++ b/LayoutTests/fast/dom/DeviceOrientation/script-tests/no-page-cache.js
@@ -0,0 +1,24 @@
+description('Tests that pages that use DeviceOrientation are not put in the page cache.');
+
+if (window.layoutTestController) {
+ layoutTestController.waitUntilDone();
+ layoutTestController.setCanOpenWindows();
+ layoutTestController.overridePreference('WebKitUsesPageCachePreferenceKey', 1);
+} else
+ debug('This test can not be run without the LayoutTestController');
+
+var pageOneOnloadCount = 0;
+function reportPageOneOnload() {
+ ++pageOneOnloadCount;
+ debug('resources/cached-page-1.html onload fired, count = ' + pageOneOnloadCount);
+ if (pageOneOnloadCount == 2) {
+ finishJSTest();
+ }
+ return pageOneOnloadCount;
+}
+
+debug("Main page opening resources/cached-page-1.html");
+window.open("resources/cached-page-1.html");
+
+window.jsTestIsAsync = true;
+window.successfullyParsed = true;
diff --git a/LayoutTests/fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-prevents-rebase.js b/LayoutTests/fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-prevents-rebase.js
new file mode 100644
index 0000000..139a9e5
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-prevents-rebase.js
@@ -0,0 +1,118 @@
+description('Tests that when an href attribute is set, the href is no longer subject to updates to the document base URI.');
+
+var a = document.createElement('a');
+var base = document.createElement('base');
+document.head.appendChild(base);
+
+
+debug("Search attribute, update document base URI without attribute having been set");
+base.href = "http://old_base/";
+a.href = "?search";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://new_base/?search'");
+
+debug("Search attribute, update document base URI after attribute has been set");
+base.href = "http://old_base/";
+a.href = "?foo";
+a.search = "search";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://old_base/?search'");
+debug('');
+
+
+debug("Pathname attribute, update document base URI without attribute having been set");
+base.href = "http://old_base/";
+a.href = "path";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://new_base/path'");
+
+debug("Pathname attribute, update document base URI after attribute has been set");
+base.href = "http://old_base/";
+a.href = "foo";
+a.pathname = "path";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://old_base/path'");
+debug('');
+
+
+debug("Hash attribute, update document base URI without attribute having been set");
+base.href = "http://old_base/";
+a.href = "#hash";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://new_base/#hash'");
+
+debug("Pathname attribute, update document base URI after attribute has been set");
+base.href = "http://old_base/";
+a.href = "#foo";
+a.hash = "hash";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://old_base/#hash'");
+debug('');
+
+
+debug('Note that for the following attributes, updating the document base URI has no effect because we have to use an abosulte URL for the href in order to set an initial value for the attribute we wish to update. They are included for completeness.');
+debug('');
+
+
+debug("Host attribute, update document base URI without attribute having been set");
+base.href = "http://old_base/";
+a.href = "http://host:0";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://host:0/'");
+
+debug("Host attribute, update document base URI after attribute has been set");
+base.href = "http://old_base/";
+a.href = "http://foo:80";
+a.host = "host:0";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://host:0/'");
+debug('');
+
+
+debug("Hostname attribute, update document base URI without attribute having been set");
+base.href = "http://old_base/";
+a.href = "http://host";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://host/'");
+
+debug("Hostname attribute, update document base URI after attribute has been set");
+base.href = "http://old_base/";
+a.href = "http://foo";
+a.hostname = "host";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://host/'");
+debug('');
+
+
+debug("Protocol attribute, update document base URI without attribute having been set");
+base.href = "http://old_base/";
+a.href = "protocol:";
+base.href = "http://new_base/";
+shouldBe("a.href", "'protocol:'");
+
+debug("Protocol attribute, update document base URI after attribute has been set");
+base.href = "http://old_base/";
+a.href = "foo:";
+a.protocol = "protocol:";
+base.href = "http://new_base/";
+shouldBe("a.href", "'protocol:'");
+debug('');
+
+
+debug("Port attribute, update document base URI without attribute having been set");
+base.href = "http://old_base/";
+a.href = "http://host:0";
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://host:0/'");
+
+debug("Port attribute, update document base URI after attribute has been set");
+base.href = "http://old_base/";
+a.href = "http://host:80";
+a.port = 0;
+base.href = "http://new_base/";
+shouldBe("a.href", "'http://host:0/'");
+debug('');
+
+
+base.href = '';
+var successfullyParsed = true;
diff --git a/LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-prevents-rebase-expected.txt b/LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-prevents-rebase-expected.txt
new file mode 100644
index 0000000..c7de5cb
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-prevents-rebase-expected.txt
@@ -0,0 +1,46 @@
+Tests that when an href attribute is set, the href is no longer subject to updates to the document base URI.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Search attribute, update document base URI without attribute having been set
+PASS a.href is 'http://new_base/?search'
+Search attribute, update document base URI after attribute has been set
+PASS a.href is 'http://old_base/?search'
+
+Pathname attribute, update document base URI without attribute having been set
+PASS a.href is 'http://new_base/path'
+Pathname attribute, update document base URI after attribute has been set
+PASS a.href is 'http://old_base/path'
+
+Hash attribute, update document base URI without attribute having been set
+PASS a.href is 'http://new_base/#hash'
+Pathname attribute, update document base URI after attribute has been set
+PASS a.href is 'http://old_base/#hash'
+
+Note that for the following attributes, updating the document base URI has no effect because we have to use an abosulte URL for the href in order to set an initial value for the attribute we wish to update. They are included for completeness.
+
+Host attribute, update document base URI without attribute having been set
+PASS a.href is 'http://host:0/'
+Host attribute, update document base URI after attribute has been set
+PASS a.href is 'http://host:0/'
+
+Hostname attribute, update document base URI without attribute having been set
+PASS a.href is 'http://host/'
+Hostname attribute, update document base URI after attribute has been set
+PASS a.href is 'http://host/'
+
+Protocol attribute, update document base URI without attribute having been set
+PASS a.href is 'protocol:'
+Protocol attribute, update document base URI after attribute has been set
+PASS a.href is 'protocol:'
+
+Port attribute, update document base URI without attribute having been set
+PASS a.href is 'http://host:0/'
+Port attribute, update document base URI after attribute has been set
+PASS a.href is 'http://host:0/'
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-prevents-rebase.html b/LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-prevents-rebase.html
new file mode 100644
index 0000000..bfc1c29
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-prevents-rebase.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/set-href-attribute-prevents-rebase.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/js/resources/fs-test-post.js b/LayoutTests/fast/js/resources/fs-test-post.js
new file mode 100644
index 0000000..6d84656
--- /dev/null
+++ b/LayoutTests/fast/js/resources/fs-test-post.js
@@ -0,0 +1,6 @@
+wasPostTestScriptParsed = true;
+
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+if (window.wasFinishJSTestCalled)
+ finishJSTest();
diff --git a/LayoutTests/fast/js/resources/js-test-pre.js b/LayoutTests/fast/js/resources/js-test-pre.js
index 87db5d4..3536a89 100644
--- a/LayoutTests/fast/js/resources/js-test-pre.js
+++ b/LayoutTests/fast/js/resources/js-test-pre.js
@@ -124,7 +124,7 @@ function shouldBeNull(_a) { shouldBe(_a, "null"); }
function shouldBeEqualToString(a, b)
{
- var unevaledString = '"' + b.replace(/\\/g, "\\\\").replace(/"/g, "\"") + '"';
+ var unevaledString = '"' + b.replace(/\\/g, "\\\\").replace(/"/g, "\"").replace(/\n/g, "\\n").replace(/\r/g, "\\r") + '"';
shouldBe(a, unevaledString);
}
diff --git a/LayoutTests/fast/url/query-expected.txt b/LayoutTests/fast/url/query-expected.txt
index 9941416..e4816a5 100644
--- a/LayoutTests/fast/url/query-expected.txt
+++ b/LayoutTests/fast/url/query-expected.txt
@@ -5,7 +5,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS canonicalize('http://www.example.com/?foo=bar') is 'http://www.example.com/?foo=bar'
PASS canonicalize('http://www.example.com/?as?df') is 'http://www.example.com/?as?df'
-FAIL canonicalize('http://www.example.com/?\x02hello bye') should be http://www.example.com/?%02hello%7F%20bye. Was http://www.example.com/?hello%7F%20bye.
+PASS canonicalize('http://www.example.com/?\x02hello bye') is 'http://www.example.com/?%02hello%7F%20bye'
PASS canonicalize('http://www.example.com/?%40%41123') is 'http://www.example.com/?%40%41123'
PASS canonicalize('http://www.example.com/?q=你好') is 'http://www.example.com/?q=%26%2320320%3B%26%2322909%3B'
PASS canonicalize('http://www.example.com/?q=\ud800\ud800') is 'http://www.example.com/?q=%26%2355296%3B%26%2355296%3B'
diff --git a/LayoutTests/fast/url/script-tests/segments-from-data-url.js b/LayoutTests/fast/url/script-tests/segments-from-data-url.js
index 8fc3013..5c4ae02 100644
--- a/LayoutTests/fast/url/script-tests/segments-from-data-url.js
+++ b/LayoutTests/fast/url/script-tests/segments-from-data-url.js
@@ -14,7 +14,7 @@ cases = [
["http://f:00000000000000000000080/c", ["http:","f","0","/c","",""]],
["http://f:b/c", [":","","0","","",""]],
["http://f: /c", [":","","0","","",""]],
- ["http://f:\\n/c", ["http:","f","0","/c","",""]],
+ ["http://f:\\n/c", [":","","0","","",""]],
["http://f:fifty-two/c", [":","","0","","",""]],
["http://f:999999/c", [":","","0","","",""]],
["http://f: 21 / b ? d # e ", [":","","0","","",""]],
diff --git a/LayoutTests/fast/url/script-tests/segments.js b/LayoutTests/fast/url/script-tests/segments.js
index c0c6fa1..c621da1 100644
--- a/LayoutTests/fast/url/script-tests/segments.js
+++ b/LayoutTests/fast/url/script-tests/segments.js
@@ -14,7 +14,7 @@ cases = [
["http://f:00000000000000000000080/c", ["http:","f","0","/c","",""]],
["http://f:b/c", [":","","0","","",""]],
["http://f: /c", [":","","0","","",""]],
- ["http://f:\\n/c", ["http:","f","0","/c","",""]],
+ ["http://f:\\n/c", [":","","0","","",""]],
["http://f:fifty-two/c", [":","","0","","",""]],
["http://f:999999/c", [":","","0","","",""]],
["http://f: 21 / b ? d # e ", [":","","0","","",""]],
diff --git a/LayoutTests/fast/url/segments-expected.txt b/LayoutTests/fast/url/segments-expected.txt
index 3833f36..2da6912 100644
--- a/LayoutTests/fast/url/segments-expected.txt
+++ b/LayoutTests/fast/url/segments-expected.txt
@@ -15,7 +15,7 @@ PASS segments('http://f:00000000000000/c') is '["http:","f","0","/c","",""]'
FAIL segments('http://f:00000000000000000000080/c') should be ["http:","f","0","/c","",""]. Was ["http:","f","80","/c","",""].
PASS segments('http://f:b/c') is '[":","","0","","",""]'
PASS segments('http://f: /c') is '[":","","0","","",""]'
-PASS segments('http://f:\n/c') is '["http:","f","0","/c","",""]'
+PASS segments('http://f:\n/c') is '[":","","0","","",""]'
PASS segments('http://f:fifty-two/c') is '[":","","0","","",""]'
FAIL segments('http://f:999999/c') should be [":","","0","","",""]. Was ["http:","f","65535","/c","",""].
PASS segments('http://f: 21 / b ? d # e ') is '[":","","0","","",""]'
diff --git a/LayoutTests/fast/url/segments-from-data-url-expected.txt b/LayoutTests/fast/url/segments-from-data-url-expected.txt
index 5d102ef..6e1853e 100644
--- a/LayoutTests/fast/url/segments-from-data-url-expected.txt
+++ b/LayoutTests/fast/url/segments-from-data-url-expected.txt
@@ -15,7 +15,7 @@ PASS segments('http://f:00000000000000/c') is '["http:","f","0","/c","",""]'
FAIL segments('http://f:00000000000000000000080/c') should be ["http:","f","0","/c","",""]. Was ["http:","f","80","/c","",""].
PASS segments('http://f:b/c') is '[":","","0","","",""]'
PASS segments('http://f: /c') is '[":","","0","","",""]'
-PASS segments('http://f:\n/c') is '["http:","f","0","/c","",""]'
+PASS segments('http://f:\n/c') is '[":","","0","","",""]'
PASS segments('http://f:fifty-two/c') is '[":","","0","","",""]'
FAIL segments('http://f:999999/c') should be [":","","0","","",""]. Was ["http:","f","65535","/c","",""].
PASS segments('http://f: 21 / b ? d # e ') is '[":","","0","","",""]'