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

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

Issue 815463006: Separating ARIA, HTML & event AX test. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 12 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 2014 The Chromium Authors. All rights reserved. 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 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 "content/browser/accessibility/dump_accessibility_browsertest_base.h" 5 #include "content/browser/accessibility/dump_accessibility_browsertest_base.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 filters->push_back(Filter(base::UTF8ToUTF16( 113 filters->push_back(Filter(base::UTF8ToUTF16(
114 line.substr(deny_str.size())), 114 line.substr(deny_str.size())),
115 Filter::DENY)); 115 Filter::DENY));
116 } else if (StartsWithASCII(line, wait_str, true)) { 116 } else if (StartsWithASCII(line, wait_str, true)) {
117 *wait_for = line.substr(wait_str.size()); 117 *wait_for = line.substr(wait_str.size());
118 } 118 }
119 } 119 }
120 } 120 }
121 121
122 void DumpAccessibilityTestBase::RunTest( 122 void DumpAccessibilityTestBase::RunTest(
123 const base::FilePath::CharType* file_path) { 123 const base::FilePath file_path, const char* file_dir) {
124 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); 124 NavigateToURL(shell(), GURL(url::kAboutBlankURL));
125 125
126 // Setup test paths.
127 base::FilePath dir_test_data;
128 ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &dir_test_data));
129 base::FilePath test_path(
130 dir_test_data.Append(FILE_PATH_LITERAL("accessibility")));
131 ASSERT_TRUE(base::PathExists(test_path))
132 << test_path.LossyDisplayName();
133
134 base::FilePath html_file = test_path.Append(base::FilePath(file_path));
135 // Output the test path to help anyone who encounters a failure and needs 126 // Output the test path to help anyone who encounters a failure and needs
136 // to know where to look. 127 // to know where to look.
137 printf("Testing: %s\n", html_file.MaybeAsASCII().c_str()); 128 printf("Testing: %s\n", file_path.MaybeAsASCII().c_str());
138 129
139 std::string html_contents; 130 std::string html_contents;
140 base::ReadFileToString(html_file, &html_contents); 131 base::ReadFileToString(file_path, &html_contents);
141 132
142 // Read the expected file. 133 // Read the expected file.
143 std::string expected_contents_raw; 134 std::string expected_contents_raw;
144 base::FilePath expected_file = 135 base::FilePath expected_file =
145 base::FilePath(html_file.RemoveExtension().value() + 136 base::FilePath(file_path.RemoveExtension().value() +
146 AccessibilityTreeFormatter::GetExpectedFileSuffix()); 137 AccessibilityTreeFormatter::GetExpectedFileSuffix());
147 base::ReadFileToString(expected_file, &expected_contents_raw); 138 base::ReadFileToString(expected_file, &expected_contents_raw);
148 139
149 // Tolerate Windows-style line endings (\r\n) in the expected file: 140 // Tolerate Windows-style line endings (\r\n) in the expected file:
150 // normalize by deleting all \r from the file (if any) to leave only \n. 141 // normalize by deleting all \r from the file (if any) to leave only \n.
151 std::string expected_contents; 142 std::string expected_contents;
152 base::RemoveChars(expected_contents_raw, "\r", &expected_contents); 143 base::RemoveChars(expected_contents_raw, "\r", &expected_contents);
153 144
154 if (!expected_contents.compare(0, strlen(kMarkSkipFile), kMarkSkipFile)) { 145 if (!expected_contents.compare(0, strlen(kMarkSkipFile), kMarkSkipFile)) {
155 printf("Skipping this test on this platform.\n"); 146 printf("Skipping this test on this platform.\n");
156 return; 147 return;
157 } 148 }
158 149
159 // Parse filters and other directives in the test file. 150 // Parse filters and other directives in the test file.
160 std::string wait_for; 151 std::string wait_for;
161 AddDefaultFilters(&filters_); 152 AddDefaultFilters(&filters_);
162 ParseHtmlForExtraDirectives(html_contents, &filters_, &wait_for); 153 ParseHtmlForExtraDirectives(html_contents, &filters_, &wait_for);
163 154
164 // Load the page. 155 // Load the page.
165 base::string16 html_contents16; 156 base::string16 html_contents16;
166 html_contents16 = base::UTF8ToUTF16(html_contents); 157 html_contents16 = base::UTF8ToUTF16(html_contents);
167 GURL url = GetTestUrl("accessibility", 158 GURL url = GetTestUrl(file_dir, file_path.BaseName().MaybeAsASCII().c_str());
168 html_file.BaseName().MaybeAsASCII().c_str());
169 159
170 // If there's a @WAIT-FOR directive, set up an accessibility notification 160 // If there's a @WAIT-FOR directive, set up an accessibility notification
171 // waiter that returns on any event; we'll stop when we get the text we're 161 // waiter that returns on any event; we'll stop when we get the text we're
172 // waiting for, or time out. Otherwise just wait specifically for 162 // waiting for, or time out. Otherwise just wait specifically for
173 // the "load complete" event. 163 // the "load complete" event.
174 scoped_ptr<AccessibilityNotificationWaiter> waiter; 164 scoped_ptr<AccessibilityNotificationWaiter> waiter;
175 if (!wait_for.empty()) { 165 if (!wait_for.empty()) {
176 waiter.reset(new AccessibilityNotificationWaiter( 166 waiter.reset(new AccessibilityNotificationWaiter(
177 shell(), AccessibilityModeComplete, ui::AX_EVENT_NONE)); 167 shell(), AccessibilityModeComplete, ui::AX_EVENT_NONE));
178 } else { 168 } else {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 printf("%1s %4d %s\n", is_diff? kSignalDiff : "", line + 1, 218 printf("%1s %4d %s\n", is_diff? kSignalDiff : "", line + 1,
229 expected_lines[line].c_str()); 219 expected_lines[line].c_str());
230 } 220 }
231 printf("\nActual\n"); 221 printf("\nActual\n");
232 printf("------\n"); 222 printf("------\n");
233 printf("%s\n", actual_contents.c_str()); 223 printf("%s\n", actual_contents.c_str());
234 } 224 }
235 225
236 if (!base::PathExists(expected_file)) { 226 if (!base::PathExists(expected_file)) {
237 base::FilePath actual_file = 227 base::FilePath actual_file =
238 base::FilePath(html_file.RemoveExtension().value() + 228 base::FilePath(file_path.RemoveExtension().value() +
239 AccessibilityTreeFormatter::GetActualFileSuffix()); 229 AccessibilityTreeFormatter::GetActualFileSuffix());
240 230
241 EXPECT_TRUE(base::WriteFile( 231 EXPECT_TRUE(base::WriteFile(
242 actual_file, actual_contents.c_str(), actual_contents.size())); 232 actual_file, actual_contents.c_str(), actual_contents.size()));
243 233
244 ADD_FAILURE() << "No expectation found. Create it by doing:\n" 234 ADD_FAILURE() << "No expectation found. Create it by doing:\n"
245 << "mv " << actual_file.LossyDisplayName() << " " 235 << "mv " << actual_file.LossyDisplayName() << " "
246 << expected_file.LossyDisplayName(); 236 << expected_file.LossyDisplayName();
247 } 237 }
248 } 238 }
249 239
250 } // namespace content 240 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698