1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file. 4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochfunction AccountsOptionsWebUITest() {} 6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochAccountsOptionsWebUITest.prototype = { 8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch __proto__: testing.Test.prototype, 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch /** 11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch * Browse to accounts options. 125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu */ 13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch browsePreload: 'chrome://settings-frame/accounts', 14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}; 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochfunction createEnterKeyboardEvent(type) { 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch return new KeyboardEvent(type, { 18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 'bubbles': true, 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 'cancelable': true, 20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 'keyIdentifier': 'Enter' 21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch }); 22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochTEST_F('AccountsOptionsWebUITest', 'testNoCloseOnEnter', function() { 25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch assertEquals(this.browsePreload, document.location.href); 26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch var inputField = $('userNameEdit'); 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch var accountsOptionsPage = AccountsOptions.getInstance(); 29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Overlay is visible. 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch assertTrue(accountsOptionsPage.visible); 32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Simulate pressing the enter key in the edit field. 34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch inputField.dispatchEvent(createEnterKeyboardEvent('keydown')); 35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch inputField.dispatchEvent(createEnterKeyboardEvent('keypress')); 36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch inputField.dispatchEvent(createEnterKeyboardEvent('keyup')); 37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Verify the overlay is still visible. 397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch assertTrue(accountsOptionsPage.visible); 40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}); 41