| OLD | NEW |
| (Empty) | |
| 1 <!DOCTYPE HTML> |
| 2 <html> |
| 3 <script src='test.js'></script> |
| 4 <script src='execute_async_script.js'></script> |
| 5 <script> |
| 6 |
| 7 var idName = 'chromedriverAsyncScriptId'; |
| 8 var finishFlagName = 'chromedriverAsyncScriptFinsished'; |
| 9 var resultName = 'chromedriverAsyncScriptResult'; |
| 10 |
| 11 function resetResult() { |
| 12 document[idName] = null; |
| 13 document[finishFlagName] = null; |
| 14 document[resultName] = null; |
| 15 } |
| 16 |
| 17 function testExecuteAsyncScript() { |
| 18 resetResult(); |
| 19 var injectedArgs = null; |
| 20 function setArguments(args) { |
| 21 injectedArgs = args; |
| 22 } |
| 23 var script = |
| 24 'var args = arguments; args[0](args); args[args.length - 1](args[1]);'; |
| 25 var script_args = [setArguments, 1]; |
| 26 executeAsyncScript(script, script_args); |
| 27 assertEquals(3, injectedArgs.length); |
| 28 assertEquals(setArguments, injectedArgs[0]); |
| 29 assertEquals(1, injectedArgs[1]); |
| 30 assert(document[finishFlagName]); |
| 31 assert(1, document[resultName]); |
| 32 assert(1, document[idName]); |
| 33 } |
| 34 |
| 35 function testFirstScriptFinishAfterSecondScript() { |
| 36 resetResult(); |
| 37 executeAsyncScript( |
| 38 'var fn = arguments[0]; setTimeout(function(){ fn(1); }, 100000);', []); |
| 39 assert(!document[finishFlagName]); |
| 40 assertEquals(null, document[resultName]); |
| 41 assertEquals(1, document[idName]); |
| 42 executeAsyncScript('var fn = arguments[0]; fn(2);', []); |
| 43 assert(document[finishFlagName]); |
| 44 assertEquals(2, document[resultName]); |
| 45 assertEquals(2, document[idName]); |
| 46 } |
| 47 |
| 48 </script> |
| 49 <body> |
| 50 </body> |
| 51 </html> |
| OLD | NEW |