| <!DOCTYPE html> |
| <!-- This is an example app used by chrome/functional/apptest.py to demonstrate |
| use of the Automation Event Queue for testing webapps using DomMutation |
| observers. |
| |
| This example webapp simulates an asyncronous login flow. --> |
| <html> |
| |
| <head> |
| <title>AppTest Example</title> |
| <script type="text/javascript"> |
| var globalTimeout; |
| |
| function write(str) { |
| document.getElementById("console").innerHTML += "> " + str + "<br \>"; |
| } |
| |
| /* Calls a function after a specified number of miliseconds. */ |
| function delayedCallback(f, ms) { |
| globalTimeout = setTimeout(f, ms); |
| } |
| |
| function init() { |
| write("Initializing..."); |
| delayedCallback(createLoginLink, 2000); |
| } |
| |
| function createLoginLink() { |
| write("<a id='login' href='' onclick='return login();'>Log In</a>"); |
| } |
| |
| function login() { |
| write("Logging in..."); |
| delayedCallback(loginSuccess, 2000); |
| return false; |
| } |
| |
| function loginSuccess() { |
| write("Login succeeded!"); |
| document.getElementById("fail").innerHTML = ""; |
| } |
| |
| function fail() { |
| clearTimeout(globalTimeout); |
| write("App failed!"); |
| return false; |
| } |
| </script> |
| </head> |
| |
| <body onload="init()"> |
| <div id="fail"> |
| [ <a href='' onclick='return fail();'>Fail Test</a> ] |
| <br /><br /> |
| </div> |
| |
| <div id="console"> |
| </div> |
| |
| </body> |
| |
| </html> |