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

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

Issue 1407413002: Move some AX attrs from AXNodeData to AXTreeData. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 2 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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "base/win/scoped_bstr.h" 7 #include "base/win/scoped_bstr.h"
8 #include "base/win/scoped_comptr.h" 8 #include "base/win/scoped_comptr.h"
9 #include "base/win/scoped_variant.h" 9 #include "base/win/scoped_variant.h"
10 #include "content/browser/accessibility/browser_accessibility_manager.h" 10 #include "content/browser/accessibility/browser_accessibility_manager.h"
(...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 (1 << ui::AX_STATE_FOCUSABLE) | (1 << ui::AX_STATE_LINKED); 962 (1 << ui::AX_STATE_FOCUSABLE) | (1 << ui::AX_STATE_LINKED);
963 link.SetName("here"); 963 link.SetName("here");
964 964
965 ui::AXNodeData link_text; 965 ui::AXNodeData link_text;
966 link_text.id = 5; 966 link_text.id = 5;
967 link_text.role = ui::AX_ROLE_STATIC_TEXT; 967 link_text.role = ui::AX_ROLE_STATIC_TEXT;
968 link_text.state = (1 << ui::AX_STATE_EDITABLE) | 968 link_text.state = (1 << ui::AX_STATE_EDITABLE) |
969 (1 << ui::AX_STATE_FOCUSABLE) | (1 << ui::AX_STATE_LINKED); 969 (1 << ui::AX_STATE_FOCUSABLE) | (1 << ui::AX_STATE_LINKED);
970 link_text.SetName("here"); 970 link_text.SetName("here");
971 971
972 // Place the caret between 'h' and 'e'.
973 root.AddIntAttribute(ui::AX_ATTR_ANCHOR_OBJECT_ID, 5);
974 root.AddIntAttribute(ui::AX_ATTR_ANCHOR_OFFSET, 1);
975 root.AddIntAttribute(ui::AX_ATTR_FOCUS_OBJECT_ID, 5);
976 root.AddIntAttribute(ui::AX_ATTR_FOCUS_OFFSET, 1);
977
978 root.child_ids.push_back(2); 972 root.child_ids.push_back(2);
979 div_editable.child_ids.push_back(3); 973 div_editable.child_ids.push_back(3);
980 div_editable.child_ids.push_back(4); 974 div_editable.child_ids.push_back(4);
981 link.child_ids.push_back(5); 975 link.child_ids.push_back(5);
982 976
977 ui::AXTreeUpdate update = MakeAXTreeUpdate(
978 root, div_editable, link, link_text, text);
979
980 // Place the caret between 'h' and 'e'.
981 update.has_tree_data = true;
982 update.tree_data.sel_anchor_object_id = 5;
983 update.tree_data.sel_anchor_offset = 1;
984 update.tree_data.sel_focus_object_id = 5;
985 update.tree_data.sel_focus_offset = 1;
986
983 CountedBrowserAccessibility::reset(); 987 CountedBrowserAccessibility::reset();
984 scoped_ptr<BrowserAccessibilityManager> manager( 988 scoped_ptr<BrowserAccessibilityManager> manager(
985 BrowserAccessibilityManager::Create( 989 BrowserAccessibilityManager::Create(
986 MakeAXTreeUpdate(root, div_editable, link, link_text, text), 990 update,
987 nullptr, new CountedBrowserAccessibilityFactory())); 991 nullptr, new CountedBrowserAccessibilityFactory()));
988 ASSERT_EQ(5, CountedBrowserAccessibility::num_instances()); 992 ASSERT_EQ(5, CountedBrowserAccessibility::num_instances());
989 993
990 ASSERT_NE(nullptr, manager->GetRoot()); 994 ASSERT_NE(nullptr, manager->GetRoot());
991 BrowserAccessibilityWin* root_accessible = 995 BrowserAccessibilityWin* root_accessible =
992 manager->GetRoot()->ToBrowserAccessibilityWin(); 996 manager->GetRoot()->ToBrowserAccessibilityWin();
993 ASSERT_NE(nullptr, root_accessible); 997 ASSERT_NE(nullptr, root_accessible);
994 ASSERT_EQ(1U, root_accessible->PlatformChildCount()); 998 ASSERT_EQ(1U, root_accessible->PlatformChildCount());
995 999
996 BrowserAccessibilityWin* div_editable_accessible = 1000 BrowserAccessibilityWin* div_editable_accessible =
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
1077 link.role = ui::AX_ROLE_LINK; 1081 link.role = ui::AX_ROLE_LINK;
1078 link.state = (1 << ui::AX_STATE_FOCUSABLE) | (1 << ui::AX_STATE_LINKED); 1082 link.state = (1 << ui::AX_STATE_FOCUSABLE) | (1 << ui::AX_STATE_LINKED);
1079 link.SetName("here"); 1083 link.SetName("here");
1080 1084
1081 ui::AXNodeData link_text; 1085 ui::AXNodeData link_text;
1082 link_text.id = 5; 1086 link_text.id = 5;
1083 link_text.role = ui::AX_ROLE_STATIC_TEXT; 1087 link_text.role = ui::AX_ROLE_STATIC_TEXT;
1084 link_text.state = (1 << ui::AX_STATE_FOCUSABLE) | (1 << ui::AX_STATE_LINKED); 1088 link_text.state = (1 << ui::AX_STATE_FOCUSABLE) | (1 << ui::AX_STATE_LINKED);
1085 link_text.SetName("here"); 1089 link_text.SetName("here");
1086 1090
1087 // Select the following part of the text: "lick here".
1088 root.AddIntAttribute(ui::AX_ATTR_ANCHOR_OBJECT_ID, 3);
1089 root.AddIntAttribute(ui::AX_ATTR_ANCHOR_OFFSET, 1);
1090 root.AddIntAttribute(ui::AX_ATTR_FOCUS_OBJECT_ID, 5);
1091 root.AddIntAttribute(ui::AX_ATTR_FOCUS_OFFSET, 4);
1092
1093 root.child_ids.push_back(2); 1091 root.child_ids.push_back(2);
1094 div_editable.child_ids.push_back(3); 1092 div_editable.child_ids.push_back(3);
1095 div_editable.child_ids.push_back(4); 1093 div_editable.child_ids.push_back(4);
1096 link.child_ids.push_back(5); 1094 link.child_ids.push_back(5);
1097 1095
1096 ui::AXTreeUpdate update =
1097 MakeAXTreeUpdate(root, div_editable, link, link_text, text);
1098
1099 // Select the following part of the text: "lick here".
1100 update.has_tree_data = true;
1101 update.tree_data.sel_anchor_object_id = 3;
1102 update.tree_data.sel_anchor_offset = 1;
1103 update.tree_data.sel_focus_object_id = 5;
1104 update.tree_data.sel_focus_offset = 4;
1105
1098 CountedBrowserAccessibility::reset(); 1106 CountedBrowserAccessibility::reset();
1099 scoped_ptr<BrowserAccessibilityManager> manager( 1107 scoped_ptr<BrowserAccessibilityManager> manager(
1100 BrowserAccessibilityManager::Create( 1108 BrowserAccessibilityManager::Create(
1101 MakeAXTreeUpdate(root, div_editable, link, link_text, text), 1109 update,
1102 nullptr, new CountedBrowserAccessibilityFactory())); 1110 nullptr, new CountedBrowserAccessibilityFactory()));
1103 ASSERT_EQ(5, CountedBrowserAccessibility::num_instances()); 1111 ASSERT_EQ(5, CountedBrowserAccessibility::num_instances());
1104 1112
1105 ASSERT_NE(nullptr, manager->GetRoot()); 1113 ASSERT_NE(nullptr, manager->GetRoot());
1106 BrowserAccessibilityWin* root_accessible = 1114 BrowserAccessibilityWin* root_accessible =
1107 manager->GetRoot()->ToBrowserAccessibilityWin(); 1115 manager->GetRoot()->ToBrowserAccessibilityWin();
1108 ASSERT_NE(nullptr, root_accessible); 1116 ASSERT_NE(nullptr, root_accessible);
1109 ASSERT_EQ(1U, root_accessible->PlatformChildCount()); 1117 ASSERT_EQ(1U, root_accessible->PlatformChildCount());
1110 1118
1111 BrowserAccessibilityWin* div_editable_accessible = 1119 BrowserAccessibilityWin* div_editable_accessible =
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
1414 } 1422 }
1415 1423
1416 TEST_F(BrowserAccessibilityTest, TestSanitizeStringAttributeForIA2) { 1424 TEST_F(BrowserAccessibilityTest, TestSanitizeStringAttributeForIA2) {
1417 base::string16 input(L"\\:=,;"); 1425 base::string16 input(L"\\:=,;");
1418 base::string16 output; 1426 base::string16 output;
1419 BrowserAccessibilityWin::SanitizeStringAttributeForIA2(input, &output); 1427 BrowserAccessibilityWin::SanitizeStringAttributeForIA2(input, &output);
1420 EXPECT_EQ(L"\\\\\\:\\=\\,\\;", output); 1428 EXPECT_EQ(L"\\\\\\:\\=\\,\\;", output);
1421 } 1429 }
1422 1430
1423 } // namespace content 1431 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698