| OLD | NEW | 
|---|
| 1 <script src="../../resources/get-host-info.js?pipe=sub"></script> | 1 <script src="../resources/get-host-info.sub.js"></script> | 
| 2 <script src="test-helpers.js"></script> | 2 <script src="test-helpers.sub.js?pipe=sub"></script> | 
| 3 <script> | 3 <script> | 
| 4 var path = base_path() + 'fetch-access-control.php'; | 4 var path = base_path() + 'fetch-access-control.py'; | 
| 5 var host_info = get_host_info(); | 5 var host_info = get_host_info(); | 
| 6 var SUCCESS = 'SUCCESS'; | 6 var SUCCESS = 'SUCCESS'; | 
| 7 var FAIL = 'FAIL'; | 7 var FAIL = 'FAIL'; | 
| 8 | 8 | 
| 9 function create_test_case_promise(url, with_credentials) { | 9 function create_test_case_promise(url, with_credentials) { | 
| 10   return new Promise(function(resolve) { | 10   return new Promise(function(resolve) { | 
| 11       var xhr = new XMLHttpRequest(); | 11       var xhr = new XMLHttpRequest(); | 
| 12       xhr.onload = function() { | 12       xhr.onload = function() { | 
| 13         if (xhr.status == 200) { | 13         if (xhr.status == 200) { | 
| 14           resolve(SUCCESS); | 14           resolve(SUCCESS); | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 47   test_cases.forEach(function(test_case) { | 47   test_cases.forEach(function(test_case) { | 
| 48       promise = promise.then(function() { | 48       promise = promise.then(function() { | 
| 49           return create_test_promise(test_case[0], test_case[1], test_case[2]); | 49           return create_test_promise(test_case[0], test_case[1], test_case[2]); | 
| 50         }); | 50         }); | 
| 51     }); | 51     }); | 
| 52     return promise; | 52     return promise; | 
| 53 } | 53 } | 
| 54 | 54 | 
| 55 window.addEventListener('message', function(evt) { | 55 window.addEventListener('message', function(evt) { | 
| 56     var port = evt.ports[0]; | 56     var port = evt.ports[0]; | 
| 57     var url = host_info['HTTP_ORIGIN'] + path; | 57     var url = host_info['HTTPS_ORIGIN'] + path; | 
| 58     var remote_url = host_info['HTTP_REMOTE_ORIGIN'] + path; | 58     var remote_url = host_info['HTTPS_REMOTE_ORIGIN'] + path; | 
| 59     // If the 4th value of the item of TEST_CASES is true, the test case outputs | 59     // If the 4th value of the item of TEST_CASES is true, the test case outputs | 
| 60     // warning messages. So such tests must be executed in serial to match the | 60     // warning messages. So such tests must be executed in serial to match the | 
| 61     // expected output text. | 61     // expected output text. | 
| 62     var TEST_CASES = [ | 62     var TEST_CASES = [ | 
| 63       // Reject tests | 63       // Reject tests | 
| 64       [url + '?reject', false, FAIL], | 64       [url + '?reject', false, FAIL], | 
| 65       [url + '?reject', true, FAIL], | 65       [url + '?reject', true, FAIL], | 
| 66       [remote_url + '?reject', false, FAIL], | 66       [remote_url + '?reject', false, FAIL], | 
| 67       [remote_url + '?reject', true, FAIL], | 67       [remote_url + '?reject', true, FAIL], | 
|  | 68       // Event handler exception tests | 
|  | 69       [url + '?throw', false, FAIL], | 
|  | 70       [url + '?throw', true, FAIL], | 
|  | 71       [remote_url + '?throw', false, FAIL], | 
|  | 72       [remote_url + '?throw', true, FAIL], | 
| 68       // Reject(resolve-null) tests | 73       // Reject(resolve-null) tests | 
| 69       [url + '?resolve-null', false, FAIL], | 74       [url + '?resolve-null', false, FAIL], | 
| 70       [url + '?resolve-null', true, FAIL], | 75       [url + '?resolve-null', true, FAIL], | 
| 71       [remote_url + '?resolve-null', false, FAIL], | 76       [remote_url + '?resolve-null', false, FAIL], | 
| 72       [remote_url + '?resolve-null', true, FAIL], | 77       [remote_url + '?resolve-null', true, FAIL], | 
| 73       // Fallback tests | 78       // Fallback tests | 
| 74       [url + '?ignore', false, SUCCESS], | 79       [url + '?ignore', false, SUCCESS], | 
| 75       [url + '?ignore', true, SUCCESS], | 80       [url + '?ignore', true, SUCCESS], | 
| 76       [remote_url + '?ignore', false, FAIL, true],  // Executed in serial. | 81       [remote_url + '?ignore', false, FAIL, true],  // Executed in serial. | 
| 77       [remote_url + '?ignore', true, FAIL, true],  // Executed in serial. | 82       [remote_url + '?ignore', true, FAIL, true],  // Executed in serial. | 
| 78       [ | 83       [ | 
| 79         remote_url + '?ACAOrigin=' + host_info['HTTP_ORIGIN'] + '&ignore', | 84         remote_url + '?ACAOrigin=' + host_info['HTTPS_ORIGIN'] + '&ignore', | 
| 80         false, SUCCESS | 85         false, SUCCESS | 
| 81       ], | 86       ], | 
| 82       [ | 87       [ | 
| 83         remote_url + '?ACAOrigin=' + host_info['HTTP_ORIGIN'] + '&ignore', | 88         remote_url + '?ACAOrigin=' + host_info['HTTPS_ORIGIN'] + '&ignore', | 
| 84         true, FAIL, true  // Executed in serial. | 89         true, FAIL, true  // Executed in serial. | 
| 85       ], | 90       ], | 
| 86       [ | 91       [ | 
| 87         remote_url + '?ACAOrigin=' + host_info['HTTP_ORIGIN'] + | 92         remote_url + '?ACAOrigin=' + host_info['HTTPS_ORIGIN'] + | 
| 88         '&ACACredentials=true&ignore', | 93         '&ACACredentials=true&ignore', | 
| 89         true, SUCCESS | 94         true, SUCCESS | 
| 90       ], | 95       ], | 
| 91       // Credential test (fallback) | 96       // Credential test (fallback) | 
| 92       [url + '?Auth&ignore', false, SUCCESS], | 97       [url + '?Auth&ignore', false, SUCCESS], | 
| 93       [url + '?Auth&ignore', true, SUCCESS], | 98       [url + '?Auth&ignore', true, SUCCESS], | 
| 94       [remote_url + '?Auth&ignore', false, FAIL, true],  // Executed in serial. | 99       [remote_url + '?Auth&ignore', false, FAIL, true],  // Executed in serial. | 
| 95       [remote_url + '?Auth&ignore', true, FAIL, true],  // Executed in serial. | 100       [remote_url + '?Auth&ignore', true, FAIL, true],  // Executed in serial. | 
| 96       [ | 101       [ | 
| 97         remote_url + '?Auth&ACAOrigin=' + host_info['HTTP_ORIGIN'] + '&ignore', | 102         remote_url + '?Auth&ACAOrigin=' + host_info['HTTPS_ORIGIN'] + '&ignore', | 
| 98         false, 'STATUS401' | 103         false, 'STATUS401' | 
| 99       ], | 104       ], | 
| 100       [ | 105       [ | 
| 101         remote_url + '?Auth&ACAOrigin=' + host_info['HTTP_ORIGIN'] + '&ignore', | 106         remote_url + '?Auth&ACAOrigin=' + host_info['HTTPS_ORIGIN'] + '&ignore', | 
| 102         true, FAIL, true  // Executed in serial. | 107         true, FAIL, true  // Executed in serial. | 
| 103       ], | 108       ], | 
| 104       [ | 109       [ | 
| 105         remote_url + '?Auth&ACAOrigin=' + host_info['HTTP_ORIGIN'] + | 110         remote_url + '?Auth&ACAOrigin=' + host_info['HTTPS_ORIGIN'] + | 
| 106         '&ACACredentials=true&ignore', | 111         '&ACACredentials=true&ignore', | 
| 107         true, SUCCESS | 112         true, SUCCESS | 
| 108       ], | 113       ], | 
| 109       // Basic response | 114       // Basic response | 
| 110       [ | 115       [ | 
| 111         url + '?mode=same-origin&url=' + encodeURIComponent(url), | 116         url + '?mode=same-origin&url=' + encodeURIComponent(url), | 
| 112         false, SUCCESS | 117         false, SUCCESS | 
| 113       ], | 118       ], | 
| 114       [ | 119       [ | 
| 115         url + '?mode=same-origin&url=' + encodeURIComponent(url), | 120         url + '?mode=same-origin&url=' + encodeURIComponent(url), | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
| 137         false, FAIL | 142         false, FAIL | 
| 138       ], | 143       ], | 
| 139       [ | 144       [ | 
| 140         remote_url + '?mode=no-cors&url=' + encodeURIComponent(remote_url), | 145         remote_url + '?mode=no-cors&url=' + encodeURIComponent(remote_url), | 
| 141         false, FAIL | 146         false, FAIL | 
| 142       ], | 147       ], | 
| 143       // CORS response | 148       // CORS response | 
| 144       [ | 149       [ | 
| 145         url + '?mode=cors&url=' + | 150         url + '?mode=cors&url=' + | 
| 146         encodeURIComponent(remote_url + '?ACAOrigin=' + | 151         encodeURIComponent(remote_url + '?ACAOrigin=' + | 
| 147                            host_info['HTTP_ORIGIN']), | 152                            host_info['HTTPS_ORIGIN']), | 
| 148         false, SUCCESS | 153         false, SUCCESS | 
| 149       ], | 154       ], | 
| 150       [ | 155       [ | 
| 151         url + '?mode=cors&url=' + | 156         url + '?mode=cors&url=' + | 
| 152         encodeURIComponent(remote_url + '?ACAOrigin=' + | 157         encodeURIComponent(remote_url + '?ACAOrigin=' + | 
| 153                            host_info['HTTP_ORIGIN']), | 158                            host_info['HTTPS_ORIGIN']), | 
|  | 159         true, FAIL | 
|  | 160       ], | 
|  | 161       [ | 
|  | 162         url + '?mode=cors&url=' + | 
|  | 163         encodeURIComponent(remote_url + '?ACAOrigin=' + | 
|  | 164                            host_info['HTTPS_ORIGIN'] + | 
|  | 165                            '&ACACredentials=true'), | 
| 154         true, SUCCESS | 166         true, SUCCESS | 
| 155       ], | 167       ], | 
| 156       [ | 168       [ | 
| 157         remote_url + '?mode=cors&url=' + | 169         remote_url + '?mode=cors&url=' + | 
| 158         encodeURIComponent(remote_url + '?ACAOrigin=' + | 170         encodeURIComponent(remote_url + '?ACAOrigin=' + | 
| 159                            host_info['HTTP_ORIGIN']), | 171                            host_info['HTTPS_ORIGIN']), | 
| 160         false, SUCCESS | 172         false, SUCCESS | 
| 161       ], | 173       ], | 
| 162       [ | 174       [ | 
| 163         remote_url + | 175         remote_url + | 
| 164         '?mode=cors&url=' + | 176         '?mode=cors&url=' + | 
| 165         encodeURIComponent(remote_url + '?ACAOrigin=' + | 177         encodeURIComponent(remote_url + '?ACAOrigin=' + | 
| 166                            host_info['HTTP_ORIGIN']), | 178                            host_info['HTTPS_ORIGIN']), | 
|  | 179         true, FAIL | 
|  | 180       ], | 
|  | 181       [ | 
|  | 182         remote_url + | 
|  | 183         '?mode=cors&url=' + | 
|  | 184         encodeURIComponent(remote_url + '?ACAOrigin=' + | 
|  | 185                            host_info['HTTPS_ORIGIN'] + | 
|  | 186                            '&ACACredentials=true'), | 
| 167         true, SUCCESS | 187         true, SUCCESS | 
| 168       ] | 188       ] | 
| 169     ]; | 189     ]; | 
| 170     var promises = []; | 190     var promises = []; | 
| 171     var serial_tests = []; | 191     var serial_tests = []; | 
| 172     for (var i = 0; i < TEST_CASES.length ; ++i) { | 192     for (var i = 0; i < TEST_CASES.length ; ++i) { | 
| 173       if (!TEST_CASES[i][3]) { | 193       if (!TEST_CASES[i][3]) { | 
| 174         promises.push(create_test_promise(TEST_CASES[i][0], | 194         promises.push(create_test_promise(TEST_CASES[i][0], | 
| 175                                           TEST_CASES[i][1], | 195                                           TEST_CASES[i][1], | 
| 176                                           TEST_CASES[i][2])); | 196                                           TEST_CASES[i][2])); | 
| 177       } else { | 197       } else { | 
| 178         serial_tests.push(TEST_CASES[i]); | 198         serial_tests.push(TEST_CASES[i]); | 
| 179       } | 199       } | 
| 180     } | 200     } | 
| 181     promises.push(create_serial_promise(serial_tests)); | 201     promises.push(create_serial_promise(serial_tests)); | 
| 182     Promise.all(promises) | 202     Promise.all(promises) | 
| 183       .then(function() { | 203       .then(function() { | 
| 184           port.postMessage({results: 'finish'}); | 204           port.postMessage({results: 'finish'}); | 
| 185         }) | 205         }) | 
| 186       .catch(function(e) { | 206       .catch(function(e) { | 
| 187           port.postMessage({results: 'failure:' + e}); | 207           port.postMessage({results: 'failure:' + e}); | 
| 188         }); | 208         }); | 
| 189   }, false); | 209   }, false); | 
| 190 </script> | 210 </script> | 
| OLD | NEW | 
|---|