| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/string_util.h" | 7 #include "base/string_util.h" |
| 8 #include "chrome/browser/cocoa/browser_accessibility.h" | 8 #include "chrome/browser/cocoa/browser_accessibility.h" |
| 9 #include "chrome/browser/cocoa/cocoa_test_helper.h" | 9 #include "chrome/browser/cocoa/cocoa_test_helper.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 11 #import "testing/gtest_mac.h" |
| 11 | 12 |
| 12 @interface MockAccessibilityDelegate : NSObject<BrowserAccessibilityDelegate> | 13 @interface MockAccessibilityDelegate : NSObject<BrowserAccessibilityDelegate> |
| 13 | 14 |
| 14 - (NSPoint)accessibilityPointInScreen:(BrowserAccessibility*)accessibility; | 15 - (NSPoint)accessibilityPointInScreen:(BrowserAccessibility*)accessibility; |
| 15 - (void)doDefaultAction:(int32)accessibilityObjectId; | 16 - (void)doDefaultAction:(int32)accessibilityObjectId; |
| 16 - (void)setAccessibilityFocus:(BOOL)focus | 17 - (void)setAccessibilityFocus:(BOOL)focus |
| 17 accessibilityId:(int32)accessibilityObjectId; | 18 accessibilityId:(int32)accessibilityObjectId; |
| 18 - (NSWindow*)window; | 19 - (NSWindow*)window; |
| 19 | 20 |
| 20 @end | 21 @end |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 | 73 |
| 73 protected: | 74 protected: |
| 74 scoped_nsobject<MockAccessibilityDelegate> delegate_; | 75 scoped_nsobject<MockAccessibilityDelegate> delegate_; |
| 75 scoped_nsobject<BrowserAccessibility> accessibility_; | 76 scoped_nsobject<BrowserAccessibility> accessibility_; |
| 76 }; | 77 }; |
| 77 | 78 |
| 78 // Standard hit test. | 79 // Standard hit test. |
| 79 TEST_F(BrowserAccessibilityTest, HitTestTest) { | 80 TEST_F(BrowserAccessibilityTest, HitTestTest) { |
| 80 BrowserAccessibility* firstChild = | 81 BrowserAccessibility* firstChild = |
| 81 [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)]; | 82 [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)]; |
| 82 EXPECT_TRUE( | 83 EXPECT_NSEQ(@"Child1", |
| 83 [[firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute] | 84 [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); |
| 84 isEqualToString:@"Child1"]); | |
| 85 } | 85 } |
| 86 | 86 |
| 87 // Test doing a hit test on the edge of a child. | 87 // Test doing a hit test on the edge of a child. |
| 88 TEST_F(BrowserAccessibilityTest, EdgeHitTest) { | 88 TEST_F(BrowserAccessibilityTest, EdgeHitTest) { |
| 89 BrowserAccessibility* firstChild = | 89 BrowserAccessibility* firstChild = |
| 90 [accessibility_ accessibilityHitTest:NSMakePoint(0, 0)]; | 90 [accessibility_ accessibilityHitTest:NSMakePoint(0, 0)]; |
| 91 EXPECT_TRUE( | 91 EXPECT_NSEQ(@"Child1", |
| 92 [[firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute] | 92 [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); |
| 93 isEqualToString:@"Child1"]); | |
| 94 } | 93 } |
| 95 | 94 |
| 96 // This will test a hit test with invalid coordinates. It is assumed that | 95 // This will test a hit test with invalid coordinates. It is assumed that |
| 97 // the hit test has been narrowed down to this object or one of its children | 96 // the hit test has been narrowed down to this object or one of its children |
| 98 // so it should return itself since it has no better hit result. | 97 // so it should return itself since it has no better hit result. |
| 99 TEST_F(BrowserAccessibilityTest, InvalidHitTestCoordsTest) { | 98 TEST_F(BrowserAccessibilityTest, InvalidHitTestCoordsTest) { |
| 100 BrowserAccessibility* hitTestResult = | 99 BrowserAccessibility* hitTestResult = |
| 101 [accessibility_ accessibilityHitTest:NSMakePoint(-50, 50)]; | 100 [accessibility_ accessibilityHitTest:NSMakePoint(-50, 50)]; |
| 102 EXPECT_TRUE([accessibility_ isEqualTo:hitTestResult]); | 101 EXPECT_NSEQ(accessibility_, hitTestResult); |
| 103 } | 102 } |
| 104 | 103 |
| 105 // Test to ensure querying standard attributes works. | 104 // Test to ensure querying standard attributes works. |
| 106 TEST_F(BrowserAccessibilityTest, BasicAttributeTest) { | 105 TEST_F(BrowserAccessibilityTest, BasicAttributeTest) { |
| 107 NSString* helpText = [accessibility_ | 106 NSString* helpText = [accessibility_ |
| 108 accessibilityAttributeValue:NSAccessibilityHelpAttribute]; | 107 accessibilityAttributeValue:NSAccessibilityHelpAttribute]; |
| 109 EXPECT_TRUE([helpText isEqualToString: @"HelpText"]); | 108 EXPECT_NSEQ(@"HelpText", helpText); |
| 110 } | 109 } |
| 111 | 110 |
| 112 // Test querying for an invalid attribute to ensure it doesn't crash. | 111 // Test querying for an invalid attribute to ensure it doesn't crash. |
| 113 TEST_F(BrowserAccessibilityTest, InvalidAttributeTest) { | 112 TEST_F(BrowserAccessibilityTest, InvalidAttributeTest) { |
| 114 NSString* shouldBeNil = [accessibility_ | 113 NSString* shouldBeNil = [accessibility_ |
| 115 accessibilityAttributeValue:@"NSAnInvalidAttribute"]; | 114 accessibilityAttributeValue:@"NSAnInvalidAttribute"]; |
| 116 EXPECT_TRUE(shouldBeNil == nil); | 115 EXPECT_TRUE(shouldBeNil == nil); |
| 117 } | 116 } |
| OLD | NEW |