diff options
author | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-13 18:50:10 +0000 |
---|---|---|
committer | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-13 18:50:10 +0000 |
commit | 1dbadbd465e5cce4031dd20eb901ac7da2d67668 (patch) | |
tree | 83f16e5657ccc3a17c6059f72dbba171fce8c478 /chrome/browser/cocoa/browser_accessibility_unittest.mm | |
parent | fd21468f5e0b3d8523a6ad93e337e27632c2b1b6 (diff) | |
download | chromium_src-1dbadbd465e5cce4031dd20eb901ac7da2d67668.zip chromium_src-1dbadbd465e5cce4031dd20eb901ac7da2d67668.tar.gz chromium_src-1dbadbd465e5cce4031dd20eb901ac7da2d67668.tar.bz2 |
Refactoring of BrowserAccessibility (Mac) to use cross platform base classes.
BUG=none
TEST=passing unit tests.
Review URL: http://codereview.chromium.org/3696003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62431 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/browser_accessibility_unittest.mm')
-rw-r--r-- | chrome/browser/cocoa/browser_accessibility_unittest.mm | 53 |
1 files changed, 41 insertions, 12 deletions
diff --git a/chrome/browser/cocoa/browser_accessibility_unittest.mm b/chrome/browser/cocoa/browser_accessibility_unittest.mm index 104c26e..27bee1a 100644 --- a/chrome/browser/cocoa/browser_accessibility_unittest.mm +++ b/chrome/browser/cocoa/browser_accessibility_unittest.mm @@ -6,14 +6,16 @@ #include "base/string_util.h" #include "base/utf_string_conversions.h" +#include "chrome/browser/accessibility/browser_accessibility_mac.h" #include "chrome/browser/cocoa/browser_accessibility.h" #include "chrome/browser/cocoa/cocoa_test_helper.h" #include "testing/gtest/include/gtest/gtest.h" #import "testing/gtest_mac.h" -@interface MockAccessibilityDelegate : NSObject<BrowserAccessibilityDelegate> +@interface MockAccessibilityDelegate : + NSObject<BrowserAccessibilityDelegateCocoa> -- (NSPoint)accessibilityPointInScreen:(BrowserAccessibility*)accessibility; +- (NSPoint)accessibilityPointInScreen:(BrowserAccessibilityCocoa*)accessibility; - (void)doDefaultAction:(int32)accessibilityObjectId; - (void)setAccessibilityFocus:(BOOL)focus accessibilityId:(int32)accessibilityObjectId; @@ -23,7 +25,8 @@ @implementation MockAccessibilityDelegate -- (NSPoint)accessibilityPointInScreen:(BrowserAccessibility*)accessibility { +- (NSPoint)accessibilityPointInScreen: + (BrowserAccessibilityCocoa*)accessibility { return NSZeroPoint; } - (void)doDefaultAction:(int32)accessibilityObjectId { @@ -62,24 +65,50 @@ class BrowserAccessibilityTest : public CocoaTest { child2.location.width = 250; child2.location.height = 100; - root.children.push_back(child1); - root.children.push_back(child2); + // TODO(dtseng): use BrowserAccessibilityManagerMac once it manages + // these objects. + BrowserAccessibility* rootBrowserAccessibility = + BrowserAccessibility::Create(); + BrowserAccessibility* child1BrowserAccessibility = + BrowserAccessibility::Create(); + BrowserAccessibility* child2BrowserAccessibility = + BrowserAccessibility::Create(); + + rootBrowserAccessibility->Initialize(NULL, + NULL, + 0, + 0, + root); + child1BrowserAccessibility->Initialize(NULL, + NULL, + 0, + 0, + child1); + child2BrowserAccessibility->Initialize(NULL, + NULL, + 0, + 0, + child2); + + rootBrowserAccessibility->AddChild(child1BrowserAccessibility); + rootBrowserAccessibility->AddChild(child2BrowserAccessibility); delegate_.reset([[MockAccessibilityDelegate alloc] init]); accessibility_.reset( - [[BrowserAccessibility alloc] initWithObject:root - delegate:delegate_ - parent:delegate_]); + [[BrowserAccessibilityCocoa alloc] + initWithObject:rootBrowserAccessibility + delegate:delegate_ + parent:delegate_]); } protected: scoped_nsobject<MockAccessibilityDelegate> delegate_; - scoped_nsobject<BrowserAccessibility> accessibility_; + scoped_nsobject<BrowserAccessibilityCocoa> accessibility_; }; // Standard hit test. TEST_F(BrowserAccessibilityTest, HitTestTest) { - BrowserAccessibility* firstChild = + BrowserAccessibilityCocoa* firstChild = [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)]; EXPECT_NSEQ(@"Child1", [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); @@ -87,7 +116,7 @@ TEST_F(BrowserAccessibilityTest, HitTestTest) { // Test doing a hit test on the edge of a child. TEST_F(BrowserAccessibilityTest, EdgeHitTest) { - BrowserAccessibility* firstChild = + BrowserAccessibilityCocoa* firstChild = [accessibility_ accessibilityHitTest:NSMakePoint(0, 0)]; EXPECT_NSEQ(@"Child1", [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); @@ -97,7 +126,7 @@ TEST_F(BrowserAccessibilityTest, EdgeHitTest) { // the hit test has been narrowed down to this object or one of its children // so it should return itself since it has no better hit result. TEST_F(BrowserAccessibilityTest, InvalidHitTestCoordsTest) { - BrowserAccessibility* hitTestResult = + BrowserAccessibilityCocoa* hitTestResult = [accessibility_ accessibilityHitTest:NSMakePoint(-50, 50)]; EXPECT_NSEQ(accessibility_, hitTestResult); } |