| <!DOCTYPE html> | |
| <script src='../resources/testharness.js'></script> | |
| <script src='../resources/testharnessreport.js'></script> | |
| <script> | |
| function printMethodError(method, target) | |
| { | |
| try { | |
| method.call(target); | |
| assert_unreached(); | |
| } catch(e) { | |
| console.log(e); | |
| } | |
| } | |
| function printPromiseMethodError(method, target) | |
| { | |
| return method.call(target).then(assert_unreached, (e) => { | |
| console.log("Promise rejected with: " + e); | |
| }); | |
| } | |
| function printGetterError(object, getterName, target) | |
| { | |
| const getter = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(object), getterName).get; | |
| printMethodError(getter, target); | |
| } | |
| promise_test(function(test) { | |
| // This test prints exceptions to check the format of their messages. | |
| var request = new Request(""); | |
| var response = new Response(""); | |
| var results = [ | |
| printMethodError(response.clone, request), | |
| printPromiseMethodError(response.arrayBuffer, request), | |
| printPromiseMethodError(response.blob, request), | |
| printPromiseMethodError(response.formData, request), | |
| printPromiseMethodError(response.json, request), | |
| printPromiseMethodError(response.text, request), | |
| printGetterError(response, "body", request), | |
| printGetterError(request, "method", response), | |
| printMethodError(request.clone, response), | |
| ]; | |
| return Promise.all(results); | |
| }, "Exercising TypeError messages in Fetch Request and Response"); | |
| </script> |