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

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

Issue 642313003: [C++11 Allowed Features] Declares a type-safe null pointer converting from NULL to nullptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Including id in the AUTHORS file. Created 6 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/strings/string16.h" 5 #include "base/strings/string16.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "content/browser/accessibility/browser_accessibility.h" 7 #include "content/browser/accessibility/browser_accessibility.h"
8 #include "content/browser/accessibility/browser_accessibility_manager.h" 8 #include "content/browser/accessibility/browser_accessibility_manager.h"
9 #if defined(OS_WIN) 9 #if defined(OS_WIN)
10 #include "content/browser/accessibility/browser_accessibility_win.h" 10 #include "content/browser/accessibility/browser_accessibility_win.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 } 88 }
89 virtual void AccessibilityHitTest(const gfx::Point& point) override {} 89 virtual void AccessibilityHitTest(const gfx::Point& point) override {}
90 virtual void AccessibilityFatalError() override { 90 virtual void AccessibilityFatalError() override {
91 got_fatal_error_ = true; 91 got_fatal_error_ = true;
92 } 92 }
93 virtual gfx::AcceleratedWidget AccessibilityGetAcceleratedWidget() override { 93 virtual gfx::AcceleratedWidget AccessibilityGetAcceleratedWidget() override {
94 return gfx::kNullAcceleratedWidget; 94 return gfx::kNullAcceleratedWidget;
95 } 95 }
96 virtual gfx::NativeViewAccessible AccessibilityGetNativeViewAccessible() 96 virtual gfx::NativeViewAccessible AccessibilityGetNativeViewAccessible()
97 override { 97 override {
98 return NULL; 98 return nullptr;
99 } 99 }
100 virtual BrowserAccessibilityManager* AccessibilityGetChildFrame( 100 virtual BrowserAccessibilityManager* AccessibilityGetChildFrame(
101 int accessibility_node_id) override { 101 int accessibility_node_id) override {
102 return NULL; 102 return nullptr;
103 } 103 }
104 virtual BrowserAccessibility* AccessibilityGetParentFrame() override { 104 virtual BrowserAccessibility* AccessibilityGetParentFrame() override {
105 return NULL; 105 return nullptr;
106 } 106 }
107 107
108 bool got_fatal_error() const { return got_fatal_error_; } 108 bool got_fatal_error() const { return got_fatal_error_; }
109 void reset_got_fatal_error() { got_fatal_error_ = false; } 109 void reset_got_fatal_error() { got_fatal_error_ = false; }
110 110
111 private: 111 private:
112 bool got_fatal_error_; 112 bool got_fatal_error_;
113 }; 113 };
114 114
115 } // anonymous namespace 115 } // anonymous namespace
(...skipping 23 matching lines...) Expand all
139 root.child_ids.push_back(3); 139 root.child_ids.push_back(3);
140 140
141 // Construct a BrowserAccessibilityManager with this 141 // Construct a BrowserAccessibilityManager with this
142 // ui::AXNodeData tree and a factory for an instance-counting 142 // ui::AXNodeData tree and a factory for an instance-counting
143 // BrowserAccessibility, and ensure that exactly 3 instances were 143 // BrowserAccessibility, and ensure that exactly 3 instances were
144 // created. Note that the manager takes ownership of the factory. 144 // created. Note that the manager takes ownership of the factory.
145 CountedBrowserAccessibility::global_obj_count_ = 0; 145 CountedBrowserAccessibility::global_obj_count_ = 0;
146 BrowserAccessibilityManager* manager = 146 BrowserAccessibilityManager* manager =
147 BrowserAccessibilityManager::Create( 147 BrowserAccessibilityManager::Create(
148 MakeAXTreeUpdate(root, button, checkbox), 148 MakeAXTreeUpdate(root, button, checkbox),
149 NULL, 149 nullptr,
150 new CountedBrowserAccessibilityFactory()); 150 new CountedBrowserAccessibilityFactory());
151 151
152 ASSERT_EQ(3, CountedBrowserAccessibility::global_obj_count_); 152 ASSERT_EQ(3, CountedBrowserAccessibility::global_obj_count_);
153 153
154 // Delete the manager and test that all 3 instances are deleted. 154 // Delete the manager and test that all 3 instances are deleted.
155 delete manager; 155 delete manager;
156 ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_); 156 ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_);
157 157
158 // Construct a manager again, and this time save references to two of 158 // Construct a manager again, and this time save references to two of
159 // the three nodes in the tree. 159 // the three nodes in the tree.
160 manager = 160 manager =
161 BrowserAccessibilityManager::Create( 161 BrowserAccessibilityManager::Create(
162 MakeAXTreeUpdate(root, button, checkbox), 162 MakeAXTreeUpdate(root, button, checkbox),
163 NULL, 163 nullptr,
164 new CountedBrowserAccessibilityFactory()); 164 new CountedBrowserAccessibilityFactory());
165 ASSERT_EQ(3, CountedBrowserAccessibility::global_obj_count_); 165 ASSERT_EQ(3, CountedBrowserAccessibility::global_obj_count_);
166 166
167 CountedBrowserAccessibility* root_accessible = 167 CountedBrowserAccessibility* root_accessible =
168 static_cast<CountedBrowserAccessibility*>(manager->GetRoot()); 168 static_cast<CountedBrowserAccessibility*>(manager->GetRoot());
169 root_accessible->NativeAddReference(); 169 root_accessible->NativeAddReference();
170 CountedBrowserAccessibility* child1_accessible = 170 CountedBrowserAccessibility* child1_accessible =
171 static_cast<CountedBrowserAccessibility*>( 171 static_cast<CountedBrowserAccessibility*>(
172 root_accessible->PlatformGetChild(1)); 172 root_accessible->PlatformGetChild(1));
173 child1_accessible->NativeAddReference(); 173 child1_accessible->NativeAddReference();
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 tree2_root.child_ids.push_back(5); 244 tree2_root.child_ids.push_back(5);
245 tree2_root.child_ids.push_back(2); 245 tree2_root.child_ids.push_back(2);
246 tree2_root.child_ids.push_back(3); 246 tree2_root.child_ids.push_back(3);
247 247
248 // Construct a BrowserAccessibilityManager with tree1. 248 // Construct a BrowserAccessibilityManager with tree1.
249 CountedBrowserAccessibility::global_obj_count_ = 0; 249 CountedBrowserAccessibility::global_obj_count_ = 0;
250 BrowserAccessibilityManager* manager = 250 BrowserAccessibilityManager* manager =
251 BrowserAccessibilityManager::Create( 251 BrowserAccessibilityManager::Create(
252 MakeAXTreeUpdate(tree1_root, 252 MakeAXTreeUpdate(tree1_root,
253 tree1_child1, tree1_child2, tree1_child3), 253 tree1_child1, tree1_child2, tree1_child3),
254 NULL, 254 nullptr,
255 new CountedBrowserAccessibilityFactory()); 255 new CountedBrowserAccessibilityFactory());
256 ASSERT_EQ(4, CountedBrowserAccessibility::global_obj_count_); 256 ASSERT_EQ(4, CountedBrowserAccessibility::global_obj_count_);
257 257
258 // Save references to all of the objects. 258 // Save references to all of the objects.
259 CountedBrowserAccessibility* root_accessible = 259 CountedBrowserAccessibility* root_accessible =
260 static_cast<CountedBrowserAccessibility*>(manager->GetRoot()); 260 static_cast<CountedBrowserAccessibility*>(manager->GetRoot());
261 root_accessible->NativeAddReference(); 261 root_accessible->NativeAddReference();
262 CountedBrowserAccessibility* child1_accessible = 262 CountedBrowserAccessibility* child1_accessible =
263 static_cast<CountedBrowserAccessibility*>( 263 static_cast<CountedBrowserAccessibility*>(
264 root_accessible->PlatformGetChild(0)); 264 root_accessible->PlatformGetChild(0));
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 tree2_container.child_ids.push_back(5); 420 tree2_container.child_ids.push_back(5);
421 421
422 // Construct a BrowserAccessibilityManager with tree1. 422 // Construct a BrowserAccessibilityManager with tree1.
423 CountedBrowserAccessibility::global_obj_count_ = 0; 423 CountedBrowserAccessibility::global_obj_count_ = 0;
424 BrowserAccessibilityManager* manager = 424 BrowserAccessibilityManager* manager =
425 BrowserAccessibilityManager::Create( 425 BrowserAccessibilityManager::Create(
426 MakeAXTreeUpdate(tree1_root, tree1_container, 426 MakeAXTreeUpdate(tree1_root, tree1_container,
427 tree1_child1, tree1_grandchild1, 427 tree1_child1, tree1_grandchild1,
428 tree1_child2, tree1_grandchild2, 428 tree1_child2, tree1_grandchild2,
429 tree1_child3, tree1_grandchild3), 429 tree1_child3, tree1_grandchild3),
430 NULL, 430 nullptr,
431 new CountedBrowserAccessibilityFactory()); 431 new CountedBrowserAccessibilityFactory());
432 ASSERT_EQ(8, CountedBrowserAccessibility::global_obj_count_); 432 ASSERT_EQ(8, CountedBrowserAccessibility::global_obj_count_);
433 433
434 // Save references to some objects. 434 // Save references to some objects.
435 CountedBrowserAccessibility* root_accessible = 435 CountedBrowserAccessibility* root_accessible =
436 static_cast<CountedBrowserAccessibility*>(manager->GetRoot()); 436 static_cast<CountedBrowserAccessibility*>(manager->GetRoot());
437 root_accessible->NativeAddReference(); 437 root_accessible->NativeAddReference();
438 CountedBrowserAccessibility* container_accessible = 438 CountedBrowserAccessibility* container_accessible =
439 static_cast<CountedBrowserAccessibility*>( 439 static_cast<CountedBrowserAccessibility*>(
440 root_accessible->PlatformGetChild(0)); 440 root_accessible->PlatformGetChild(0));
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 tree2_1.id = 1; 548 tree2_1.id = 1;
549 tree2_1.state = 0; 549 tree2_1.state = 0;
550 tree2_1.child_ids.push_back(4); 550 tree2_1.child_ids.push_back(4);
551 tree2_1.child_ids.push_back(5); 551 tree2_1.child_ids.push_back(5);
552 552
553 // Construct a BrowserAccessibilityManager with tree1. 553 // Construct a BrowserAccessibilityManager with tree1.
554 CountedBrowserAccessibility::global_obj_count_ = 0; 554 CountedBrowserAccessibility::global_obj_count_ = 0;
555 BrowserAccessibilityManager* manager = 555 BrowserAccessibilityManager* manager =
556 BrowserAccessibilityManager::Create( 556 BrowserAccessibilityManager::Create(
557 MakeAXTreeUpdate(tree1_1, tree1_2, tree1_3, tree1_4), 557 MakeAXTreeUpdate(tree1_1, tree1_2, tree1_3, tree1_4),
558 NULL, 558 nullptr,
559 new CountedBrowserAccessibilityFactory()); 559 new CountedBrowserAccessibilityFactory());
560 ASSERT_EQ(4, CountedBrowserAccessibility::global_obj_count_); 560 ASSERT_EQ(4, CountedBrowserAccessibility::global_obj_count_);
561 561
562 // Process a notification containing the changed subtree. 562 // Process a notification containing the changed subtree.
563 std::vector<AccessibilityHostMsg_EventParams> params; 563 std::vector<AccessibilityHostMsg_EventParams> params;
564 params.push_back(AccessibilityHostMsg_EventParams()); 564 params.push_back(AccessibilityHostMsg_EventParams());
565 AccessibilityHostMsg_EventParams* msg = &params[0]; 565 AccessibilityHostMsg_EventParams* msg = &params[0];
566 msg->event_type = ui::AX_EVENT_CHILDREN_CHANGED; 566 msg->event_type = ui::AX_EVENT_CHILDREN_CHANGED;
567 msg->update.nodes.push_back(tree2_1); 567 msg->update.nodes.push_back(tree2_1);
568 msg->update.nodes.push_back(tree2_4); 568 msg->update.nodes.push_back(tree2_4);
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 character_offsets2.push_back(20); 682 character_offsets2.push_back(20);
683 character_offsets2.push_back(25); 683 character_offsets2.push_back(25);
684 character_offsets2.push_back(28); 684 character_offsets2.push_back(28);
685 inline_text2.AddIntListAttribute( 685 inline_text2.AddIntListAttribute(
686 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); 686 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2);
687 static_text.child_ids.push_back(4); 687 static_text.child_ids.push_back(4);
688 688
689 scoped_ptr<BrowserAccessibilityManager> manager( 689 scoped_ptr<BrowserAccessibilityManager> manager(
690 BrowserAccessibilityManager::Create( 690 BrowserAccessibilityManager::Create(
691 MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2), 691 MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2),
692 NULL, 692 nullptr,
693 new CountedBrowserAccessibilityFactory())); 693 new CountedBrowserAccessibilityFactory()));
694 694
695 BrowserAccessibility* root_accessible = manager->GetRoot(); 695 BrowserAccessibility* root_accessible = manager->GetRoot();
696 BrowserAccessibility* static_text_accessible = 696 BrowserAccessibility* static_text_accessible =
697 root_accessible->PlatformGetChild(0); 697 root_accessible->PlatformGetChild(0);
698 698
699 EXPECT_EQ(gfx::Rect(100, 100, 6, 9).ToString(), 699 EXPECT_EQ(gfx::Rect(100, 100, 6, 9).ToString(),
700 static_text_accessible->GetLocalBoundsForRange(0, 1).ToString()); 700 static_text_accessible->GetLocalBoundsForRange(0, 1).ToString());
701 701
702 EXPECT_EQ(gfx::Rect(100, 100, 26, 9).ToString(), 702 EXPECT_EQ(gfx::Rect(100, 100, 26, 9).ToString(),
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 character_offsets2.push_back(10); 770 character_offsets2.push_back(10);
771 character_offsets2.push_back(20); 771 character_offsets2.push_back(20);
772 character_offsets2.push_back(30); 772 character_offsets2.push_back(30);
773 inline_text2.AddIntListAttribute( 773 inline_text2.AddIntListAttribute(
774 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); 774 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2);
775 static_text.child_ids.push_back(4); 775 static_text.child_ids.push_back(4);
776 776
777 scoped_ptr<BrowserAccessibilityManager> manager( 777 scoped_ptr<BrowserAccessibilityManager> manager(
778 BrowserAccessibilityManager::Create( 778 BrowserAccessibilityManager::Create(
779 MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2), 779 MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2),
780 NULL, 780 nullptr,
781 new CountedBrowserAccessibilityFactory())); 781 new CountedBrowserAccessibilityFactory()));
782 782
783 BrowserAccessibility* root_accessible = manager->GetRoot(); 783 BrowserAccessibility* root_accessible = manager->GetRoot();
784 BrowserAccessibility* static_text_accessible = 784 BrowserAccessibility* static_text_accessible =
785 root_accessible->PlatformGetChild(0); 785 root_accessible->PlatformGetChild(0);
786 786
787 EXPECT_EQ(gfx::Rect(100, 100, 60, 20).ToString(), 787 EXPECT_EQ(gfx::Rect(100, 100, 60, 20).ToString(),
788 static_text_accessible->GetLocalBoundsForRange(0, 6).ToString()); 788 static_text_accessible->GetLocalBoundsForRange(0, 6).ToString());
789 789
790 EXPECT_EQ(gfx::Rect(100, 100, 10, 20).ToString(), 790 EXPECT_EQ(gfx::Rect(100, 100, 10, 20).ToString(),
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 character_offsets2.push_back(20); // 0 868 character_offsets2.push_back(20); // 0
869 character_offsets2.push_back(40); // 1 869 character_offsets2.push_back(40); // 1
870 inline_text2.AddIntListAttribute( 870 inline_text2.AddIntListAttribute(
871 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); 871 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2);
872 872
873 scoped_ptr<BrowserAccessibilityManager> manager( 873 scoped_ptr<BrowserAccessibilityManager> manager(
874 BrowserAccessibilityManager::Create( 874 BrowserAccessibilityManager::Create(
875 MakeAXTreeUpdate( 875 MakeAXTreeUpdate(
876 root, div, static_text1, img, 876 root, div, static_text1, img,
877 static_text2, inline_text1, inline_text2), 877 static_text2, inline_text1, inline_text2),
878 NULL, 878 nullptr,
879 new CountedBrowserAccessibilityFactory())); 879 new CountedBrowserAccessibilityFactory()));
880 BrowserAccessibility* root_accessible = manager->GetRoot(); 880 BrowserAccessibility* root_accessible = manager->GetRoot();
881 881
882 EXPECT_EQ(gfx::Rect(100, 100, 20, 20).ToString(), 882 EXPECT_EQ(gfx::Rect(100, 100, 20, 20).ToString(),
883 root_accessible->GetLocalBoundsForRange(0, 1).ToString()); 883 root_accessible->GetLocalBoundsForRange(0, 1).ToString());
884 884
885 EXPECT_EQ(gfx::Rect(100, 100, 40, 20).ToString(), 885 EXPECT_EQ(gfx::Rect(100, 100, 40, 20).ToString(),
886 root_accessible->GetLocalBoundsForRange(0, 2).ToString()); 886 root_accessible->GetLocalBoundsForRange(0, 2).ToString());
887 887
888 EXPECT_EQ(gfx::Rect(100, 100, 80, 20).ToString(), 888 EXPECT_EQ(gfx::Rect(100, 100, 80, 20).ToString(),
(...skipping 26 matching lines...) Expand all
915 node4.id = 4; 915 node4.id = 4;
916 node3.child_ids.push_back(4); 916 node3.child_ids.push_back(4);
917 917
918 ui::AXNodeData node5; 918 ui::AXNodeData node5;
919 node5.id = 5; 919 node5.id = 5;
920 root.child_ids.push_back(5); 920 root.child_ids.push_back(5);
921 921
922 scoped_ptr<BrowserAccessibilityManager> manager( 922 scoped_ptr<BrowserAccessibilityManager> manager(
923 BrowserAccessibilityManager::Create( 923 BrowserAccessibilityManager::Create(
924 MakeAXTreeUpdate(root, node2, node3, node4, node5), 924 MakeAXTreeUpdate(root, node2, node3, node4, node5),
925 NULL, 925 nullptr,
926 new CountedBrowserAccessibilityFactory())); 926 new CountedBrowserAccessibilityFactory()));
927 927
928 BrowserAccessibility* root_accessible = manager->GetRoot(); 928 BrowserAccessibility* root_accessible = manager->GetRoot();
929 BrowserAccessibility* node2_accessible = root_accessible->PlatformGetChild(0); 929 BrowserAccessibility* node2_accessible = root_accessible->PlatformGetChild(0);
930 BrowserAccessibility* node3_accessible = root_accessible->PlatformGetChild(1); 930 BrowserAccessibility* node3_accessible = root_accessible->PlatformGetChild(1);
931 BrowserAccessibility* node4_accessible = 931 BrowserAccessibility* node4_accessible =
932 node3_accessible->PlatformGetChild(0); 932 node3_accessible->PlatformGetChild(0);
933 BrowserAccessibility* node5_accessible = root_accessible->PlatformGetChild(2); 933 BrowserAccessibility* node5_accessible = root_accessible->PlatformGetChild(2);
934 934
935 ASSERT_EQ(NULL, manager->NextInTreeOrder(NULL)); 935 ASSERT_EQ(nullptr, manager->NextInTreeOrder(nullptr));
936 ASSERT_EQ(node2_accessible, manager->NextInTreeOrder(root_accessible)); 936 ASSERT_EQ(node2_accessible, manager->NextInTreeOrder(root_accessible));
937 ASSERT_EQ(node3_accessible, manager->NextInTreeOrder(node2_accessible)); 937 ASSERT_EQ(node3_accessible, manager->NextInTreeOrder(node2_accessible));
938 ASSERT_EQ(node4_accessible, manager->NextInTreeOrder(node3_accessible)); 938 ASSERT_EQ(node4_accessible, manager->NextInTreeOrder(node3_accessible));
939 ASSERT_EQ(node5_accessible, manager->NextInTreeOrder(node4_accessible)); 939 ASSERT_EQ(node5_accessible, manager->NextInTreeOrder(node4_accessible));
940 ASSERT_EQ(NULL, manager->NextInTreeOrder(node5_accessible)); 940 ASSERT_EQ(nullptr, manager->NextInTreeOrder(node5_accessible));
941 941
942 ASSERT_EQ(NULL, manager->PreviousInTreeOrder(NULL)); 942 ASSERT_EQ(nullptr, manager->PreviousInTreeOrder(nullptr));
943 ASSERT_EQ(node4_accessible, manager->PreviousInTreeOrder(node5_accessible)); 943 ASSERT_EQ(node4_accessible, manager->PreviousInTreeOrder(node5_accessible));
944 ASSERT_EQ(node3_accessible, manager->PreviousInTreeOrder(node4_accessible)); 944 ASSERT_EQ(node3_accessible, manager->PreviousInTreeOrder(node4_accessible));
945 ASSERT_EQ(node2_accessible, manager->PreviousInTreeOrder(node3_accessible)); 945 ASSERT_EQ(node2_accessible, manager->PreviousInTreeOrder(node3_accessible));
946 ASSERT_EQ(root_accessible, manager->PreviousInTreeOrder(node2_accessible)); 946 ASSERT_EQ(root_accessible, manager->PreviousInTreeOrder(node2_accessible));
947 } 947 }
948 948
949 } // namespace content 949 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698