Index: third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b151bd812f9b92a5398923624d6e4601552de095 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html |
@@ -0,0 +1,31 @@ |
+<!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/#unhandled-promise-rejections"> |
+<script> |
+'use strict'; |
+setup({ |
+ allow_uncaught_exception: true |
+}); |
+async_test(function(t) { |
+ var e = new Error('e'); |
+ var p = Promise.reject(e); |
+ |
+ window.onunhandledrejection = function(evt) { |
+ t.step(function() { |
+ assert_equals(evt.promise, p); |
+ assert_equals(evt.reason, e); |
+ }); |
+ var unreached = t.unreached_func('promise should not be fulfilled'); |
+ p.then(unreached, function(reason) { |
+ t.step(function() { |
+ assert_equals(reason, e); |
+ }); |
+ t.step_timeout(function() { t.done(); }, 10); |
+ }); |
+ }; |
+ |
+ window.onrejectionhandled = t.unreached_func('rejectionhandled event should not be invoked'); |
+}, 'Attaching a handler in unhandledrejection should not trigger rejectionhandled.'); |
+</script> |