| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <script> | |
| 3 function fetch_url(url) { | |
| 4 return new Promise(function(resolve, reject) { | |
| 5 var request = new XMLHttpRequest(); | |
| 6 request.addEventListener('load', function(event) { | |
| 7 resolve(); | |
| 8 }); | |
| 9 request.addEventListener('error', function(event) { | |
| 10 reject(); | |
| 11 }); | |
| 12 request.open('GET', url); | |
| 13 request.send(); | |
| 14 }); | |
| 15 } | |
| 16 | |
| 17 function make_test(testcase) { | |
| 18 var name = testcase.name; | |
| 19 return fetch_url(window.location.href + '?' + name) | |
| 20 .then( | |
| 21 function() { | |
| 22 if (testcase.expect_load) | |
| 23 return Promise.resolve(); | |
| 24 return Promise.reject(new Error( | |
| 25 name + ': expected network error but loaded')); | |
| 26 }, | |
| 27 function() { | |
| 28 if (!testcase.expect_load) | |
| 29 return Promise.resolve(); | |
| 30 return Promise.reject(new Error( | |
| 31 name + ': expected to load but got network error')); | |
| 32 }); | |
| 33 } | |
| 34 | |
| 35 function run_tests() { | |
| 36 var tests = [ | |
| 37 { name: 'response-object', expect_load: true }, | |
| 38 { name: 'response-promise-object', expect_load: true }, | |
| 39 { name: 'other-value', expect_load: false }, | |
| 40 ].map(make_test); | |
| 41 | |
| 42 Promise.all(tests) | |
| 43 .then(function() { | |
| 44 window.parent.notify_test_done('PASS'); | |
| 45 }) | |
| 46 .catch(function(error) { | |
| 47 window.parent.notify_test_done('FAIL: ' + error.message); | |
| 48 }); | |
| 49 } | |
| 50 | |
| 51 if (!navigator.serviceWorker.controller) | |
| 52 window.parent.notify_done('FAIL: no controller'); | |
| 53 else | |
| 54 run_tests(); | |
| 55 </script> | |
| OLD | NEW |