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

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html

Issue 2862353002: Upstream service worker `fetch` tests to WPT (Closed)
Patch Set: Rebase and resolve conflict in 'expectations' file Created 3 years, 7 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/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
index ef2f925aa5f1ef7721d4e0325e77f4bd8fc6dd90..8afa237dc0ecb9bb6c52e87aedd014feb1a10ee9 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
@@ -8,6 +8,10 @@ function assert_equals(a, b) {
port.postMessage({results: 'equals', got: a, expected: b});
}
+function assert_array_equals(a, b, msg) {
+ port.postMessage({results: 'array_equals', got: a, expected: b, msg: msg});
+}
+
function get_boundary(headers) {
var reg = new RegExp('multipart\/form-data; boundary=(.*)');
for (var i = 0; i < headers.length; ++i) {
@@ -59,6 +63,70 @@ function xhr_send(url_base, method, data, with_credentials) {
});
}
+function get_sorted_header_name_list(headers) {
+ var header_names = [];
+ var idx, name;
+
+ for (idx = 0; idx < headers.length; ++idx) {
+ name = headers[idx][0];
+ // The `Accept-Language` header is optional; its presence should not
+ // influence test results.
+ //
+ // > 4. If request’s header list does not contain `Accept-Language`, user
+ // > agents should append `Accept-Language`/an appropriate value to
+ // > request's header list.
+ //
+ // https://fetch.spec.whatwg.org/#fetching
+ if (name === 'accept-language') {
+ continue;
+ }
+
+ header_names.push(name);
+ }
+ header_names.sort();
+ return header_names;
+}
+
+function get_header_test() {
+ return xhr_send(host_info['HTTPS_ORIGIN'], 'GET', '', false)
+ .then(function(response) {
+ assert_array_equals(
+ get_sorted_header_name_list(response.headers),
+ ["accept"],
+ 'event.request has the expected headers for same-origin GET.');
+ });
+}
+
+function post_header_test() {
+ return xhr_send(host_info['HTTPS_ORIGIN'], 'POST', '', false)
+ .then(function(response) {
+ assert_array_equals(
+ get_sorted_header_name_list(response.headers),
+ ["accept", "content-type"],
+ 'event.request has the expected headers for same-origin POST.');
+ });
+}
+
+function cross_origin_get_header_test() {
+ return xhr_send(host_info['HTTPS_REMOTE_ORIGIN'], 'GET', '', false)
+ .then(function(response) {
+ assert_array_equals(
+ get_sorted_header_name_list(response.headers),
+ ["accept"],
+ 'event.request has the expected headers for cross-origin GET.');
+ });
+}
+
+function cross_origin_post_header_test() {
+ return xhr_send(host_info['HTTPS_REMOTE_ORIGIN'], 'POST', '', false)
+ .then(function(response) {
+ assert_array_equals(
+ get_sorted_header_name_list(response.headers),
+ ["accept", "content-type"],
+ 'event.request has the expected headers for cross-origin POST.');
+ });
+}
+
function string_test() {
return xhr_send(host_info['HTTPS_ORIGIN'], 'POST', 'test string', false)
.then(function(response) {
@@ -166,7 +234,11 @@ function data_url_test() {
window.addEventListener('message', function(evt) {
port = evt.ports[0];
- string_test()
+ get_header_test()
+ .then(post_header_test)
+ .then(cross_origin_get_header_test)
+ .then(cross_origin_post_header_test)
+ .then(string_test)
.then(blob_test)
.then(custom_method_test)
.then(options_method_test)
@@ -174,6 +246,9 @@ window.addEventListener('message', function(evt) {
.then(mode_credentials_test)
.then(data_url_test)
.then(function() { port.postMessage({results: 'finish'}); })
- .catch(function(e) { port.postMessage({results: 'failure:' + e}); });
+ .catch(function(reason) {
+ var error = String(reason.message || reason);
+ port.postMessage({results: 'failure', error: error});
+ });
});
</script>

Powered by Google App Engine
This is Rietveld 408576698