| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <title>enter_submit_test</title> | |
| <link rel="stylesheet" href="/filez/_main/third_party/js/qunit/qunit.css"> | |
| <script src="/filez/_main/third_party/js/qunit/qunit.js"></script> | |
| <script src="/filez/_main/third_party/js/qunit/qunit_test_runner.js"></script> | |
| <script src="test_bootstrap.js"></script> | |
| <script type="text/javascript"> | |
| goog.require('bot.Keyboard'); | |
| goog.require('bot.Keyboard.Key'); | |
| goog.require('bot.dom'); | |
| goog.require('goog.Promise'); | |
| goog.require('goog.dom'); | |
| goog.require('goog.events'); | |
| goog.require('goog.events.EventType'); | |
| </script> | |
| <body> | |
| <div id="qunit"></div> | |
| <div id="qunit-fixture"></div> | |
| <script type="text/javascript"> | |
| var submitFired; | |
| var wasSubmitted; | |
| var waitForSubmit; | |
| var submitted = goog.nullFunction; | |
| QUnit.testStart(function() { | |
| submitFired = false; | |
| wasSubmitted = false; | |
| waitForSubmit = new goog.Promise(function(done) { | |
| submitted = function() { | |
| wasSubmitted = true; | |
| done(); | |
| }; | |
| }); | |
| }); | |
| function submitForm(formName, opt_cancelSubmit) { | |
| var target = document.getElementById(formName + 'text1'); | |
| var keyboard = new bot.Keyboard(); | |
| keyboard.moveCursor(target); | |
| goog.events.listen(document.getElementById(formName), | |
| goog.events.EventType.SUBMIT, function(e) { | |
| submitFired = true; | |
| if (opt_cancelSubmit) { | |
| e.preventDefault(); | |
| } | |
| }); | |
| keyboard.pressKey(bot.Keyboard.Keys.ENTER); | |
| } | |
| QUnit.test('two textboxes and one submit is submitted', function(assert) { | |
| var done = assert.async(); | |
| submitForm('form1'); | |
| waitForSubmit.then(function() { | |
| assert.ok(submitFired); | |
| done(); | |
| }); | |
| }); | |
| QUnit.test('one textboxes and one submit is submitted', function(assert) { | |
| var done = assert.async(); | |
| submitForm('form2'); | |
| waitForSubmit.then(function() { | |
| assert.ok(submitFired); | |
| done(); | |
| }); | |
| }); | |
| QUnit.test('one textboxes and no submit is submitted', function(assert) { | |
| var done = assert.async(); | |
| submitForm('form4'); | |
| waitForSubmit.then(function() { | |
| assert.ok(submitFired); | |
| done(); | |
| }); | |
| }); | |
| QUnit.test('two textboxes and two submits is submitted', function(assert) { | |
| var done = assert.async(); | |
| submitForm('form5'); | |
| waitForSubmit.then(function() { | |
| assert.ok(submitFired); | |
| done(); | |
| }); | |
| }); | |
| QUnit.test('key down cancel not submitted', function(assert) { | |
| submitForm('form6'); | |
| assert.notOk(submitFired); | |
| assert.notOk(wasSubmitted); | |
| }); | |
| QUnit.test('key press cancel not submitted', function(assert) { | |
| submitForm('form7'); | |
| assert.notOk(submitFired); | |
| assert.notOk(wasSubmitted); | |
| }); | |
| QUnit.test('key up cancel submitted', function(assert) { | |
| var done = assert.async(); | |
| submitForm('form8'); | |
| waitForSubmit.then(function() { | |
| assert.ok(submitFired); | |
| done(); | |
| }); | |
| }); | |
| QUnit.test('cancel submit fired not submitted', function(assert) { | |
| submitForm('form9', true); | |
| assert.ok(submitFired); | |
| }); | |
| </script> | |
| <form id="form1" action="javascript:submitted()"> | |
| <input type="text" id="form1text1"></input><br/> | |
| <input type="text" id="form1text2"></input><br/> | |
| <input type="submit" value="submit"></input><br/> | |
| </form> | |
| <form id="form2" action="javascript:submitted()"> | |
| <input type="text" id="form2text1"></input><br/> | |
| <input type="submit" value="submit"></input><br/> | |
| </form> | |
| <form id="form3" action="javascript:submitted()"> | |
| <input type="text" id="form3text1"></input><br/> | |
| <input type="text" id="form3text2"></input><br/> | |
| </form> | |
| <form id="form4" action="javascript:submitted()"> | |
| <input type="text" id="form4text1"></input><br/> | |
| </form> | |
| <form id="form5" action="javascript:submitted()"> | |
| <input type="text" id="form5text1"></input><br/> | |
| <input type="text" id="form5text2"></input><br/> | |
| <input type="submit" value="submit"></input><br/> | |
| <input type="submit" value="submit"></input><br/> | |
| </form> | |
| <form id="form6" action="javascript:submitted()"> | |
| <input type="text" id="form6text1" onkeydown="return false"></input><br/> | |
| <input type="submit" value="submit"></input><br/> | |
| </form> | |
| <form id="form7" action="javascript:submitted()"> | |
| <input type="text" id="form7text1" onkeypress="return false"></input><br/> | |
| <input type="submit" value="submit"></input><br/> | |
| </form> | |
| <form id="form8" action="javascript:submitted()"> | |
| <input type="text" id="form8text1" onkeyup="return false"></input><br/> | |
| <input type="submit" value="submit"></input><br/> | |
| </form> | |
| <form id="form9" action="javascript:submitted()"> | |
| <input type="text" id="form9text1"></input><br/> | |
| <input type="submit" value="submit"></input><br/> | |
| </form> | |
| </body> | |
| </html> |