Chromium Code Reviews| Index: LayoutTests/http/tests/serviceworker/resources/fetch-worker.js |
| diff --git a/LayoutTests/http/tests/serviceworker/resources/fetch-worker.js b/LayoutTests/http/tests/serviceworker/resources/fetch-worker.js |
| index 5b99dd86b494f9022d7e7ac0dfef225f536ca76d..7198c7fafac44a024b65eeefd819c6d48528a01d 100644 |
| --- a/LayoutTests/http/tests/serviceworker/resources/fetch-worker.js |
| +++ b/LayoutTests/http/tests/serviceworker/resources/fetch-worker.js |
| @@ -139,6 +139,103 @@ async_test(function(t) { |
| .catch(unreached_rejection(t)); |
| }, 'Fetch with FormData body test in ServiceWorkerGlobalScope'); |
| +async_test(function(t) { |
| + var url = get_host_info()['HTTP_REMOTE_ORIGIN'] + '/dymmy.html'; |
|
falken
2014/11/17 02:14:46
nit: dummy
horo
2014/11/17 03:25:35
Done.
|
| + fetch(new Request(url, {mode: 'same-origin'})) |
| + .then( |
| + unreached_rejection(t, 'Fetching must fail.'), |
| + function(e) { |
| + assert_equals( |
| + e.message, |
| + 'Fetch API cannot load ' + url + '. ' + |
| + 'Request mode is "same-origin" but the URL is not same origin.'); |
| + t.done(); |
| + }) |
| + .catch(unreached_rejection(t)); |
| + }, 'Fetch API error message - not same origin request'); |
| + |
| +async_test(function(t) { |
| + var url = 'ftp://example.com/dummy.html'; |
| + fetch(new Request(url, {mode: 'cors'})) |
| + .then( |
| + unreached_rejection(t, 'Fetching must fail.'), |
| + function(e) { |
| + assert_equals( |
| + e.message, |
| + 'Fetch API cannot load ' + url + '. ' + |
| + 'URL scheme must be "http" or "https" for CORS request.'); |
| + t.done(); |
| + }) |
| + .catch(unreached_rejection(t)); |
| + }, 'Fetch API error message - non http cors request'); |
| + |
| +async_test(function(t) { |
| + var url = 'about://blank'; |
| + fetch(new Request(url)) |
| + .then( |
| + unreached_rejection(t, 'Fetching must fail.'), |
| + function(e) { |
| + assert_equals( |
| + e.message, |
| + 'Fetch API cannot load ' + url + '. ' + |
| + 'URL scheme "about" is not supported.'); |
| + t.done(); |
| + }) |
| + .catch(unreached_rejection(t)); |
| + }, 'Fetch API error message - unsupported scheme.'); |
| + |
| +async_test(function(t) { |
| + var url = get_host_info()['HTTP_ORIGIN'] + base_path() + |
| + 'invalid-chunked-encoding.php'; |
| + fetch(new Request(url)) |
| + .then( |
| + unreached_rejection(t, 'Fetching must fail.'), |
| + function(e) { |
| + assert_equals( |
| + e.message, |
| + 'Fetch API cannot load ' + url + '. ' + |
| + 'net::ERR_INVALID_CHUNKED_ENCODING'); |
| + t.done(); |
| + }) |
| + .catch(unreached_rejection(t)); |
| + }, 'Fetch API error message - invalid chunled encoding.'); |
|
falken
2014/11/17 02:14:46
nit: chunked
horo
2014/11/17 03:25:35
Done.
|
| + |
| +async_test(function(t) { |
| + var url = get_host_info()['HTTP_REMOTE_ORIGIN'] + base_path() + |
| + 'fetch-access-control.php'; |
| + fetch(new Request(url)) |
| + .then( |
| + unreached_rejection(t, 'Fetching must fail.'), |
| + function(e) { |
| + assert_equals( |
| + e.message, |
| + 'Fetch API cannot load ' + url + '. ' + |
| + 'No \'Access-Control-Allow-Origin\' header is present on the ' + |
| + 'requested resource. Origin \'' + get_host_info()['HTTP_ORIGIN'] + |
| + '\' is therefore not allowed access.'); |
| + t.done(); |
| + }) |
| + .catch(unreached_rejection(t)); |
| + }, 'Fetch API error message - cors error.'); |
| + |
| +async_test(function(t) { |
| + // FIXME: When we support the redirection in Fech API, we have to change |
| + // this test case. |
| + var url = get_host_info()['HTTP_ORIGIN'] + base_path() + |
| + 'redirect.php?Redirect=http://www.example.com'; |
| + fetch(new Request(url)) |
| + .then( |
| + unreached_rejection(t, 'Fetching must fail.'), |
| + function(e) { |
| + assert_equals( |
| + e.message, |
| + 'Fetch API cannot load ' + url + '. ' + |
| + 'Unsupported redirection.'); |
| + t.done(); |
| + }) |
| + .catch(unreached_rejection(t)); |
| + }, 'Fetch API error message - redirect error.'); |
| + |
| test(function(t) { |
| function runInfiniteFetchLoop() { |
| fetch('dummy.html') |