Changeset 206152 in webkit
- Timestamp:
- Sep 20, 2016 10:28:51 AM (8 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r206146 r206152 1 2016-09-20 Devin Rousso <dcrousso+webkit@gmail.com> 2 3 Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/model 4 https://bugs.webkit.org/show_bug.cgi?id=162074 5 6 Reviewed by Brian Burg. 7 8 Replace instances of singleFireEventListener with awaitEvent and use promise logic to make 9 tests more readable. 10 11 * inspector/model/frame-extra-scripts.html: 12 * inspector/model/scope-chain-node.html: 13 * inspector/model/script-resource-relationship-expected.txt: 14 * inspector/model/script-resource-relationship.html: 15 * inspector/model/stack-trace.html: 16 1 17 2016-09-20 Jer Noble <jer.noble@apple.com> 2 18 -
trunk/LayoutTests/inspector/model/frame-extra-scripts.html
r200065 r206152 17 17 name: "FrameHasNoExtraScriptsYet", 18 18 description: "No extra scripts yet.", 19 test : (resolve, reject) =>{19 test(resolve, reject) { 20 20 let mainFrame = WebInspector.frameResourceManager.mainFrame; 21 21 InspectorTest.expectThat(mainFrame.extraScripts.length === 0, "Main frame should have no dynamic scripts."); … … 27 27 name: "AddExtraScript", 28 28 description: "Add extra script.", 29 test: (resolve, reject) => { 30 WebInspector.frameResourceManager.mainFrame.singleFireEventListener(WebInspector.Frame.Event.ExtraScriptAdded, (event) => { 29 test(resolve, reject) { 30 WebInspector.frameResourceManager.mainFrame.awaitEvent(WebInspector.Frame.Event.ExtraScriptAdded) 31 .then((event) => { 31 32 InspectorTest.pass("ExtraScriptAdded event fired."); 32 33 InspectorTest.expectThat(event.data.script.dynamicallyAddedScriptElement, "Script should identify as dynamic."); 33 });34 34 35 InspectorTest.evaluateInPage("triggerAddScriptElement()", () => {36 35 let mainFrame = WebInspector.frameResourceManager.mainFrame; 37 36 InspectorTest.expectThat(mainFrame.extraScripts.length === 1, "Main frame should have 1 dynamic script."); 38 resolve(); 39 }); 37 }) 38 .then(resolve, reject); 39 40 InspectorTest.evaluateInPage("triggerAddScriptElement()"); 40 41 } 41 42 }); -
trunk/LayoutTests/inspector/model/scope-chain-node.html
r202717 r206152 24 24 } 25 25 26 function harvestScopeChain(scopeChain) { 26 function harvestScopeChain(scopeChain) { 27 27 let promises = []; 28 28 for (let scope of scopeChain) { … … 41 41 42 42 function logScopeChain(scopeChain) { 43 return harvestScopeChain(scopeChain).then((results) => { 43 return harvestScopeChain(scopeChain) 44 .then((results) => { 44 45 InspectorTest.log("SCOPE CHAIN:"); 45 46 for (let {scope, propertyDescriptors} of results) { … … 60 61 name: "WebInspector.ScopeChainNode.AllTypes", 61 62 description: "Tests for each of the different scope chain node types.", 62 test : (resolve, reject) =>{63 InspectorTest.evaluateInPage("setTimeout(testAllScopes)");64 WebInspector.debuggerManager.singleFireEventListener(WebInspector.DebuggerManager.Event.CallFramesDidChange,(event) => {63 test(resolve, reject) { 64 WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.CallFramesDidChange) 65 .then((event) => { 65 66 let scopeChain = WebInspector.debuggerManager.activeCallFrame.scopeChain; 66 67 InspectorTest.expectThat(scopeChain.length === 13, "ScopeChain should have 13 scopes."); 67 logScopeChain(scopeChain).then((result) => { 68 WebInspector.debuggerManager.resume(); 69 WebInspector.debuggerManager.singleFireEventListener(WebInspector.DebuggerManager.Event.Resumed, (event) => { 70 resolve(); 71 }); 72 }); 73 }); 68 return logScopeChain(scopeChain); 69 }) 70 .then((result) => { 71 let promise = WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.Resumed); 72 WebInspector.debuggerManager.resume(); 73 return promise; 74 }) 75 .then(resolve, reject); 76 77 InspectorTest.evaluateInPage("setTimeout(testAllScopes)"); 74 78 } 75 79 }); … … 78 82 name: "WebInspector.ScopeChainNode.FunctionNameInFunctionExpression", 79 83 description: "Tests that there should be a FunctionName scope inside a function expression.", 80 test: (resolve, reject) => { 84 test(resolve, reject) { 85 WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.CallFramesDidChange) 86 .then((event) => { 87 let scopeChain = WebInspector.debuggerManager.activeCallFrame.scopeChain; 88 return logScopeChain(scopeChain); 89 }) 90 .then((result) => { 91 let promise = WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.Resumed); 92 WebInspector.debuggerManager.resume(); 93 return promise; 94 }) 95 .then(resolve, reject); 96 81 97 InspectorTest.evaluateInPage("setTimeout(testFunctionNameScope1)"); 82 WebInspector.debuggerManager.singleFireEventListener(WebInspector.DebuggerManager.Event.CallFramesDidChange, (event) => {83 let scopeChain = WebInspector.debuggerManager.activeCallFrame.scopeChain;84 logScopeChain(scopeChain).then((result) => {85 WebInspector.debuggerManager.resume();86 WebInspector.debuggerManager.singleFireEventListener(WebInspector.DebuggerManager.Event.Resumed, (event) => {87 resolve();88 });89 });90 });91 98 } 92 99 }); … … 95 102 name: "WebInspector.ScopeChainNode.FunctionNameInClassMethod", 96 103 description: "Tests that there should be a FunctionName scope inside a class method.", 97 test: (resolve, reject) => { 104 test(resolve, reject) { 105 WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.CallFramesDidChange) 106 .then((event) => { 107 let scopeChain = WebInspector.debuggerManager.activeCallFrame.scopeChain; 108 return logScopeChain(scopeChain); 109 }) 110 .then((result) => { 111 let promise = WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.Resumed); 112 WebInspector.debuggerManager.resume(); 113 return promise; 114 }) 115 .then(resolve, reject); 116 98 117 InspectorTest.evaluateInPage("setTimeout(testFunctionNameScope2)"); 99 WebInspector.debuggerManager.singleFireEventListener(WebInspector.DebuggerManager.Event.CallFramesDidChange, (event) => {100 let scopeChain = WebInspector.debuggerManager.activeCallFrame.scopeChain;101 logScopeChain(scopeChain).then((result) => {102 WebInspector.debuggerManager.resume();103 WebInspector.debuggerManager.singleFireEventListener(WebInspector.DebuggerManager.Event.Resumed, (event) => {104 resolve();105 });106 });107 });108 118 } 109 119 }); … … 112 122 name: "WebInspector.ScopeChainNode.BlockScopes", 113 123 description: "Tests for a Block scope inside all the different types of blocks.", 114 test: (resolve, reject) => { 115 InspectorTest.evaluateInPage("setTimeout(testBlockScopes)"); 116 WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.ActiveCallFrameDidChange, callFramesDidChangeListener); 117 124 test(resolve, reject) { 118 125 let pauseCount = 0; 119 126 let pauseEventsExpected = 19; … … 122 129 return; 123 130 124 pauseCount++; 131 pauseCount++; 125 132 let scopeChain = WebInspector.debuggerManager.activeCallFrame.scopeChain; 126 133 … … 150 157 // Print out the full scope of the last few where there are nested or buried block scopes. 151 158 InspectorTest.expectThat(scopeChain.some((scopeChain) => scopeChain.type === WebInspector.ScopeChainNode.Type.Block), `Pause #${pauseCount} - Contains a Block scope.`); 152 logScopeChain(scopeChain).then((result) => { 159 160 logScopeChain(scopeChain) 161 .then((result) => { 153 162 WebInspector.debuggerManager.resume(); 154 163 }); 155 164 } 165 166 WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.ActiveCallFrameDidChange, callFramesDidChangeListener); 167 InspectorTest.evaluateInPage("setTimeout(testBlockScopes)"); 156 168 } 157 169 }); -
trunk/LayoutTests/inspector/model/script-resource-relationship-expected.txt
r200065 r206152 4 4 == Running test suite: WebInspector.Script and WebInspector.Resource relationship 5 5 -- Running test case: ScriptWithResource 6 PASS: Resource was added. 7 PASS: Script was added. 6 PASS: Only one Script should be added. 8 7 PASS: Resource and Script have the same URL. 9 8 PASS: Resource should be related to one script. … … 13 12 14 13 -- Running test case: NamedScriptWithResource 15 PASS: Resource was added. 16 PASS: Script was added. 14 PASS: Only one Script should be added. 17 15 PASS: Resource and Script have the same URL. 18 16 PASS: Resource should be related to one script. -
trunk/LayoutTests/inspector/model/script-resource-relationship.html
r200065 r206152 47 47 name: "ScriptWithResource", 48 48 description: "Normal relationship between a script and a resource.", 49 test: (resolve, reject) => { 50 let script = null, resource = null; 49 test(resolve, reject) { 50 let script = null; 51 let resource = null; 51 52 52 53 WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.ScriptAdded, scriptListener); 53 WebInspector.Frame. singleFireEventListener(WebInspector.Frame.Event.ResourceWasAdded, (event) => {54 InspectorTest.pass("Resource was added.");54 WebInspector.Frame.awaitEvent(WebInspector.Frame.Event.ResourceWasAdded) 55 .then((event) => { 55 56 resource = event.data.resource; 57 validateRelationship(); 56 58 }); 57 59 … … 59 61 if (!event.data.script.url) 60 62 return; 61 InspectorTest.pass("Script was added."); 63 64 InspectorTest.expectThat(!script, "Only one Script should be added."); 65 62 66 script = event.data.script; 63 67 validateRelationship(); … … 65 69 66 70 function validateRelationship() { 71 if (!resource || !script) 72 return; 73 67 74 validateNormalRelationship(resource, script); 68 75 InspectorTest.expectThat(!script.sourceURL, "Script should not have a sourceURL."); … … 79 86 name: "NamedScriptWithResource", 80 87 description: "Normal relationship between a named script and a resource.", 81 test: (resolve, reject) => { 82 let script = null, resource = null; 83 84 WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.ScriptAdded, scriptListener); 85 WebInspector.Frame.singleFireEventListener(WebInspector.Frame.Event.ResourceWasAdded, (event) => { 86 InspectorTest.pass("Resource was added."); 88 test(resolve, reject) { 89 let script = null; 90 let resource = null; 91 92 WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.ScriptAdded, scriptListener); 93 WebInspector.Frame.awaitEvent(WebInspector.Frame.Event.ResourceWasAdded) 94 .then((event) => { 87 95 resource = event.data.resource; 96 validateRelationship(); 88 97 }); 89 98 … … 91 100 if (!event.data.script.url) 92 101 return; 93 InspectorTest.pass("Script was added."); 102 103 InspectorTest.expectThat(!script, "Only one Script should be added."); 104 94 105 script = event.data.script; 95 106 validateRelationship(); … … 97 108 98 109 function validateRelationship() { 110 if (!resource || !script) 111 return; 112 99 113 validateNormalRelationship(resource, script); 100 114 InspectorTest.expectThat(script.sourceURL === "foo.js", "Script should have a sourceURL."); … … 110 124 name: "ScriptWithoutResource", 111 125 description: "A named eval does not have a resource.", 112 test : (resolve, reject) =>{126 test(resolve, reject) { 113 127 WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.ScriptAdded, scriptListener); 114 128 let resourceListener = WebInspector.Frame.singleFireEventListener(WebInspector.Frame.Event.ResourceWasAdded, (event) => { … … 139 153 name: "DynamicallyAddedScriptElementNoResource", 140 154 description: "A dynamically added script element has no resource.", 141 test : (resolve, reject) =>{155 test(resolve, reject) { 142 156 WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.ScriptAdded, scriptListener); 143 157 … … 162 176 name: "DocumentWithInlineScripts", 163 177 description: "A document resource may be associated with multiple inline scripts.", 164 test : (resolve, reject) =>{178 test(resolve, reject) { 165 179 let mainResource = WebInspector.frameResourceManager.mainFrame.mainResource; 166 180 let scripts = mainResource.scripts.slice().sort((a, b) => a.range.startLine - b.range.startLine); -
trunk/LayoutTests/inspector/model/stack-trace.html
r194123 r206152 31 31 name: "WebInspector.ConsoleMessage.StackTrace", 32 32 description: "Test we can create a StackTrace from console messages (Console.StackTrace).", 33 test : (resolve, reject) =>{34 InspectorTest.evaluateInPage("triggerConsoleMessage()");35 WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, function addListener(event){33 test(resolve, reject) { 34 WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded) 35 .then((event) => { 36 36 // Trace message should always have a stack trace. 37 37 let consoleMessage = event.data.message; … … 46 46 47 47 logStackTrace(consoleMessage.stackTrace); 48 resolve(); 49 }); 48 }) 49 .then(resolve, reject); 50 51 InspectorTest.evaluateInPage("triggerConsoleMessage()"); 50 52 } 51 53 });
Note: See TracChangeset
for help on using the changeset viewer.