| OLD | NEW |
| (Empty) |
| 1 <html> | |
| 2 <head> | |
| 3 <script src="../../../http/tests/inspector/inspector-test.js"></script> | |
| 4 <script src="../../../http/tests/inspector/debugger-test.js"></script> | |
| 5 <script> | |
| 6 | |
| 7 function forward(iter, step) | |
| 8 { | |
| 9 while (step-- > 0) | |
| 10 iter.next(); | |
| 11 return iter; | |
| 12 } | |
| 13 | |
| 14 function* gen() | |
| 15 { | |
| 16 yield 1; | |
| 17 yield 2; | |
| 18 yield 3; | |
| 19 } | |
| 20 | |
| 21 var obj = { | |
| 22 generator: function*() | |
| 23 { | |
| 24 yield 11; | |
| 25 yield 12; | |
| 26 yield 13; | |
| 27 } | |
| 28 }; | |
| 29 | |
| 30 var iterNotStarted = gen(); | |
| 31 var iterSuspended = forward(gen(), 1); | |
| 32 var iterClosed = forward(gen(), 5); | |
| 33 | |
| 34 var iterObjGenerator = forward(obj.generator(), 2); | |
| 35 | |
| 36 var anonymousGenIter = (function*() { | |
| 37 yield 21; | |
| 38 yield 22; | |
| 39 yield 23; | |
| 40 })(); | |
| 41 forward(anonymousGenIter, 3); | |
| 42 | |
| 43 function test() | |
| 44 { | |
| 45 function dumpGeneratorObjectDetails(details) | |
| 46 { | |
| 47 InspectorTest.addResult("functionName: \"" + details.functionName + "\""
); | |
| 48 InspectorTest.addResult("lineNumber: " + (details.location.lineNumber +
1)); | |
| 49 InspectorTest.addResult("columnNumber: " + details.location.columnNumber
); | |
| 50 InspectorTest.addResult("scriptId is valid: " + !!details.location.scrip
tId); | |
| 51 InspectorTest.addResult("status: " + details.status); | |
| 52 } | |
| 53 | |
| 54 function performStandardTestCase(pageExpression, next) | |
| 55 { | |
| 56 InspectorTest.evaluateInPage(pageExpression, didEvaluate); | |
| 57 | |
| 58 function didEvaluate(remote) | |
| 59 { | |
| 60 InspectorTest.addResult(pageExpression + ": type = " + remote.type +
", subtype = " + remote.subtype); | |
| 61 InspectorTest.DebuggerAgent.getGeneratorObjectDetails(remote.objectI
d, didGetDetails); | |
| 62 } | |
| 63 | |
| 64 function didGetDetails(error, response) | |
| 65 { | |
| 66 InspectorTest.assertTrue(!error, "FAIL: " + error); | |
| 67 dumpGeneratorObjectDetails(response); | |
| 68 next(); | |
| 69 } | |
| 70 } | |
| 71 | |
| 72 var expressions = [ | |
| 73 "iterNotStarted", | |
| 74 "iterSuspended", | |
| 75 "iterClosed", | |
| 76 "iterObjGenerator", | |
| 77 "anonymousGenIter", | |
| 78 ]; | |
| 79 | |
| 80 function createTestSuiteFunction(expression) | |
| 81 { | |
| 82 var functionName = "test" + expression.toTitleCase(); | |
| 83 return eval("function " + functionName + "(next)\n" + | |
| 84 "{\n" + | |
| 85 " performStandardTestCase('" + expression + "', next);\n" + | |
| 86 "}; " + functionName); | |
| 87 } | |
| 88 | |
| 89 InspectorTest.runDebuggerTestSuite(expressions.map(createTestSuiteFunction))
; | |
| 90 }; | |
| 91 | |
| 92 </script> | |
| 93 | |
| 94 </head> | |
| 95 | |
| 96 <body onload="runTest()"> | |
| 97 <p> | |
| 98 Tests that Debugger.getGeneratorObjectDetails command returns correct result. | |
| 99 </p> | |
| 100 </body> | |
| 101 </html> | |
| OLD | NEW |