blob: 9098980b1d9e26eabd4655598ea04541375f3571 [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
'use strict';
async_test(function(t) {
var e = new Error('e');
var p = Promise.reject(e);
window.onunhandledrejection = function(evt) {
t.step(function() {
assert_true(evt.cancelable);
assert_equals(evt.promise, p);
assert_equals(evt.reason, e);
});
setTimeout(function() {
var unreached = t.unreached_func('promise should not be fulfilled');
p.then(unreached, function(reason) {
t.step(function() {
assert_equals(reason, e);
});
});
}, 10);
evt.preventDefault();
};
window.onrejectionhandled = function(evt) {
t.step(function() {
assert_false(evt.cancelable);
assert_equals(evt.promise, p);
assert_equals(evt.reason, e);
});
setTimeout(function() {
if (window.internals) {
t.step(function() {
assert_equals(internals.consoleMessageArgumentCounts(document).length, 0);
});
}
t.done();
}, 10);
};
}, 'evt.preventDefault() should suppress console output.');
</script>