dump_accessibility_tree_browsertest.cc revision 2385ea399aae016c0806a4f9ef3c9cfe3d2a39df
143dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis// Copyright (c) 2012 The Chromium Authors. All rights reserved. 243dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis// Use of this source code is governed by a BSD-style license that can be 343dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis// found in the LICENSE file. 443dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis 543dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include <set> 643dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include <string> 743dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include <vector> 843dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis 943dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/file_util.h" 1043dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/logging.h" 1143dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/path_service.h" 1243dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/strings/string16.h" 1343dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/strings/string_split.h" 1443dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/strings/string_util.h" 15ca804539d908d3a0e8c72a0df5f1f571d29490bbTed Kremenek#include "base/strings/utf_string_conversions.h" 16769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis#include "content/browser/accessibility/accessibility_tree_formatter.h" 17d1e5a89226da79f7e6f43d40facc46abda9e5245Jordy Rose#include "content/browser/accessibility/browser_accessibility.h" 18769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis#include "content/browser/accessibility/browser_accessibility_manager.h" 199fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis#include "content/browser/renderer_host/render_view_host_impl.h" 2043dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "content/port/browser/render_widget_host_view_port.h" 2143dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "content/public/browser/web_contents.h" 2243dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "content/public/common/content_paths.h" 2343dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "content/public/common/url_constants.h" 24d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#include "content/shell/shell.h" 25d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#include "content/test/accessibility_browser_test_utils.h" 26d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#include "content/test/content_browser_test.h" 27d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#include "content/test/content_browser_test_utils.h" 28d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#include "testing/gtest/include/gtest/gtest.h" 29d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis 30d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis// TODO(dmazzoni): Disabled accessibility tests on Win64. crbug.com/179717 31d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#if defined(OS_WIN) && defined(ARCH_CPU_X86_64) 32d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#define MAYBE(x) DISABLED_##x 33d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#else 34d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#define MAYBE(x) x 35d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis#endif 36d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis 37dff6ef903ff4fcb43b5ea292ecd772e381393b5dAnna Zaksnamespace content { 38dff6ef903ff4fcb43b5ea292ecd772e381393b5dAnna Zaks 39d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidisnamespace { 40d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis 41deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidisconst char kCommentToken = '#'; 42deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidisconst char kMarkSkipFile[] = "#<skip"; 43deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidisconst char kMarkEndOfFile[] = "<-- End-of-file -->"; 44deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidisconst char kSignalDiff[] = "*"; 45deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis 46deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis} // namespace 47deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis 48deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidistypedef AccessibilityTreeFormatter::Filter Filter; 49deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis 50deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis// This test takes a snapshot of the platform BrowserAccessibility tree and 51769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis// tests it against an expected baseline. 52769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis// 53769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis// The flow of the test is as outlined below. 54769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis// 1. Load an html file from chrome/test/data/accessibility. 559fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis// 2. Read the expectation. 569fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis// 3. Browse to the page and serialize the platform specific tree into a human 579fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis// readable string. 589fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis// 4. Perform a comparison between actual and expected and fail if they do not 599fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis// exactly match. 609fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisclass DumpAccessibilityTreeTest : public ContentBrowserTest { 619fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis public: 629fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis // Utility helper that does a comment aware equality check. 639fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis // Returns array of lines from expected file which are different. 649fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis std::vector<int> DiffLines(const std::vector<std::string>& expected_lines, 659fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis const std::vector<std::string>& actual_lines) { 669fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis int actual_lines_count = actual_lines.size(); 679fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis int expected_lines_count = expected_lines.size(); 689fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis std::vector<int> diff_lines; 699fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis int i = 0, j = 0; 70769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis while (i < actual_lines_count && j < expected_lines_count) { 719fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis if (expected_lines[j].size() == 0 || 729fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis expected_lines[j][0] == kCommentToken) { 739fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis // Skip comment lines and blank lines in expected output. 749fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis ++j; 759fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis continue; 76769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } 77769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 789fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis if (actual_lines[i] != expected_lines[j]) 799fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis diff_lines.push_back(j); 809fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis ++i; 819fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis ++j; 829fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis } 839fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 84769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis // Actual file has been fully checked. 85769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis return diff_lines; 86769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } 87769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 88769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis void AddDefaultFilters(std::vector<Filter>* filters) { 89769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis filters->push_back(Filter(ASCIIToUTF16("FOCUSABLE"), Filter::ALLOW)); 90769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis filters->push_back(Filter(ASCIIToUTF16("READONLY"), Filter::ALLOW)); 91769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis filters->push_back(Filter(ASCIIToUTF16("*=''"), Filter::DENY)); 92769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } 93c2e0db82139c70c0eac9d5c165b6bf3250af5bedArgyrios Kyrtzidis 94c2e0db82139c70c0eac9d5c165b6bf3250af5bedArgyrios Kyrtzidis void ParseFilters(const std::string& test_html, 95cd50e136ad7dc721822f5e6350769a37c216612dArgyrios Kyrtzidis std::vector<Filter>* filters) { 968ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks std::vector<std::string> lines; 978ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks base::SplitString(test_html, '\n', &lines); 988ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks for (std::vector<std::string>::const_iterator iter = lines.begin(); 99769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis iter != lines.end(); 100e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis ++iter) { 101e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis const std::string& line = *iter; 102e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis const std::string& allow_empty_str = 103769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis AccessibilityTreeFormatter::GetAllowEmptyString(); 104769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis const std::string& allow_str = 105769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis AccessibilityTreeFormatter::GetAllowString(); 106769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis const std::string& deny_str = 107cd50e136ad7dc721822f5e6350769a37c216612dArgyrios Kyrtzidis AccessibilityTreeFormatter::GetDenyString(); 108cd50e136ad7dc721822f5e6350769a37c216612dArgyrios Kyrtzidis if (StartsWithASCII(line, allow_empty_str, true)) { 109769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis filters->push_back( 110e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis Filter(UTF8ToUTF16(line.substr(allow_empty_str.size())), 111769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis Filter::ALLOW_EMPTY)); 112769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } else if (StartsWithASCII(line, allow_str, true)) { 113769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis filters->push_back(Filter(UTF8ToUTF16(line.substr(allow_str.size())), 114769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis Filter::ALLOW)); 115cd50e136ad7dc721822f5e6350769a37c216612dArgyrios Kyrtzidis } else if (StartsWithASCII(line, deny_str, true)) { 116769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis filters->push_back(Filter(UTF8ToUTF16(line.substr(deny_str.size())), 117769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis Filter::DENY)); 118769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } 1198ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks } 120769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } 1218ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks 1228ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks void RunTest(const base::FilePath::CharType* file_path); 1238ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks}; 1248ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks 1258ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaksvoid DumpAccessibilityTreeTest::RunTest( 1268ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks const base::FilePath::CharType* file_path) { 1278ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks NavigateToURL(shell(), GURL(kAboutBlankURL)); 1288ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks 129769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis // Setup test paths. 130769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis base::FilePath dir_test_data; 1319fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &dir_test_data)); 1329fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis base::FilePath test_path( 1339fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis dir_test_data.Append(FILE_PATH_LITERAL("accessibility"))); 134769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis ASSERT_TRUE(base::PathExists(test_path)) 135769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis << test_path.LossyDisplayName(); 1365f9e272e632e951b1efe824cd16acb4d96077930Chris Lattner 137769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis base::FilePath html_file = test_path.Append(base::FilePath(file_path)); 138769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis // Output the test path to help anyone who encounters a failure and needs 139769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis // to know where to look. 140769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis printf("Testing: %s\n", html_file.MaybeAsASCII().c_str()); 141514f2c9dcb9e04b52929c5b141a6fe88bd68b33fTed Kremenek 142769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis std::string html_contents; 143e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis file_util::ReadFileToString(html_file, &html_contents); 144e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis 145e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis // Read the expected file. 146769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis std::string expected_contents_raw; 147514f2c9dcb9e04b52929c5b141a6fe88bd68b33fTed Kremenek base::FilePath expected_file = 148514f2c9dcb9e04b52929c5b141a6fe88bd68b33fTed Kremenek base::FilePath(html_file.RemoveExtension().value() + 149514f2c9dcb9e04b52929c5b141a6fe88bd68b33fTed Kremenek AccessibilityTreeFormatter::GetExpectedFileSuffix()); 150769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis file_util::ReadFileToString(expected_file, &expected_contents_raw); 151769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 1528ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks // Tolerate Windows-style line endings (\r\n) in the expected file: 153769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis // normalize by deleting all \r from the file (if any) to leave only \n. 1543f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks std::string expected_contents; 1553f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks RemoveChars(expected_contents_raw, "\r", &expected_contents); 1563f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks 1573f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks if (!expected_contents.compare(0, strlen(kMarkSkipFile), kMarkSkipFile)) { 158514f2c9dcb9e04b52929c5b141a6fe88bd68b33fTed Kremenek printf("Skipping this test on this platform.\n"); 159769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis return; 160769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } 161769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 162769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis // Load the page. 163769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis string16 html_contents16; 164769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis html_contents16 = UTF8ToUTF16(html_contents); 165769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis GURL url = GetTestUrl("accessibility", 166769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis html_file.BaseName().MaybeAsASCII().c_str()); 167cd50e136ad7dc721822f5e6350769a37c216612dArgyrios Kyrtzidis AccessibilityNotificationWaiter waiter( 168769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis shell(), AccessibilityModeComplete, 169514f2c9dcb9e04b52929c5b141a6fe88bd68b33fTed Kremenek AccessibilityNotificationLoadComplete); 170514f2c9dcb9e04b52929c5b141a6fe88bd68b33fTed Kremenek NavigateToURL(shell(), url); 171769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis waiter.WaitForNotification(); 172514f2c9dcb9e04b52929c5b141a6fe88bd68b33fTed Kremenek 173c2e0db82139c70c0eac9d5c165b6bf3250af5bedArgyrios Kyrtzidis RenderWidgetHostViewPort* host_view = RenderWidgetHostViewPort::FromRWHV( 174769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis shell()->web_contents()->GetRenderWidgetHostView()); 175769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis AccessibilityTreeFormatter formatter( 176769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis host_view->GetBrowserAccessibilityManager()->GetRoot()); 177769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 178769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis // Parse filters in the test file. 179769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis std::vector<Filter> filters; 180769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis AddDefaultFilters(&filters); 181769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis ParseFilters(html_contents, &filters); 182769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis formatter.SetFilters(filters); 183769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 184e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis // Perform a diff (or write the initial baseline). 185e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis string16 actual_contents_utf16; 186e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis formatter.FormatAccessibilityTree(&actual_contents_utf16); 187769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis std::string actual_contents = UTF16ToUTF8(actual_contents_utf16); 188769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis std::vector<std::string> actual_lines, expected_lines; 189769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis Tokenize(actual_contents, "\n", &actual_lines); 190769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis Tokenize(expected_contents, "\n", &expected_lines); 191769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis // Marking the end of the file with a line of text ensures that 1928ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks // file length differences are found. 1933f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks expected_lines.push_back(kMarkEndOfFile); 1943f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks actual_lines.push_back(kMarkEndOfFile); 195b673a41c92aa276f2e37164d0747be1cfb0c402bTed Kremenek 196b673a41c92aa276f2e37164d0747be1cfb0c402bTed Kremenek std::vector<int> diff_lines = DiffLines(expected_lines, actual_lines); 197b673a41c92aa276f2e37164d0747be1cfb0c402bTed Kremenek bool is_different = diff_lines.size() > 0; 198b673a41c92aa276f2e37164d0747be1cfb0c402bTed Kremenek EXPECT_FALSE(is_different); 199063e0887ad65d666d23ee3178436ad6507abbd1bAnna Zaks if (is_different) { 2003f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks // Mark the expected lines which did not match actual output with a *. 201769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis printf("* Line Expected\n"); 202769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis printf("- ---- --------\n"); 203769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis for (int line = 0, diff_index = 0; 204769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis line < static_cast<int>(expected_lines.size()); 205769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis ++line) { 206769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis bool is_diff = false; 207769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis if (diff_index < static_cast<int>(diff_lines.size()) && 208769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis diff_lines[diff_index] == line) { 209cd50e136ad7dc721822f5e6350769a37c216612dArgyrios Kyrtzidis is_diff = true; 210769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis ++diff_index; 211769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } 2123f8212787d9bd620930817177fbba5f32659377fArgyrios Kyrtzidis printf("%1s %4d %s\n", is_diff? kSignalDiff : "", line + 1, 2133f8212787d9bd620930817177fbba5f32659377fArgyrios Kyrtzidis expected_lines[line].c_str()); 2143f8212787d9bd620930817177fbba5f32659377fArgyrios Kyrtzidis } 2153f8212787d9bd620930817177fbba5f32659377fArgyrios Kyrtzidis printf("\nActual\n"); 216c2e0db82139c70c0eac9d5c165b6bf3250af5bedArgyrios Kyrtzidis printf("------\n"); 217769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis printf("%s\n", actual_contents.c_str()); 218769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis } 219769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 220769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis if (!base::PathExists(expected_file)) { 221769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis base::FilePath actual_file = 222769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis base::FilePath(html_file.RemoveExtension().value() + 223769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis AccessibilityTreeFormatter::GetActualFileSuffix()); 224769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 225bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek EXPECT_TRUE(file_util::WriteFile( 226bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek actual_file, actual_contents.c_str(), actual_contents.size())); 227769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 228769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis ADD_FAILURE() << "No expectation found. Create it by doing:\n" 229e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis << "mv " << actual_file.LossyDisplayName() << " " 230e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis << expected_file.LossyDisplayName(); 231e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis } 232769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis} 233bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek 234bd613137499b1d4c3b63dccd0aa21f6add243f4fTed KremenekIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityA) { 235bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek RunTest(FILE_PATH_LITERAL("a.html")); 236bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek} 237bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek 238769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAddress) { 239769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("address.html")); 2408ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks} 2413f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks 2423f5e8d87dbf449d8b39fe96068415428594d370eAnna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAName) { 243bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek RunTest(FILE_PATH_LITERAL("a-name.html")); 244bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek} 245bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek 246bd613137499b1d4c3b63dccd0aa21f6add243f4fTed KremenekIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAOnclick) { 247063e0887ad65d666d23ee3178436ad6507abbd1bAnna Zaks RunTest(FILE_PATH_LITERAL("a-onclick.html")); 248bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek} 249769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 250769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 2519fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis AccessibilityAriaApplication) { 2529fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-application.html")); 253769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis} 254ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna Zaks 255769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 256cd50e136ad7dc721822f5e6350769a37c216612dArgyrios Kyrtzidis AccessibilityAriaAutocomplete) { 257769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-autocomplete.html")); 258bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek} 259bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek 260bd613137499b1d4c3b63dccd0aa21f6add243f4fTed KremenekIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAriaCombobox) { 261bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek RunTest(FILE_PATH_LITERAL("aria-combobox.html")); 262bd613137499b1d4c3b63dccd0aa21f6add243f4fTed Kremenek} 263c2e0db82139c70c0eac9d5c165b6bf3250af5bedArgyrios Kyrtzidis 2649fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAriaInvalid) { 2659fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-invalid.html")); 266312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 267312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis 268312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAriaLevel) { 269312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-level.html")); 270312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 271312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis 272312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAriaMenu) { 273312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-menu.html")); 274ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna Zaks} 275312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis 276312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 277312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis AccessibilityAriaMenuitemradio) { 278312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-menuitemradio.html")); 279312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 280ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna Zaks 281ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 282ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna Zaks AccessibilityAriaPressed) { 283312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-pressed.html")); 284312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 2858ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks 286ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 2873f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks AccessibilityAriaProgressbar) { 288063e0887ad65d666d23ee3178436ad6507abbd1bAnna Zaks RunTest(FILE_PATH_LITERAL("aria-progressbar.html")); 2893f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks} 290390909c89c98ab1807e15e033a72e975f866fb23Anna Zaks 291312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 292312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis AccessibilityAriaToolbar) { 293312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("toolbar.html")); 294312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 295312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis 296312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 297312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis AccessibilityAriaValueMin) { 298312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-valuemin.html")); 299ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna Zaks} 300ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna Zaks 301ebae6d0209e1ec3d5ea14f9e63bd0d740218ed14Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 302312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis AccessibilityAriaValueMax) { 303312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("aria-valuemax.html")); 304312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 30530726c6baee1417307236e854f1474fdb3cedb98Argyrios Kyrtzidis 30630726c6baee1417307236e854f1474fdb3cedb98Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityArticle) { 30730726c6baee1417307236e854f1474fdb3cedb98Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("article.html")); 30830726c6baee1417307236e854f1474fdb3cedb98Argyrios Kyrtzidis} 30930726c6baee1417307236e854f1474fdb3cedb98Argyrios Kyrtzidis 31030726c6baee1417307236e854f1474fdb3cedb98Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAWithImg) { 31130726c6baee1417307236e854f1474fdb3cedb98Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("a-with-img.html")); 312af5800a1e287990bb547e052f257adeeae5ab476Argyrios Kyrtzidis} 313af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks 314af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityBdo) { 315af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks RunTest(FILE_PATH_LITERAL("bdo.html")); 316af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks} 317af5800a1e287990bb547e052f257adeeae5ab476Argyrios Kyrtzidis 318af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityBR) { 319af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks RunTest(FILE_PATH_LITERAL("br.html")); 320af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks} 321af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks 322af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityButtonNameCalc) { 323af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks RunTest(FILE_PATH_LITERAL("button-name-calc.html")); 324af5800a1e287990bb547e052f257adeeae5ab476Argyrios Kyrtzidis} 325af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks 326af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityCanvas) { 327af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks RunTest(FILE_PATH_LITERAL("canvas.html")); 328af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks} 329af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks 330063e0887ad65d666d23ee3178436ad6507abbd1bAnna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 331af498a28797c075c48d7e943df5f5a8e78ed8eb0Anna Zaks AccessibilityCheckboxNameCalc) { 332af5800a1e287990bb547e052f257adeeae5ab476Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("checkbox-name-calc.html")); 333af5800a1e287990bb547e052f257adeeae5ab476Argyrios Kyrtzidis} 334af5800a1e287990bb547e052f257adeeae5ab476Argyrios Kyrtzidis 335f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityDiv) { 336f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks RunTest(FILE_PATH_LITERAL("div.html")); 337f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks} 338f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks 339f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityDl) { 340f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks RunTest(FILE_PATH_LITERAL("dl.html")); 341f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks} 342f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks 343f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 344f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks AccessibilityContenteditableDescendants) { 345f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks RunTest(FILE_PATH_LITERAL("contenteditable-descendants.html")); 346f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks} 347f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks 348f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityEm) { 349f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks RunTest(FILE_PATH_LITERAL("em.html")); 350f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks} 351f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks 352f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityFooter) { 353063e0887ad65d666d23ee3178436ad6507abbd1bAnna Zaks RunTest(FILE_PATH_LITERAL("footer.html")); 354f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks} 355f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks 356f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityForm) { 357f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks RunTest(FILE_PATH_LITERAL("form.html")); 358f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks} 359cc05d511b26ac6dc80fcbcc78ac305d2755aa0b9Argyrios Kyrtzidis 360f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityHeading) { 361f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks RunTest(FILE_PATH_LITERAL("heading.html")); 3624e82d3cf6fd4c907265e3fa3aac0a835c35dc759Anna Zaks} 363cc05d511b26ac6dc80fcbcc78ac305d2755aa0b9Argyrios Kyrtzidis 364f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityHR) { 365f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks RunTest(FILE_PATH_LITERAL("hr.html")); 366f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks} 367f236b6503a4dbc44c1fccb8756bd57c9d0efdf05Anna Zaks 368cc05d511b26ac6dc80fcbcc78ac305d2755aa0b9Argyrios Kyrtzidis// crbug.com/179717 and crbug.com/224659 369cc05d511b26ac6dc80fcbcc78ac305d2755aa0b9Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 370183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis DISABLED_AccessibilityIframeCoordinates) { 3718bef8238181a30e52dea380789a7e2d760eac532Ted Kremenek RunTest(FILE_PATH_LITERAL("iframe-coordinates.html")); 372183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 373183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 374183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityInputButton) { 375183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("input-button.html")); 376183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 377183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 378183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 379183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis AccessibilityInputButtonInMenu) { 380183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("input-button-in-menu.html")); 381183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 382183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 383183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityInputColor) { 384183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("input-color.html")); 385183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 386183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 387183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 388183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis AccessibilityInputImageButtonInMenu) { 389183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("input-image-button-in-menu.html")); 390183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 391183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 392183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityInputRange) { 3938ff5c41f2bde7ebbe568b4c15e59f14b8befae66Anna Zaks RunTest(FILE_PATH_LITERAL("input-range.html")); 3943f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks} 3953f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks 3963f5e8d87dbf449d8b39fe96068415428594d370eAnna ZaksIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 397063e0887ad65d666d23ee3178436ad6507abbd1bAnna Zaks AccessibilityInputTextNameCalc) { 3983f5e8d87dbf449d8b39fe96068415428594d370eAnna Zaks RunTest(FILE_PATH_LITERAL("input-text-name-calc.html")); 399183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 400183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 401183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityLabel) { 402183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("label.html")); 403183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 404183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 405183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityListMarkers) { 406183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("list-markers.html")); 407183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 408183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 409183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityP) { 410183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("p.html")); 411183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 412183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 413183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilitySelect) { 414183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("select.html")); 4158bef8238181a30e52dea380789a7e2d760eac532Ted Kremenek} 416183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 417183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilitySpan) { 418183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("span.html")); 419183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 420183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 421183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilitySpinButton) { 422183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("spinbutton.html")); 423183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 4248bef8238181a30e52dea380789a7e2d760eac532Ted Kremenek 4258bef8238181a30e52dea380789a7e2d760eac532Ted Kremenek// TODO(dmazzoni): Rebaseline this test after Blink rolls past r155083. 42635bdbf40624beba3fc00cb72ab444659939c1a6bTed Kremenek// See http://crbug.com/265619 427537716ad8dd10f984b6cfe6985afade1185c5e3cJordy RoseIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, DISABLED_AccessibilitySvg) { 42866c40400e7d6272b0cd675ada18dd62c1f0362c7Anna Zaks RunTest(FILE_PATH_LITERAL("svg.html")); 42966c40400e7d6272b0cd675ada18dd62c1f0362c7Anna Zaks} 430183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 431183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityTab) { 432183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("tab.html")); 433183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 434183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 435537716ad8dd10f984b6cfe6985afade1185c5e3cJordy RoseIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityTableSimple) { 43666c40400e7d6272b0cd675ada18dd62c1f0362c7Anna Zaks RunTest(FILE_PATH_LITERAL("table-simple.html")); 437183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis} 438183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis 439183ff98f425d470c2a0276880aaf43496c9dad14Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityTableSpans) { 440183ff98f425d470c2a0276880aaf43496c9dad14Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("table-spans.html")); 441312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 4428bef8238181a30e52dea380789a7e2d760eac532Ted Kremenek 4438bef8238181a30e52dea380789a7e2d760eac532Ted KremenekIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, 444312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis AccessibilityToggleButton) { 445312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("togglebutton.html")); 446312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 447312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis 448312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityUl) { 449312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("ul.html")); 450312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 451312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis 452312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios KyrtzidisIN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityWbr) { 453312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis RunTest(FILE_PATH_LITERAL("wbr.html")); 454312dbec867f6b8d6b86fd562c53352cd4db27468Argyrios Kyrtzidis} 455e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis 456e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis} // namespace content 457e1bfb7ae0dd0762c88e1fd94746e973c37f2e04eArgyrios Kyrtzidis