OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --expose-debug-as debug --allow-natives-syntax | 5 // Flags: --expose-debug-as debug --allow-natives-syntax |
6 | 6 |
7 // Test debug events when an exception is thrown inside a Promise, which is | 7 // Test debug events when an exception is thrown inside a Promise, which is |
8 // caught by a custom promise, which throws a new exception in its reject | 8 // caught by a custom promise, which throws a new exception in its reject |
9 // handler. We expect two Exception debug events: | 9 // handler. We expect two Exception debug events: |
10 // 1) when the exception is thrown in the promise q. | 10 // 1) when the exception is thrown in the promise q. |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 assertEquals(["resolve", "construct", "end main", | 74 assertEquals(["resolve", "construct", "end main", |
75 "throw caught", "throw in reject"], log); | 75 "throw caught", "throw in reject"], log); |
76 } else { | 76 } else { |
77 testDone(iteration + 1); | 77 testDone(iteration + 1); |
78 } | 78 } |
79 } catch (e) { | 79 } catch (e) { |
80 %AbortJS(e + "\n" + e.stack); | 80 %AbortJS(e + "\n" + e.stack); |
81 } | 81 } |
82 } | 82 } |
83 | 83 |
84 // Run testDone through the Object.observe processing loop. | 84 Promise.resolve().then(checkResult); |
85 var dummy = {}; | |
86 Object.observe(dummy, checkResult); | |
87 dummy.dummy = dummy; | |
88 } | 85 } |
89 | 86 |
90 testDone(0); | 87 testDone(0); |
OLD | NEW |