Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: content/browser/accessibility/dump_accessibility_tree_browsertest.cc

Issue 2927033004: Expand test defaults to include more states, include more blink test results (Closed)
Patch Set: One more test fix Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 // 48 //
49 // The flow of the test is as outlined below. 49 // The flow of the test is as outlined below.
50 // 1. Load an html file from content/test/data/accessibility. 50 // 1. Load an html file from content/test/data/accessibility.
51 // 2. Read the expectation. 51 // 2. Read the expectation.
52 // 3. Browse to the page and serialize the platform specific tree into a human 52 // 3. Browse to the page and serialize the platform specific tree into a human
53 // readable string. 53 // readable string.
54 // 4. Perform a comparison between actual and expected and fail if they do not 54 // 4. Perform a comparison between actual and expected and fail if they do not
55 // exactly match. 55 // exactly match.
56 class DumpAccessibilityTreeTest : public DumpAccessibilityTestBase { 56 class DumpAccessibilityTreeTest : public DumpAccessibilityTestBase {
57 public: 57 public:
58 void AddDefaultFilters(std::vector<Filter>* filters) override { 58 void AddDefaultFilters(std::vector<Filter>* filters) override {
dmazzoni 2017/06/13 20:25:33 Since this function is getting long, declare it he
aleventhal 2017/06/14 13:17:26 Done.
59 filters->push_back(Filter(base::ASCIIToUTF16("FOCUSABLE"), Filter::ALLOW)); 59 // TODO(aleventhal) Each platform deserves separate default filters.
60 // Windows
61 // Note: SELECTABLE, IA2_STATE_OPAQUE, LINKED off by default -- too noisy.
62 filters->push_back(Filter(base::ASCIIToUTF16("ALERT*"), Filter::ALLOW));
63 filters->push_back(Filter(base::ASCIIToUTF16("ANIMATED*"), Filter::ALLOW));
dmazzoni 2017/06/13 20:25:33 Do we actually use this? I'm tempted to get rid o
aleventhal 2017/06/14 13:17:25 I want to keep them when we don't use them, to mak
64 filters->push_back(Filter(base::ASCIIToUTF16("BUSY"), Filter::ALLOW));
65 filters->push_back(Filter(base::ASCIIToUTF16("CHECKED"), Filter::ALLOW));
66 filters->push_back(Filter(base::ASCIIToUTF16("COLLAPSED"), Filter::ALLOW));
67 filters->push_back(Filter(base::ASCIIToUTF16("DEFAULT"), Filter::ALLOW));
68 filters->push_back(Filter(base::ASCIIToUTF16("EXPANDED"), Filter::ALLOW));
69 filters->push_back(Filter(base::ASCIIToUTF16("FLOATING"), Filter::ALLOW));
70 filters->push_back(Filter(base::ASCIIToUTF16("FOCUS*"), Filter::ALLOW));
71 filters->push_back(Filter(base::ASCIIToUTF16("HASPOPUP"), Filter::ALLOW));
72 // Too noisy:
73 // filters->push_back(Filter(base::ASCIIToUTF16("HOTTRACKED"),
dmazzoni 2017/06/13 20:25:33 Maybe put all of the cpmmented-out off by default
aleventhal 2017/06/14 13:17:26 Done.
74 // Filter::ALLOW));
75 filters->push_back(Filter(base::ASCIIToUTF16("INVISIBLE"), Filter::ALLOW));
76 filters->push_back(Filter(base::ASCIIToUTF16("MARQUEED"), Filter::ALLOW));
77 filters->push_back(Filter(base::ASCIIToUTF16("MIXED"), Filter::ALLOW));
78 filters->push_back(Filter(base::ASCIIToUTF16("MOVEABLE"), Filter::ALLOW));
79 filters->push_back(
80 Filter(base::ASCIIToUTF16("MULTISELECTABLE"), Filter::ALLOW));
81 // Produces false-positive for contentless elements, including <br>
82 // filters->push_back(Filter(base::ASCIIToUTF16("OFFSCREEN"),
83 // Filter::ALLOW));
60 filters->push_back(Filter(base::ASCIIToUTF16("READONLY"), Filter::ALLOW)); 84 filters->push_back(Filter(base::ASCIIToUTF16("READONLY"), Filter::ALLOW));
85 filters->push_back(Filter(base::ASCIIToUTF16("PRESSED"), Filter::ALLOW));
86 filters->push_back(Filter(base::ASCIIToUTF16("PROTECTED"), Filter::ALLOW));
87 filters->push_back(Filter(base::ASCIIToUTF16("SELECTED"), Filter::ALLOW));
88 filters->push_back(Filter(base::ASCIIToUTF16("SIZEABLE"), Filter::ALLOW));
89 filters->push_back(Filter(base::ASCIIToUTF16("TRAVERSED"), Filter::ALLOW));
90 filters->push_back(
91 Filter(base::ASCIIToUTF16("UNAVAILABLE"), Filter::ALLOW));
92 // IA2- No editable, opaque, single_line, selectable_text, vertical (noisy):
93 filters->push_back(
94 Filter(base::ASCIIToUTF16("IA2_STATE_ACTIVE"), Filter::ALLOW));
95 filters->push_back(
96 Filter(base::ASCIIToUTF16("IA2_STATE_ARMED"), Filter::ALLOW));
97 filters->push_back(
98 Filter(base::ASCIIToUTF16("IA2_STATE_CHECKABLE"), Filter::ALLOW));
99 filters->push_back(
100 Filter(base::ASCIIToUTF16("IA2_STATE_DEFUNCT"), Filter::ALLOW));
101 filters->push_back(
102 Filter(base::ASCIIToUTF16("IA2_STATE_HORIZONTAL"), Filter::ALLOW));
103 filters->push_back(
104 Filter(base::ASCIIToUTF16("IA2_STATE_ICONIFIED"), Filter::ALLOW));
105 filters->push_back(
106 Filter(base::ASCIIToUTF16("IA2_STATE_INVALID_ENTRY"), Filter::ALLOW));
107 filters->push_back(
108 Filter(base::ASCIIToUTF16("IA2_STATE_MODAL"), Filter::ALLOW));
109 filters->push_back(
110 Filter(base::ASCIIToUTF16("IA2_STATE_MULTI_LINE"), Filter::ALLOW));
111 filters->push_back(
112 Filter(base::ASCIIToUTF16("IA2_STATE_PINNED"), Filter::ALLOW));
113 filters->push_back(
114 Filter(base::ASCIIToUTF16("IA2_STATE_REQUIRED"), Filter::ALLOW));
115 filters->push_back(
116 Filter(base::ASCIIToUTF16("IA2_STATE_STALE"), Filter::ALLOW));
117 filters->push_back(
118 Filter(base::ASCIIToUTF16("IA2_STATE_TRANSIENT"), Filter::ALLOW));
119
120 // Blink
121 filters->push_back(Filter(base::ASCIIToUTF16("check*"), Filter::ALLOW));
122 filters->push_back(Filter(base::ASCIIToUTF16("descript*"), Filter::ALLOW));
dmazzoni 2017/06/13 20:25:33 I vote for either both nameFrom and descriptionFro
aleventhal 2017/06/14 13:17:25 I wanted to keep descriptionFrom because it's rare
123 // TODO(aleventhal) Add disabled back after control mode refactor
124 // filters->push_back(Filter(base::ASCIIToUTF16("disabled"),
125 // Filter::ALLOW));
126 filters->push_back(Filter(base::ASCIIToUTF16("invalid"), Filter::ALLOW));
127 filters->push_back(Filter(base::ASCIIToUTF16("busy"), Filter::ALLOW));
128 filters->push_back(Filter(base::ASCIIToUTF16("collapsed"), Filter::ALLOW));
129 filters->push_back(Filter(base::ASCIIToUTF16("default"), Filter::ALLOW));
130 // TODO(aleventhal) Perhaps add editable and richlyEditable in later
131 // filters->push_back(Filter(base::ASCIIToUTF16("editable"),
132 // Filter::ALLOW));
133 filters->push_back(Filter(base::ASCIIToUTF16("expandable"), Filter::ALLOW));
134 // TODO(aleventhal) focus* causing a lot of changes, maybe add later
135 // filters->push_back(Filter(base::ASCIIToUTF16("focus*"), Filter::ALLOW));
136 filters->push_back(Filter(base::ASCIIToUTF16("haspopup"), Filter::ALLOW));
137 filters->push_back(Filter(base::ASCIIToUTF16("horizontal"), Filter::ALLOW));
dmazzoni 2017/06/13 20:25:33 This should probably be an orientation enum {horiz
aleventhal 2017/06/14 13:17:26 Let's make it an enum at some point. For now, hori
138 // Testing hovered would be flaky:
139 // filters->push_back(Filter(base::ASCIIToUTF16("hovered"), Filter::ALLOW));
140 filters->push_back(Filter(base::ASCIIToUTF16("invisible"), Filter::ALLOW));
141 // Linked is disallowed by default -- too noisy
142 // filters->push_back(Filter(base::ASCIIToUTF16("linked"), Filter::ALLOW));
143 // TODO(aleventhal) Add multiline in separate patch
144 // filters->push_back(Filter(base::ASCIIToUTF16("multiline"),
145 // Filter::ALLOW));
146 filters->push_back(
147 Filter(base::ASCIIToUTF16("multiselectable"), Filter::ALLOW));
148 // Produces false-positive for contentless elements, including <br>
149 // filters->push_back(Filter(base::ASCIIToUTF16("offscreen"),
150 // Filter::ALLOW));
151 filters->push_back(Filter(base::ASCIIToUTF16("protected"), Filter::ALLOW));
152 // TODO(aleventhal) Add readonly support back after control mode refactor
153 // filters->push_back(Filter(base::ASCIIToUTF16("read*"), Filter::ALLOW));
154 filters->push_back(Filter(base::ASCIIToUTF16("required"), Filter::ALLOW));
155 // TODO(aleventhal) Perhaps add editable and richlyEditable in later
156 // filters->push_back(Filter(base::ASCIIToUTF16("richly*"), Filter::ALLOW));
157 filters->push_back(Filter(base::ASCIIToUTF16("select*"), Filter::ALLOW));
158 // Vertical is a bit noisy -- we test for horizontal though:
159 // filters->push_back(Filter(base::ASCIIToUTF16("vertical"),
160 // Filter::ALLOW));
161 filters->push_back(Filter(base::ASCIIToUTF16("visited"), Filter::ALLOW));
162
163 // OS X
61 filters->push_back(Filter(base::ASCIIToUTF16("roleDescription=*"), 164 filters->push_back(Filter(base::ASCIIToUTF16("roleDescription=*"),
62 Filter::ALLOW)); 165 Filter::ALLOW));
166
167 // General
63 filters->push_back(Filter(base::ASCIIToUTF16("*=''"), Filter::DENY)); 168 filters->push_back(Filter(base::ASCIIToUTF16("*=''"), Filter::DENY));
64 // After denying empty values, because we want to allow name='' 169 // After denying empty values, because we want to allow name=''
65 filters->push_back( 170 filters->push_back(
66 Filter(base::ASCIIToUTF16("name=*"), Filter::ALLOW_EMPTY)); 171 Filter(base::ASCIIToUTF16("name=*"), Filter::ALLOW_EMPTY));
67 } 172 }
68 173
69 void SetUpCommandLine(base::CommandLine* command_line) override { 174 void SetUpCommandLine(base::CommandLine* command_line) override {
70 DumpAccessibilityTestBase::SetUpCommandLine(command_line); 175 DumpAccessibilityTestBase::SetUpCommandLine(command_line);
71 // Enable <dialog>, which is used in some tests. 176 // Enable <dialog>, which is used in some tests.
72 base::CommandLine::ForCurrentProcess()->AppendSwitch( 177 base::CommandLine::ForCurrentProcess()->AppendSwitch(
(...skipping 1413 matching lines...) Expand 10 before | Expand all | Expand 10 after
1486 // crbug.com/281952 1591 // crbug.com/281952
1487 IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, DISABLED_AccessibilityVideo) { 1592 IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, DISABLED_AccessibilityVideo) {
1488 RunHtmlTest(FILE_PATH_LITERAL("video.html")); 1593 RunHtmlTest(FILE_PATH_LITERAL("video.html"));
1489 } 1594 }
1490 1595
1491 IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityWbr) { 1596 IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityWbr) {
1492 RunHtmlTest(FILE_PATH_LITERAL("wbr.html")); 1597 RunHtmlTest(FILE_PATH_LITERAL("wbr.html"));
1493 } 1598 }
1494 1599
1495 } // namespace content 1600 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698