Index: third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..109b10ead44e3f1944b443b6469430bb7be82b78 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html |
@@ -0,0 +1,44 @@ |
+<!DOCTYPE html> |
+<meta charset="utf-8"> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+<link rel="help" href="https://html.spec.whatwg.org/#the-promiserejectionevent-interface"> |
+<script> |
+'use strict'; |
+ |
+test(function() { |
+ var p = new Promise(function(resolve, reject) {}); |
+ |
+ // No custom options are passed (besides required promise). |
+ assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).bubbles, false); |
+ assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).cancelable, false); |
+ assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).promise, p); |
+ assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).reason, undefined); |
+ |
+ // No promise is passed. |
+ assert_throws(new TypeError(), |
+ function() { |
+ new PromiseRejectionEvent('eventType', { bubbles: false }); |
+ }, |
+ 'Cannot construct PromiseRejectionEventInit without promise'); |
+ |
+ // bubbles is passed. |
+ assert_equals(new PromiseRejectionEvent('eventType', { bubbles: false, promise: p }).bubbles, false); |
+ assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, promise: p }).bubbles, true); |
+ |
+ // cancelable is passed. |
+ assert_equals(new PromiseRejectionEvent('eventType', { cancelable: false, promise: p }).cancelable, false); |
+ assert_equals(new PromiseRejectionEvent('eventType', { cancelable: true, promise: p }).cancelable, true); |
+ |
+ // reason is passed. |
+ var r = new Error(); |
+ assert_equals(new PromiseRejectionEvent('eventType', { promise: p, reason: r }).reason, r); |
+ |
+ |
+ // All initializers are passed. |
+ assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, cancelable: true, promise: p, reason: r }).bubbles, true); |
+ assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, cancelable: true, promise: p, reason: r }).cancelable, true); |
+ assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, cancelable: true, promise: p, reason: r }).promise, p); |
+ assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, cancelable: true, promise: p, reason: r }).reason, r); |
+}, "This tests the constructor for the PromiseRejectionEvent DOM class."); |
+</script> |