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

Side by Side Diff: content/browser/accessibility/browser_accessibility_mac_unittest.mm

Issue 1435113003: Make use of new AX name calc in Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix issue with ariaTextAlternative Created 5 years, 1 month 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 #import <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "content/browser/accessibility/browser_accessibility_cocoa.h" 10 #include "content/browser/accessibility/browser_accessibility_cocoa.h"
(...skipping 12 matching lines...) Expand all
23 RebuildAccessibilityTree(); 23 RebuildAccessibilityTree();
24 } 24 }
25 25
26 protected: 26 protected:
27 void RebuildAccessibilityTree() { 27 void RebuildAccessibilityTree() {
28 ui::AXNodeData root; 28 ui::AXNodeData root;
29 root.id = 1000; 29 root.id = 1000;
30 root.location.set_width(500); 30 root.location.set_width(500);
31 root.location.set_height(100); 31 root.location.set_height(100);
32 root.role = ui::AX_ROLE_ROOT_WEB_AREA; 32 root.role = ui::AX_ROLE_ROOT_WEB_AREA;
33 root.AddStringAttribute(ui::AX_ATTR_HELP, "HelpText"); 33 root.AddStringAttribute(ui::AX_ATTR_DESCRIPTION, "HelpText");
34 root.child_ids.push_back(1001); 34 root.child_ids.push_back(1001);
35 root.child_ids.push_back(1002); 35 root.child_ids.push_back(1002);
36 36
37 ui::AXNodeData child1; 37 ui::AXNodeData child1;
38 child1.id = 1001; 38 child1.id = 1001;
39 child1.SetName("Child1"); 39 child1.SetName("Child1");
40 child1.location.set_width(250); 40 child1.location.set_width(250);
41 child1.location.set_height(100); 41 child1.location.set_height(100);
42 child1.role = ui::AX_ROLE_BUTTON; 42 child1.role = ui::AX_ROLE_BUTTON;
43 43
(...skipping 15 matching lines...) Expand all
59 59
60 base::scoped_nsobject<BrowserAccessibilityCocoa> accessibility_; 60 base::scoped_nsobject<BrowserAccessibilityCocoa> accessibility_;
61 scoped_ptr<BrowserAccessibilityManager> manager_; 61 scoped_ptr<BrowserAccessibilityManager> manager_;
62 }; 62 };
63 63
64 // Standard hit test. 64 // Standard hit test.
65 TEST_F(BrowserAccessibilityTest, HitTestTest) { 65 TEST_F(BrowserAccessibilityTest, HitTestTest) {
66 BrowserAccessibilityCocoa* firstChild = 66 BrowserAccessibilityCocoa* firstChild =
67 [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)]; 67 [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)];
68 EXPECT_NSEQ(@"Child1", 68 EXPECT_NSEQ(@"Child1",
69 [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); 69 [firstChild
70 accessibilityAttributeValue:NSAccessibilityDescriptionAttribute]);
70 } 71 }
71 72
72 // Test doing a hit test on the edge of a child. 73 // Test doing a hit test on the edge of a child.
73 TEST_F(BrowserAccessibilityTest, EdgeHitTest) { 74 TEST_F(BrowserAccessibilityTest, EdgeHitTest) {
74 BrowserAccessibilityCocoa* firstChild = 75 BrowserAccessibilityCocoa* firstChild =
75 [accessibility_ accessibilityHitTest:NSZeroPoint]; 76 [accessibility_ accessibilityHitTest:NSZeroPoint];
76 EXPECT_NSEQ(@"Child1", 77 EXPECT_NSEQ(@"Child1",
77 [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); 78 [firstChild
79 accessibilityAttributeValue:NSAccessibilityDescriptionAttribute]);
78 } 80 }
79 81
80 // This will test a hit test with invalid coordinates. It is assumed that 82 // This will test a hit test with invalid coordinates. It is assumed that
81 // the hit test has been narrowed down to this object or one of its children 83 // the hit test has been narrowed down to this object or one of its children
82 // so it should return itself since it has no better hit result. 84 // so it should return itself since it has no better hit result.
83 TEST_F(BrowserAccessibilityTest, InvalidHitTestCoordsTest) { 85 TEST_F(BrowserAccessibilityTest, InvalidHitTestCoordsTest) {
84 BrowserAccessibilityCocoa* hitTestResult = 86 BrowserAccessibilityCocoa* hitTestResult =
85 [accessibility_ accessibilityHitTest:NSMakePoint(-50, 50)]; 87 [accessibility_ accessibilityHitTest:NSMakePoint(-50, 50)];
86 EXPECT_NSEQ(accessibility_, hitTestResult); 88 EXPECT_NSEQ(accessibility_, hitTestResult);
87 } 89 }
(...skipping 10 matching lines...) Expand all
98 NSString* shouldBeNil = [accessibility_ 100 NSString* shouldBeNil = [accessibility_
99 accessibilityAttributeValue:@"NSAnInvalidAttribute"]; 101 accessibilityAttributeValue:@"NSAnInvalidAttribute"];
100 EXPECT_TRUE(shouldBeNil == nil); 102 EXPECT_TRUE(shouldBeNil == nil);
101 } 103 }
102 104
103 TEST_F(BrowserAccessibilityTest, RetainedDetachedObjectsReturnNil) { 105 TEST_F(BrowserAccessibilityTest, RetainedDetachedObjectsReturnNil) {
104 // Get the first child. 106 // Get the first child.
105 BrowserAccessibilityCocoa* retainedFirstChild = 107 BrowserAccessibilityCocoa* retainedFirstChild =
106 [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)]; 108 [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)];
107 EXPECT_NSEQ(@"Child1", [retainedFirstChild 109 EXPECT_NSEQ(@"Child1", [retainedFirstChild
108 accessibilityAttributeValue:NSAccessibilityTitleAttribute]); 110 accessibilityAttributeValue:NSAccessibilityDescriptionAttribute]);
109 111
110 // Retain it. This simulates what the system might do with an 112 // Retain it. This simulates what the system might do with an
111 // accessibility object. 113 // accessibility object.
112 [retainedFirstChild retain]; 114 [retainedFirstChild retain];
113 115
114 // Rebuild the accessibility tree, which should detach |retainedFirstChild|. 116 // Rebuild the accessibility tree, which should detach |retainedFirstChild|.
115 RebuildAccessibilityTree(); 117 RebuildAccessibilityTree();
116 118
117 // Now any attributes we query should return nil. 119 // Now any attributes we query should return nil.
118 EXPECT_EQ(nil, [retainedFirstChild 120 EXPECT_EQ(nil, [retainedFirstChild
119 accessibilityAttributeValue:NSAccessibilityTitleAttribute]); 121 accessibilityAttributeValue:NSAccessibilityDescriptionAttribute]);
120 122
121 // Don't leak memory in the test. 123 // Don't leak memory in the test.
122 [retainedFirstChild release]; 124 [retainedFirstChild release];
123 } 125 }
124 126
125 } // namespace content 127 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698