| <!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> |