OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 } | 237 } |
238 | 238 |
239 // UI Tests | 239 // UI Tests |
240 | 240 |
241 | 241 |
242 /** | 242 /** |
243 * Tests that scripts tab can be open and populated with inspected scripts. | 243 * Tests that scripts tab can be open and populated with inspected scripts. |
244 */ | 244 */ |
245 TestSuite.prototype.testShowScriptsTab = function() | 245 TestSuite.prototype.testShowScriptsTab = function() |
246 { | 246 { |
247 this.showPanel("scripts"); | 247 this.showPanel("sources"); |
248 var test = this; | 248 var test = this; |
249 // There should be at least main page script. | 249 // There should be at least main page script. |
250 this._waitUntilScriptsAreParsed(["debugger_test_page.html"], | 250 this._waitUntilScriptsAreParsed(["debugger_test_page.html"], |
251 function() { | 251 function() { |
252 test.releaseControl(); | 252 test.releaseControl(); |
253 }); | 253 }); |
254 // Wait until all scripts are added to the debugger. | 254 // Wait until all scripts are added to the debugger. |
255 this.takeControl(); | 255 this.takeControl(); |
256 }; | 256 }; |
257 | 257 |
258 | 258 |
259 /** | 259 /** |
260 * Tests that scripts tab is populated with inspected scripts even if it | 260 * Tests that scripts tab is populated with inspected scripts even if it |
261 * hadn't been shown by the moment inspected paged refreshed. | 261 * hadn't been shown by the moment inspected paged refreshed. |
262 * @see http://crbug.com/26312 | 262 * @see http://crbug.com/26312 |
263 */ | 263 */ |
264 TestSuite.prototype.testScriptsTabIsPopulatedOnInspectedPageRefresh = function() | 264 TestSuite.prototype.testScriptsTabIsPopulatedOnInspectedPageRefresh = function() |
265 { | 265 { |
266 var test = this; | 266 var test = this; |
267 this.assertEquals(WebInspector.panels.elements, WebInspector.inspectorView.c
urrentPanel(), "Elements panel should be current one."); | 267 this.assertEquals(WebInspector.panels.elements, WebInspector.inspectorView.c
urrentPanel(), "Elements panel should be current one."); |
268 | 268 |
269 WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.Event
s.GlobalObjectCleared, waitUntilScriptIsParsed); | 269 WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.Event
s.GlobalObjectCleared, waitUntilScriptIsParsed); |
270 | 270 |
271 // Reload inspected page. It will reset the debugger agent. | 271 // Reload inspected page. It will reset the debugger agent. |
272 test.evaluateInConsole_("window.location.reload(true);", function(resultText
) {}); | 272 test.evaluateInConsole_("window.location.reload(true);", function(resultText
) {}); |
273 | 273 |
274 function waitUntilScriptIsParsed() | 274 function waitUntilScriptIsParsed() |
275 { | 275 { |
276 WebInspector.debuggerModel.removeEventListener(WebInspector.DebuggerMode
l.Events.GlobalObjectCleared, waitUntilScriptIsParsed); | 276 WebInspector.debuggerModel.removeEventListener(WebInspector.DebuggerMode
l.Events.GlobalObjectCleared, waitUntilScriptIsParsed); |
277 test.showPanel("scripts"); | 277 test.showPanel("sources"); |
278 test._waitUntilScriptsAreParsed(["debugger_test_page.html"], | 278 test._waitUntilScriptsAreParsed(["debugger_test_page.html"], |
279 function() { | 279 function() { |
280 test.releaseControl(); | 280 test.releaseControl(); |
281 }); | 281 }); |
282 } | 282 } |
283 | 283 |
284 // Wait until all scripts are added to the debugger. | 284 // Wait until all scripts are added to the debugger. |
285 this.takeControl(); | 285 this.takeControl(); |
286 }; | 286 }; |
287 | 287 |
288 | 288 |
289 /** | 289 /** |
290 * Tests that scripts list contains content scripts. | 290 * Tests that scripts list contains content scripts. |
291 */ | 291 */ |
292 TestSuite.prototype.testContentScriptIsPresent = function() | 292 TestSuite.prototype.testContentScriptIsPresent = function() |
293 { | 293 { |
294 this.showPanel("scripts"); | 294 this.showPanel("sources"); |
295 var test = this; | 295 var test = this; |
296 | 296 |
297 test._waitUntilScriptsAreParsed( | 297 test._waitUntilScriptsAreParsed( |
298 ["page_with_content_script.html", "simple_content_script.js"], | 298 ["page_with_content_script.html", "simple_content_script.js"], |
299 function() { | 299 function() { |
300 test.releaseControl(); | 300 test.releaseControl(); |
301 }); | 301 }); |
302 | 302 |
303 // Wait until all scripts are added to the debugger. | 303 // Wait until all scripts are added to the debugger. |
304 this.takeControl(); | 304 this.takeControl(); |
305 }; | 305 }; |
306 | 306 |
307 | 307 |
308 /** | 308 /** |
309 * Tests that scripts are not duplicaed on Scripts tab switch. | 309 * Tests that scripts are not duplicaed on Scripts tab switch. |
310 */ | 310 */ |
311 TestSuite.prototype.testNoScriptDuplicatesOnPanelSwitch = function() | 311 TestSuite.prototype.testNoScriptDuplicatesOnPanelSwitch = function() |
312 { | 312 { |
313 var test = this; | 313 var test = this; |
314 | 314 |
315 // There should be two scripts: one for the main page and another | 315 // There should be two scripts: one for the main page and another |
316 // one which is source of console API(see | 316 // one which is source of console API(see |
317 // InjectedScript._ensureCommandLineAPIInstalled). | 317 // InjectedScript._ensureCommandLineAPIInstalled). |
318 var expectedScriptsCount = 2; | 318 var expectedScriptsCount = 2; |
319 var parsedScripts = []; | 319 var parsedScripts = []; |
320 | 320 |
321 this.showPanel("scripts"); | 321 this.showPanel("sources"); |
322 | 322 |
323 function switchToElementsTab() { | 323 function switchToElementsTab() { |
324 test.showPanel("elements"); | 324 test.showPanel("elements"); |
325 setTimeout(switchToScriptsTab, 0); | 325 setTimeout(switchToScriptsTab, 0); |
326 } | 326 } |
327 | 327 |
328 function switchToScriptsTab() { | 328 function switchToScriptsTab() { |
329 test.showPanel("scripts"); | 329 test.showPanel("sources"); |
330 setTimeout(checkScriptsPanel, 0); | 330 setTimeout(checkScriptsPanel, 0); |
331 } | 331 } |
332 | 332 |
333 function checkScriptsPanel() { | 333 function checkScriptsPanel() { |
334 test.assertTrue(test._scriptsAreParsed(["debugger_test_page.html"]), "So
me scripts are missing."); | 334 test.assertTrue(test._scriptsAreParsed(["debugger_test_page.html"]), "So
me scripts are missing."); |
335 checkNoDuplicates(); | 335 checkNoDuplicates(); |
336 test.releaseControl(); | 336 test.releaseControl(); |
337 } | 337 } |
338 | 338 |
339 function checkNoDuplicates() { | 339 function checkNoDuplicates() { |
(...skipping 15 matching lines...) Expand all Loading... |
355 | 355 |
356 // Wait until all scripts are added to the debugger. | 356 // Wait until all scripts are added to the debugger. |
357 this.takeControl(); | 357 this.takeControl(); |
358 }; | 358 }; |
359 | 359 |
360 | 360 |
361 // Tests that debugger works correctly if pause event occurs when DevTools | 361 // Tests that debugger works correctly if pause event occurs when DevTools |
362 // frontend is being loaded. | 362 // frontend is being loaded. |
363 TestSuite.prototype.testPauseWhenLoadingDevTools = function() | 363 TestSuite.prototype.testPauseWhenLoadingDevTools = function() |
364 { | 364 { |
365 this.showPanel("scripts"); | 365 this.showPanel("sources"); |
366 | 366 |
367 // Script execution can already be paused. | 367 // Script execution can already be paused. |
368 if (WebInspector.debuggerModel.debuggerPausedDetails) | 368 if (WebInspector.debuggerModel.debuggerPausedDetails) |
369 return; | 369 return; |
370 | 370 |
371 this._waitForScriptPause(this.releaseControl.bind(this)); | 371 this._waitForScriptPause(this.releaseControl.bind(this)); |
372 this.takeControl(); | 372 this.takeControl(); |
373 }; | 373 }; |
374 | 374 |
375 | 375 |
376 // Tests that pressing "Pause" will pause script execution if the script | 376 // Tests that pressing "Pause" will pause script execution if the script |
377 // is already running. | 377 // is already running. |
378 TestSuite.prototype.testPauseWhenScriptIsRunning = function() | 378 TestSuite.prototype.testPauseWhenScriptIsRunning = function() |
379 { | 379 { |
380 this.showPanel("scripts"); | 380 this.showPanel("sources"); |
381 | 381 |
382 this.evaluateInConsole_( | 382 this.evaluateInConsole_( |
383 'setTimeout("handleClick()" , 0)', | 383 'setTimeout("handleClick()" , 0)', |
384 didEvaluateInConsole.bind(this)); | 384 didEvaluateInConsole.bind(this)); |
385 | 385 |
386 function didEvaluateInConsole(resultText) { | 386 function didEvaluateInConsole(resultText) { |
387 this.assertTrue(!isNaN(resultText), "Failed to get timer id: " + resultT
ext); | 387 this.assertTrue(!isNaN(resultText), "Failed to get timer id: " + resultT
ext); |
388 // Wait for some time to make sure that inspected page is running the | 388 // Wait for some time to make sure that inspected page is running the |
389 // infinite loop. | 389 // infinite loop. |
390 setTimeout(testScriptPause.bind(this), 300); | 390 setTimeout(testScriptPause.bind(this), 300); |
391 } | 391 } |
392 | 392 |
393 function testScriptPause() { | 393 function testScriptPause() { |
394 // The script should be in infinite loop. Click "Pause" button to | 394 // The script should be in infinite loop. Click "Pause" button to |
395 // pause it and wait for the result. | 395 // pause it and wait for the result. |
396 WebInspector.panels.scripts._pauseButton.element.click(); | 396 WebInspector.panels.sources._pauseButton.element.click(); |
397 | 397 |
398 this._waitForScriptPause(this.releaseControl.bind(this)); | 398 this._waitForScriptPause(this.releaseControl.bind(this)); |
399 } | 399 } |
400 | 400 |
401 this.takeControl(); | 401 this.takeControl(); |
402 }; | 402 }; |
403 | 403 |
404 | 404 |
405 /** | 405 /** |
406 * Tests network size. | 406 * Tests network size. |
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
902 * Waits until all the scripts are parsed and invokes the callback. | 902 * Waits until all the scripts are parsed and invokes the callback. |
903 */ | 903 */ |
904 TestSuite.prototype._waitUntilScriptsAreParsed = function(expectedScripts, callb
ack) | 904 TestSuite.prototype._waitUntilScriptsAreParsed = function(expectedScripts, callb
ack) |
905 { | 905 { |
906 var test = this; | 906 var test = this; |
907 | 907 |
908 function waitForAllScripts() { | 908 function waitForAllScripts() { |
909 if (test._scriptsAreParsed(expectedScripts)) | 909 if (test._scriptsAreParsed(expectedScripts)) |
910 callback(); | 910 callback(); |
911 else | 911 else |
912 test.addSniffer(WebInspector.panels.scripts, "_addUISourceCode", wai
tForAllScripts); | 912 test.addSniffer(WebInspector.panels.sources, "_addUISourceCode", wai
tForAllScripts); |
913 } | 913 } |
914 | 914 |
915 waitForAllScripts(); | 915 waitForAllScripts(); |
916 }; | 916 }; |
917 | 917 |
918 | 918 |
919 /** | 919 /** |
920 * Key event with given key identifier. | 920 * Key event with given key identifier. |
921 */ | 921 */ |
922 TestSuite.createKeyEvent = function(keyIdentifier) | 922 TestSuite.createKeyEvent = function(keyIdentifier) |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
972 var oldLoadCompleted = InspectorFrontendAPI.loadCompleted; | 972 var oldLoadCompleted = InspectorFrontendAPI.loadCompleted; |
973 InspectorFrontendAPI.loadCompleted = function() | 973 InspectorFrontendAPI.loadCompleted = function() |
974 { | 974 { |
975 oldLoadCompleted.call(InspectorFrontendAPI); | 975 oldLoadCompleted.call(InspectorFrontendAPI); |
976 runTests(); | 976 runTests(); |
977 } | 977 } |
978 | 978 |
979 })(); | 979 })(); |
980 | 980 |
981 } | 981 } |
OLD | NEW |