Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / test / data / extensions / api_test / automation / tests / desktop / actions.js
blobf15fa835ce59899101ea6db8717f073bf05bf19f
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 function listenOnce(node, eventType, callback, capture) {
6   var innerCallback = function() {
7     node.removeEventListener(eventType, innerCallback, capture);
8     callback();
9   };
10   node.addEventListener(eventType, innerCallback, capture);
13 var allTests = [
14   function testDoDefault() {
15     var firstTextField = findAutomationNode(rootNode,
16         function(node) {
17           return node.role == 'textField';
18         });
19     assertTrue(!!firstTextField);
20     listenOnce(firstTextField, EventType.focus, function(e) {
21       chrome.test.succeed();
22     }, true);
23     firstTextField.doDefault();
24   },
26   function testFocus() {
27     var firstFocusableNode = findAutomationNode(rootNode,
28         function(node) {
29           return node.role == 'button' && node.state.focusable;
30         });
31     assertTrue(!!firstFocusableNode);
32     listenOnce(firstFocusableNode, EventType.focus, function(e) {
33       chrome.test.succeed();
34     }, true);
35     firstFocusableNode.focus();
36   },
38   function testDoDefaultViews() {
39     listenOnce(rootNode, 'focus', function(node) {
40       chrome.test.succeed();
41     }, true);
42     var button = rootNode.find(
43         {role: 'button', attributes: {name: 'Bookmark this page'}});
44     button.doDefault();
45   },
47   function testContextMenu() {
48     var addressBar = rootNode.find({role: 'textField'});
49     listenOnce(rootNode, EventType.menuStart, function(e) {
50       addressBar.showContextMenu();
51       chrome.test.succeed();
52     }, true);
53     addressBar.showContextMenu();
54   }
57 setupAndRunTests(allTests);