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

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

Issue 246773008: RWHI should implement BrowserAccessibilityDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge error Created 6 years, 7 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 | Annotate | Revision Log
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"
11 #include "content/browser/accessibility/browser_accessibility_manager.h" 11 #include "content/browser/accessibility/browser_accessibility_manager.h"
12 #include "content/browser/accessibility/browser_accessibility_manager_mac.h" 12 #include "content/browser/accessibility/browser_accessibility_manager_mac.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 #import "testing/gtest_mac.h" 14 #import "testing/gtest_mac.h"
15 #import "ui/gfx/test/ui_cocoa_test_helper.h" 15 #import "ui/gfx/test/ui_cocoa_test_helper.h"
16 16
17 @interface MockAccessibilityDelegate :
18 NSView<BrowserAccessibilityDelegateCocoa>
19
20 - (NSPoint)accessibilityPointInScreen:(NSPoint)origin
21 size:(NSSize)size;
22 - (void)doDefaultAction:(int32)accessibilityObjectId;
23 - (void)accessibilitySetTextSelection:(int32)accId
24 startOffset:(int32)startOffset
25 endOffset:(int32)endOffset;
26 - (void)performShowMenuAction:(BrowserAccessibilityCocoa*)accessibility;
27 - (void)setAccessibilityFocus:(BOOL)focus
28 accessibilityId:(int32)accessibilityObjectId;
29 - (NSWindow*)window;
30
31 @end
32
33 @implementation MockAccessibilityDelegate
34
35 - (NSPoint)accessibilityPointInScreen:(NSPoint)origin
36 size:(NSSize)size {
37 return NSZeroPoint;
38 }
39 - (void)doDefaultAction:(int32)accessibilityObjectId {
40 }
41 - (void)accessibilitySetTextSelection:(int32)accId
42 startOffset:(int32)startOffset
43 endOffset:(int32)endOffset {
44 }
45 - (void)performShowMenuAction:(BrowserAccessibilityCocoa*)accessibility {
46 }
47 - (void)setAccessibilityFocus:(BOOL)focus
48 accessibilityId:(int32)accessibilityObjectId {
49 }
50 - (NSWindow*)window {
51 return nil;
52 }
53
54 @end
55
56 namespace content { 17 namespace content {
57 18
58 class BrowserAccessibilityTest : public ui::CocoaTest { 19 class BrowserAccessibilityTest : public ui::CocoaTest {
59 public: 20 public:
60 virtual void SetUp() { 21 virtual void SetUp() {
61 CocoaTest::SetUp(); 22 CocoaTest::SetUp();
62 RebuildAccessibilityTree(); 23 RebuildAccessibilityTree();
63 } 24 }
64 25
65 protected: 26 protected:
(...skipping 14 matching lines...) Expand all
80 child1.location.set_height(100); 41 child1.location.set_height(100);
81 child1.role = ui::AX_ROLE_BUTTON; 42 child1.role = ui::AX_ROLE_BUTTON;
82 43
83 ui::AXNodeData child2; 44 ui::AXNodeData child2;
84 child2.id = 1002; 45 child2.id = 1002;
85 child2.location.set_x(250); 46 child2.location.set_x(250);
86 child2.location.set_width(250); 47 child2.location.set_width(250);
87 child2.location.set_height(100); 48 child2.location.set_height(100);
88 child2.role = ui::AX_ROLE_HEADING; 49 child2.role = ui::AX_ROLE_HEADING;
89 50
90 delegate_.reset([[MockAccessibilityDelegate alloc] init]);
91 manager_.reset( 51 manager_.reset(
92 new BrowserAccessibilityManagerMac( 52 new BrowserAccessibilityManagerMac(
93 delegate_, 53 nil,
94 MakeAXTreeUpdate(root, child1, child2), 54 MakeAXTreeUpdate(root, child1, child2),
95 NULL)); 55 NULL));
96 accessibility_.reset([manager_->GetRoot()->ToBrowserAccessibilityCocoa() 56 accessibility_.reset([manager_->GetRoot()->ToBrowserAccessibilityCocoa()
97 retain]); 57 retain]);
98 } 58 }
99 59
100 base::scoped_nsobject<MockAccessibilityDelegate> delegate_;
101 base::scoped_nsobject<BrowserAccessibilityCocoa> accessibility_; 60 base::scoped_nsobject<BrowserAccessibilityCocoa> accessibility_;
102 scoped_ptr<BrowserAccessibilityManager> manager_; 61 scoped_ptr<BrowserAccessibilityManager> manager_;
103 }; 62 };
104 63
105 // Standard hit test. 64 // Standard hit test.
106 TEST_F(BrowserAccessibilityTest, HitTestTest) { 65 TEST_F(BrowserAccessibilityTest, HitTestTest) {
107 BrowserAccessibilityCocoa* firstChild = 66 BrowserAccessibilityCocoa* firstChild =
108 [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)]; 67 [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)];
109 EXPECT_NSEQ(@"Child1", 68 EXPECT_NSEQ(@"Child1",
110 [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); 69 [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 116
158 // Now any attributes we query should return nil. 117 // Now any attributes we query should return nil.
159 EXPECT_EQ(nil, [retainedFirstChild 118 EXPECT_EQ(nil, [retainedFirstChild
160 accessibilityAttributeValue:NSAccessibilityTitleAttribute]); 119 accessibilityAttributeValue:NSAccessibilityTitleAttribute]);
161 120
162 // Don't leak memory in the test. 121 // Don't leak memory in the test.
163 [retainedFirstChild release]; 122 [retainedFirstChild release];
164 } 123 }
165 124
166 } // namespace content 125 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698