| <!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> |