| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script type="text/javascript" src="../../http/tests/inspector-protocol/inspecto
r-protocol-test.js"></script> | 3 <script type="text/javascript" src="../../http/tests/inspector-protocol/inspecto
r-protocol-test.js"></script> |
| 4 <script> | 4 <script> |
| 5 | 5 |
| 6 var resolveCallback; | 6 var resolveCallback; |
| 7 var rejectCallback; | 7 var rejectCallback; |
| 8 function createPromise() | 8 function createPromise() |
| 9 { | 9 { |
| 10 return new Promise((resolve, reject) => { resolveCallback = resolve; rejectC
allback = reject }); | 10 return new Promise((resolve, reject) => { resolveCallback = resolve; rejectC
allback = reject }); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 if (window.gc) | 29 if (window.gc) |
| 30 window.gc(); | 30 window.gc(); |
| 31 } | 31 } |
| 32 | 32 |
| 33 function test() | 33 function test() |
| 34 { | 34 { |
| 35 InspectorTest.sendCommandPromise("Debugger.enable", {}) | 35 InspectorTest.sendCommandPromise("Debugger.enable", {}) |
| 36 .then(() => InspectorTest.sendCommandPromise("Debugger.setAsyncCallStack
Depth", { maxDepth: 128 })) | 36 .then(() => InspectorTest.sendCommandPromise("Debugger.setAsyncCallStack
Depth", { maxDepth: 128 })) |
| 37 .then(() => testSuite()); | 37 .then(() => testSuite()); |
| 38 | 38 |
| 39 function dumpResult(result) |
| 40 { |
| 41 if (result.exceptionDetails) { |
| 42 if (result.exceptionDetails.stackTrace && result.exceptionDetails.st
ackTrace.parent) { |
| 43 for (var frame of result.exceptionDetails.stackTrace.parent.call
Frames) { |
| 44 frame.scriptId = 0; |
| 45 frame.url = ""; |
| 46 } |
| 47 } |
| 48 result.exceptionDetails.exceptionId = 0; |
| 49 if (result.exceptionDetails.exception) |
| 50 result.exceptionDetails.exception.objectId = 0; |
| 51 } |
| 52 InspectorTest.logObject(result); |
| 53 } |
| 54 |
| 39 function testSuite() | 55 function testSuite() |
| 40 { | 56 { |
| 41 InspectorTest.runTestSuite([ | 57 InspectorTest.runTestSuite([ |
| 42 function testResolvedPromise(next) | 58 function testResolvedPromise(next) |
| 43 { | 59 { |
| 44 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "Promise.resolve(239)"}) | 60 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "Promise.resolve(239)"}) |
| 45 .then((result) => InspectorTest.sendCommandPromise("Runtime.
awaitPromise", { promiseObjectId: result.result.result.objectId, returnByValue:
false, generatePreview: true })) | 61 .then((result) => InspectorTest.sendCommandPromise("Runtime.
awaitPromise", { promiseObjectId: result.result.result.objectId, returnByValue:
false, generatePreview: true })) |
| 46 .then((result) => InspectorTest.logObject(result.result)) | 62 .then((result) => dumpResult(result.result)) |
| 47 .then(() => next()); | 63 .then(() => next()); |
| 48 }, | 64 }, |
| 49 | 65 |
| 50 function testRejectedPromise(next) | 66 function testRejectedPromise(next) |
| 51 { | 67 { |
| 52 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "Promise.reject({ a : 1 })"}) | 68 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "Promise.reject({ a : 1 })"}) |
| 53 .then((result) => InspectorTest.sendCommandPromise("Runtime.
awaitPromise", { promiseObjectId: result.result.result.objectId, returnByValue:
true, generatePreview: false })) | 69 .then((result) => InspectorTest.sendCommandPromise("Runtime.
awaitPromise", { promiseObjectId: result.result.result.objectId, returnByValue:
true, generatePreview: false })) |
| 54 .then((result) => InspectorTest.logObject(result.result)) | 70 .then((result) => dumpResult(result.result)) |
| 55 .then(() => next()); | 71 .then(() => next()); |
| 56 }, | 72 }, |
| 57 | 73 |
| 58 function testRejectedPromiseWithStack(next) | 74 function testRejectedPromiseWithStack(next) |
| 59 { | 75 { |
| 60 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "createPromise()"}) | 76 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "createPromise()"}) |
| 61 .then((result) => scheduleRejectAndAwaitPromise(result)) | 77 .then((result) => scheduleRejectAndAwaitPromise(result)) |
| 62 .then((result) => dumpResult(result.result)) | 78 .then((result) => dumpResult(result.result)) |
| 63 .then(() => next()); | 79 .then(() => next()); |
| 64 | 80 |
| 65 function scheduleRejectAndAwaitPromise(result) | 81 function scheduleRejectAndAwaitPromise(result) |
| 66 { | 82 { |
| 67 var promise = InspectorTest.sendCommandPromise("Runtime.awai
tPromise", { promiseObjectId: result.result.result.objectId }); | 83 var promise = InspectorTest.sendCommandPromise("Runtime.awai
tPromise", { promiseObjectId: result.result.result.objectId }); |
| 68 InspectorTest.sendCommandPromise("Runtime.evaluate", { expre
ssion: "rejectPromise()" }); | 84 InspectorTest.sendCommandPromise("Runtime.evaluate", { expre
ssion: "rejectPromise()" }); |
| 69 return promise; | 85 return promise; |
| 70 } | 86 } |
| 71 | |
| 72 function dumpResult(result) | |
| 73 { | |
| 74 for (var frame of result.exceptionDetails.stackTrace.parent.
callFrames) { | |
| 75 frame.scriptId = 0; | |
| 76 frame.url = ""; | |
| 77 } | |
| 78 InspectorTest.logObject(result); | |
| 79 } | |
| 80 }, | 87 }, |
| 81 | 88 |
| 82 function testPendingPromise(next) | 89 function testPendingPromise(next) |
| 83 { | 90 { |
| 84 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "createPromise()"}) | 91 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "createPromise()"}) |
| 85 .then((result) => scheduleFulfillAndAwaitPromise(result)) | 92 .then((result) => scheduleFulfillAndAwaitPromise(result)) |
| 86 .then((result) => InspectorTest.logObject(result.result)) | 93 .then((result) => dumpResult(result.result)) |
| 87 .then(() => next()); | 94 .then(() => next()); |
| 88 | 95 |
| 89 function scheduleFulfillAndAwaitPromise(result) | 96 function scheduleFulfillAndAwaitPromise(result) |
| 90 { | 97 { |
| 91 var promise = InspectorTest.sendCommandPromise("Runtime.awai
tPromise", { promiseObjectId: result.result.result.objectId }); | 98 var promise = InspectorTest.sendCommandPromise("Runtime.awai
tPromise", { promiseObjectId: result.result.result.objectId }); |
| 92 InspectorTest.sendCommandPromise("Runtime.evaluate", { expre
ssion: "resolvePromise()" }); | 99 InspectorTest.sendCommandPromise("Runtime.evaluate", { expre
ssion: "resolvePromise()" }); |
| 93 return promise; | 100 return promise; |
| 94 } | 101 } |
| 95 }, | 102 }, |
| 96 | 103 |
| 97 function testResolvedWithoutArgsPromise(next) | 104 function testResolvedWithoutArgsPromise(next) |
| 98 { | 105 { |
| 99 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "Promise.resolve()"}) | 106 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "Promise.resolve()"}) |
| 100 .then((result) => InspectorTest.sendCommandPromise("Runtime.
awaitPromise", { promiseObjectId: result.result.result.objectId, returnByValue:
true, generatePreview: false })) | 107 .then((result) => InspectorTest.sendCommandPromise("Runtime.
awaitPromise", { promiseObjectId: result.result.result.objectId, returnByValue:
true, generatePreview: false })) |
| 101 .then((result) => InspectorTest.logObject(result.result)) | 108 .then((result) => dumpResult(result.result)) |
| 102 .then(() => next()); | 109 .then(() => next()); |
| 103 }, | 110 }, |
| 104 | 111 |
| 105 function testGarbageCollectedPromise(next) | 112 function testGarbageCollectedPromise(next) |
| 106 { | 113 { |
| 107 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "new Promise(() => undefined)" }) | 114 InspectorTest.sendCommandPromise("Runtime.evaluate", { expressio
n: "new Promise(() => undefined)" }) |
| 108 .then((result) => scheduleGCAndawaitPromise(result)) | 115 .then((result) => scheduleGCAndawaitPromise(result)) |
| 109 .then((result) => InspectorTest.logObject(result.error)) | 116 .then((result) => InspectorTest.logObject(result.error)) |
| 110 .then(() => next()); | 117 .then(() => next()); |
| 111 | 118 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 126 ]); | 133 ]); |
| 127 } | 134 } |
| 128 } | 135 } |
| 129 </script> | 136 </script> |
| 130 </head> | 137 </head> |
| 131 <body onLoad="runTest();"> | 138 <body onLoad="runTest();"> |
| 132 Tests that Runtime.awaitPromise works. | 139 Tests that Runtime.awaitPromise works. |
| 133 </body> | 140 </body> |
| 134 </html> | 141 </html> |
| 135 | 142 |
| OLD | NEW |