Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / api_test / automation / tests / tabs / sanity_check.js
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.
4
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['horizontal'];
9   delete state['hovered'];
10   delete state['vertical'];
11 };
12
13 var allTests = [
14   function testSimplePage() {
15     var title = tree.root.attributes['ax_attr_doc_title'];
16     assertEq('Automation Tests', title);
17     RemoveUntestedStates(tree.root.state);
18     assertEq(
19       {enabled: true, focusable: true, read_only: true},
20       tree.root.state);
21     var children = tree.root.children();
22     assertEq(1, children.length);
23
24     var body = children[0];
25     assertEq('body', body.attributes['ax_attr_html_tag']);
26
27     RemoveUntestedStates(body.state);
28     assertEq({enabled: true, read_only: true},
29              body.state);
30
31     var contentChildren = body.children();
32     assertEq(3, contentChildren.length);
33     var okButton = contentChildren[0];
34     assertEq('Ok', okButton.attributes['ax_attr_name']);
35     RemoveUntestedStates(okButton.state);
36     assertEq({enabled: true, focusable: true, read_only: true},
37              okButton.state);
38     var userNameInput = contentChildren[1];
39     assertEq('Username',
40              userNameInput.attributes['ax_attr_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['ax_attr_name']);
47     RemoveUntestedStates(cancelButton.state);
48     assertEq({enabled: true, focusable: true, read_only: true},
49              cancelButton.state);
50
51     // Traversal.
52     assertEq(undefined, tree.root.parent());
53     assertEq(tree.root, body.parent());
54
55     assertEq(body, tree.root.firstChild());
56     assertEq(body, tree.root.lastChild());
57
58     assertEq(okButton, body.firstChild());
59     assertEq(cancelButton, body.lastChild());
60
61     assertEq(body, okButton.parent());
62     assertEq(body, userNameInput.parent());
63     assertEq(body, cancelButton.parent());
64
65     assertEq(undefined, okButton.previousSibling());
66     assertEq(undefined, okButton.firstChild());
67     assertEq(userNameInput, okButton.nextSibling());
68     assertEq(undefined, okButton.lastChild());
69
70     assertEq(okButton, userNameInput.previousSibling());
71     assertEq(cancelButton, userNameInput.nextSibling());
72
73     assertEq(userNameInput, cancelButton.previousSibling());
74     assertEq(undefined, cancelButton.nextSibling());
75
76     chrome.test.succeed();
77   }
78 ];
79
80 setUpAndRunTests(allTests);