Chromium Code Reviews| Index: LayoutTests/inspector/console/console-uncaught-promise-no-inspector.html |
| diff --git a/LayoutTests/inspector/console/console-uncaught-promise-no-inspector.html b/LayoutTests/inspector/console/console-uncaught-promise-no-inspector.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..088440a7bbe892eb7c5216f3731dbc8f7911d2c1 |
| --- /dev/null |
| +++ b/LayoutTests/inspector/console/console-uncaught-promise-no-inspector.html |
| @@ -0,0 +1,80 @@ |
| +<html> |
| +<head> |
| +<script> |
| + |
| +function test() |
| +{ |
| + Promise.reject(new Error("err1")) |
| + .then() |
| + .then() |
| + .then(); // Last is unhandled. |
| + |
| + var reject; |
| + var m0 = new Promise(function(res, rej) { reject = rej; }); |
| + var m1 = m0.then(function() {}); |
| + var m2 = m0.then(function() {}); |
| + var m3 = m0.then(function() {}); |
| + var m4 = 0; |
| + m0.catch(function() { |
|
vsevik
2014/11/07 06:26:38
{ on the next line
|
| + m2.catch(function() { |
| + m1.catch(function() { |
| + m4 = m3.then(function() {}); // Unhandled. |
| + setTimeout(testDOMException, 0); |
| + }); |
| + }); |
| + }); |
| + reject(new Error("err2")); |
| +} |
| + |
| +function testDOMException() |
| +{ |
| + var reject; |
| + var p = new Promise(function(res, rej) { |
| + reject = rej; |
| + }); |
| + p.then().catch(function catcher() { |
| + throwDOMException(); |
| + }); |
| + reject(new Error("FAIL: Should not be printed to console")); |
| + |
| + function throwDOMException() |
| + { |
| + notifyDone(); |
| + var a = document.createElement("div"); |
| + var b = document.createElement("div"); |
| + a.removeChild(b); |
| + } |
| +} |
| + |
| +function runTest() |
|
vsevik
2014/11/07 06:26:38
Why do you do this manually and not reuse inspecto
yurys
2014/11/07 12:49:27
I believe the intent was to run this test without
aandrey
2014/11/10 11:44:33
Done.
|
| +{ |
| + if (window.testRunner) { |
| + testRunner.dumpAsText(); |
| + testRunner.waitUntilDone(); |
| + } |
| + try { |
| + test(); |
| + } catch (e) { |
| + notifyDone(); |
| + throw e; |
| + } |
| +} |
| + |
| +function notifyDone() |
| +{ |
| + setTimeout(function() { |
| + if (window.testRunner) |
| + testRunner.notifyDone(); |
| + }, 0); |
| +} |
| + |
| +</script> |
| +</head> |
| + |
| +<body onload="runTest()"> |
| +<p> |
| +Tests that uncaught promise rejection messages have line numbers when the inspector is closed and stack traces are not collected. |
| +</p> |
| + |
| +</body> |
| +</html> |