Add human readable programmatic enum name/values to chrome.automation.
[chromium-blink-merge.git] / chrome / test / data / extensions / api_test / automation / tests / tabs / sanity_check.js
blobff4ee3b584c85ff161913da34c2af70d912a01ae
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 // Do not test orientation or hover attributes (similar to exclusions on native
6 // accessibility), since they can be inconsistent depending on the environment.
7 var RemoveUntestedStates = function(state) {
8   delete state[StateType.horizontal];
9   delete state[StateType.hovered];
10   delete state[StateType.vertical];
13 var allTests = [
14   function testSimplePage() {
15     var title = tree.root.attributes.docTitle;
16     assertEq('Automation Tests', title);
17     RemoveUntestedStates(tree.root.state);
18     assertEq(
19       {enabled: true, focusable: true, readOnly: true},
20       tree.root.state);
21     var children = tree.root.children();
22     assertEq(1, children.length);
24     var body = children[0];
25     assertEq('body', body.attributes.htmlTag);
27     RemoveUntestedStates(body.state);
28     assertEq({enabled: true, readOnly: true},
29              body.state);
31     var contentChildren = body.children();
32     assertEq(3, contentChildren.length);
33     var okButton = contentChildren[0];
34     assertEq('Ok', okButton.attributes.name);
35     RemoveUntestedStates(okButton.state);
36     assertEq({enabled: true, focusable: true, readOnly: true},
37              okButton.state);
38     var userNameInput = contentChildren[1];
39     assertEq('Username',
40              userNameInput.attributes.description);
41     RemoveUntestedStates(userNameInput.state);
42     assertEq({enabled: true, focusable: true},
43              userNameInput.state);
44     var cancelButton = contentChildren[2];
45     assertEq('Cancel',
46              cancelButton.attributes.name);
47     RemoveUntestedStates(cancelButton.state);
48     assertEq({enabled: true, focusable: true, readOnly: true},
49              cancelButton.state);
51     // Traversal.
52     assertEq(undefined, tree.root.parent());
53     assertEq(tree.root, body.parent());
55     assertEq(body, tree.root.firstChild());
56     assertEq(body, tree.root.lastChild());
58     assertEq(okButton, body.firstChild());
59     assertEq(cancelButton, body.lastChild());
61     assertEq(body, okButton.parent());
62     assertEq(body, userNameInput.parent());
63     assertEq(body, cancelButton.parent());
65     assertEq(undefined, okButton.previousSibling());
66     assertEq(undefined, okButton.firstChild());
67     assertEq(userNameInput, okButton.nextSibling());
68     assertEq(undefined, okButton.lastChild());
70     assertEq(okButton, userNameInput.previousSibling());
71     assertEq(cancelButton, userNameInput.nextSibling());
73     assertEq(userNameInput, cancelButton.previousSibling());
74     assertEq(undefined, cancelButton.nextSibling());
76     chrome.test.succeed();
77   }
80 setUpAndRunTests(allTests);