Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html

Issue 2695813009: Import wpt@503f5b5f78ec4e87d144f78609f363f0ed0ea8db (Closed)
Patch Set: Skip some tests Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html
new file mode 100644
index 0000000000000000000000000000000000000000..396776d43914edcbff7419a06639efc656449674
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<meta charset=utf-8>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<iframe id="existing" src="resources/post-your-protocol.html?existing"></iframe>
+<iframe id="http-and-gunk" src="resources/post-your-protocol.html?http-and-gunk"></iframe>
+<iframe id="https-and-gunk" src="resources/post-your-protocol.html?https-and-gunk"></iframe>
+<script>
+// NOTE: we do not listen to message events until our load event fires, so we
+// only get them for the things we actually care about.
+var wrapper_test = async_test("General setup");
+var tests = {
+ "existing": { test: async_test("Set location.protocol = location.protocol"),
+ result: location.protocol },
+ "http-and-gunk": { test: async_test("Set location.protocol to http:gunk"),
+ result: "http:" },
+ // We should really test the "https:gunk" case too, and assert that it ends up
+ // with a protocol of "https:", but can't. See comments below for why.
+};
+
+function messageListener(e) {
+ test(function() {
+ var data = e.data;
+ var id = data.id;
+ var t = tests[id].test;
+ t.step(function() {
+ assert_equals(data.protocol, tests[id].result, "Protocol should match");
+ })
+ t.done();
+ }, "Message listener");
+}
+
+addEventListener("load", wrapper_test.step_func_done(function() {
+ addEventListener("message", messageListener);
+
+ tests["existing"].test.step(function() {
+ var loc = document.getElementById("existing").contentWindow.location;
+ loc.protocol = loc.protocol;
+ });
+ tests["http-and-gunk"].test.step(function() {
+ var loc = document.getElementById("http-and-gunk").contentWindow.location;
+ loc.protocol = "http:gunk";
+ });
+ // I wish we could test the https bit, but can't figure out a non-racy way to
+ // do it, because we need to change both protocol (to https) _and_ port to
+ // {{ports[https][0]}} to get a successful load unless we're running on the
+ // default http port, but the setter uses the current value, which doesn't get
+ // updated sync, as the url to start with for the set. Oh, and there's no
+ // good way to detect when the port set is "done" either.
+}));
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698