diff options
author | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-19 21:18:50 +0000 |
---|---|---|
committer | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-19 21:18:50 +0000 |
commit | 0d7dad6df2d9d6d9676ca7adb02e3c92beaa8a79 (patch) | |
tree | f646a38a4c8a43acdfea7addaf660bea0a02cbcc /chrome/browser/cocoa/browser_accessibility_unittest.mm | |
parent | 027db59033125d49ab7cbf4a553e6be7c83b0960 (diff) | |
download | chromium_src-0d7dad6df2d9d6d9676ca7adb02e3c92beaa8a79.zip chromium_src-0d7dad6df2d9d6d9676ca7adb02e3c92beaa8a79.tar.gz chromium_src-0d7dad6df2d9d6d9676ca7adb02e3c92beaa8a79.tar.bz2 |
Make the BrowserAccessibilityManagerMac own the management of the cocoa ax tree.
BUG=55657
TEST=passing unit tests.
Review URL: http://codereview.chromium.org/3826002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63110 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 | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/chrome/browser/cocoa/browser_accessibility_unittest.mm b/chrome/browser/cocoa/browser_accessibility_unittest.mm deleted file mode 100644 index 27bee1a..0000000 --- a/chrome/browser/cocoa/browser_accessibility_unittest.mm +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import <Cocoa/Cocoa.h> - -#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<BrowserAccessibilityDelegateCocoa> - -- (NSPoint)accessibilityPointInScreen:(BrowserAccessibilityCocoa*)accessibility; -- (void)doDefaultAction:(int32)accessibilityObjectId; -- (void)setAccessibilityFocus:(BOOL)focus - accessibilityId:(int32)accessibilityObjectId; -- (NSWindow*)window; - -@end - -@implementation MockAccessibilityDelegate - -- (NSPoint)accessibilityPointInScreen: - (BrowserAccessibilityCocoa*)accessibility { - return NSZeroPoint; -} -- (void)doDefaultAction:(int32)accessibilityObjectId { -} -- (void)setAccessibilityFocus:(BOOL)focus - accessibilityId:(int32)accessibilityObjectId { -} -- (NSWindow*)window { - return nil; -} - -@end - - -class BrowserAccessibilityTest : public CocoaTest { - public: - virtual void SetUp() { - CocoaTest::SetUp(); - WebAccessibility root; - root.location.x = 0; - root.location.y = 0; - root.location.width = 500; - root.location.height = 100; - root.attributes[WebAccessibility::ATTR_HELP] = ASCIIToUTF16("HelpText"); - - WebAccessibility child1; - child1.name = ASCIIToUTF16("Child1"); - child1.location.x = 0; - child1.location.y = 0; - child1.location.width = 250; - child1.location.height = 100; - - WebAccessibility child2; - child2.location.x = 250; - child2.location.y = 0; - child2.location.width = 250; - child2.location.height = 100; - - // 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( - [[BrowserAccessibilityCocoa alloc] - initWithObject:rootBrowserAccessibility - delegate:delegate_ - parent:delegate_]); - } - - protected: - scoped_nsobject<MockAccessibilityDelegate> delegate_; - scoped_nsobject<BrowserAccessibilityCocoa> accessibility_; -}; - -// Standard hit test. -TEST_F(BrowserAccessibilityTest, HitTestTest) { - BrowserAccessibilityCocoa* firstChild = - [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)]; - EXPECT_NSEQ(@"Child1", - [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); -} - -// Test doing a hit test on the edge of a child. -TEST_F(BrowserAccessibilityTest, EdgeHitTest) { - BrowserAccessibilityCocoa* firstChild = - [accessibility_ accessibilityHitTest:NSMakePoint(0, 0)]; - EXPECT_NSEQ(@"Child1", - [firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute]); -} - -// This will test a hit test with invalid coordinates. It is assumed that -// 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) { - BrowserAccessibilityCocoa* hitTestResult = - [accessibility_ accessibilityHitTest:NSMakePoint(-50, 50)]; - EXPECT_NSEQ(accessibility_, hitTestResult); -} - -// Test to ensure querying standard attributes works. -TEST_F(BrowserAccessibilityTest, BasicAttributeTest) { - NSString* helpText = [accessibility_ - accessibilityAttributeValue:NSAccessibilityHelpAttribute]; - EXPECT_NSEQ(@"HelpText", helpText); -} - -// Test querying for an invalid attribute to ensure it doesn't crash. -TEST_F(BrowserAccessibilityTest, InvalidAttributeTest) { - NSString* shouldBeNil = [accessibility_ - accessibilityAttributeValue:@"NSAnInvalidAttribute"]; - EXPECT_TRUE(shouldBeNil == nil); -} |