| Index: chrome/test/chromedriver/js/execute_async_script_test.html
|
| diff --git a/chrome/test/chromedriver/js/execute_async_script_test.html b/chrome/test/chromedriver/js/execute_async_script_test.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2a0727086d3d80b81e28ad4c17413dc91451cc98
|
| --- /dev/null
|
| +++ b/chrome/test/chromedriver/js/execute_async_script_test.html
|
| @@ -0,0 +1,51 @@
|
| +<!DOCTYPE HTML>
|
| +<html>
|
| +<script src='test.js'></script>
|
| +<script src='execute_async_script.js'></script>
|
| +<script>
|
| +
|
| +var idName = 'chromedriverAsyncScriptId';
|
| +var finishFlagName = 'chromedriverAsyncScriptFinsished';
|
| +var resultName = 'chromedriverAsyncScriptResult';
|
| +
|
| +function resetResult() {
|
| + document[idName] = null;
|
| + document[finishFlagName] = null;
|
| + document[resultName] = null;
|
| +}
|
| +
|
| +function testExecuteAsyncScript() {
|
| + resetResult();
|
| + var injectedArgs = null;
|
| + function setArguments(args) {
|
| + injectedArgs = args;
|
| + }
|
| + var script =
|
| + 'var args = arguments; args[0](args); args[args.length - 1](args[1]);';
|
| + var script_args = [setArguments, 1];
|
| + executeAsyncScript(script, script_args);
|
| + assertEquals(3, injectedArgs.length);
|
| + assertEquals(setArguments, injectedArgs[0]);
|
| + assertEquals(1, injectedArgs[1]);
|
| + assert(document[finishFlagName]);
|
| + assert(1, document[resultName]);
|
| + assert(1, document[idName]);
|
| +}
|
| +
|
| +function testFirstScriptFinishAfterSecondScript() {
|
| + resetResult();
|
| + executeAsyncScript(
|
| + 'var fn = arguments[0]; setTimeout(function(){ fn(1); }, 100000);', []);
|
| + assert(!document[finishFlagName]);
|
| + assertEquals(null, document[resultName]);
|
| + assertEquals(1, document[idName]);
|
| + executeAsyncScript('var fn = arguments[0]; fn(2);', []);
|
| + assert(document[finishFlagName]);
|
| + assertEquals(2, document[resultName]);
|
| + assertEquals(2, document[idName]);
|
| +}
|
| +
|
| +</script>
|
| +<body>
|
| +</body>
|
| +</html>
|
|
|