diff options
author | feldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-27 00:20:56 +0000 |
---|---|---|
committer | feldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-27 00:20:56 +0000 |
commit | 198d45d62ccf710566c479536e8342efda52f966 (patch) | |
tree | 24f33ad8b7fe97ccffdf6dd62c5e025560462cb4 /chrome/browser/cocoa/browser_accessibility_unittest.mm | |
parent | 57f73e1db48580045957b1494ad0a402505d0d60 (diff) | |
download | chromium_src-198d45d62ccf710566c479536e8342efda52f966.zip chromium_src-198d45d62ccf710566c479536e8342efda52f966.tar.gz chromium_src-198d45d62ccf710566c479536e8342efda52f966.tar.bz2 |
Readability review for Obj-C for feldstein
Readibility review code using the cocoa browser accessibility stuff for
objective c
Review URL: http://codereview.chromium.org/2951011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53723 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 | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/chrome/browser/cocoa/browser_accessibility_unittest.mm b/chrome/browser/cocoa/browser_accessibility_unittest.mm index 2fa93e0..a44942e 100644 --- a/chrome/browser/cocoa/browser_accessibility_unittest.mm +++ b/chrome/browser/cocoa/browser_accessibility_unittest.mm @@ -53,28 +53,29 @@ class BrowserAccessibilityTest : public CocoaTest { 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; - + root.children.push_back(child1); - root.children.push_back(child2); - + root.children.push_back(child2); + delegate_.reset([[MockAccessibilityDelegate alloc] init]); accessibility_.reset( [[BrowserAccessibility alloc] initWithObject:root delegate:delegate_ parent:delegate_]); } - + protected: scoped_nsobject<MockAccessibilityDelegate> delegate_; scoped_nsobject<BrowserAccessibility> accessibility_; }; +// Standard hit test. TEST_F(BrowserAccessibilityTest, HitTestTest) { BrowserAccessibility* firstChild = [accessibility_ accessibilityHitTest:NSMakePoint(50, 50)]; @@ -83,8 +84,34 @@ TEST_F(BrowserAccessibilityTest, HitTestTest) { isEqualToString:@"Child1"]); } +// Test doing a hit test on the edge of a child. +TEST_F(BrowserAccessibilityTest, EdgeHitTest) { + BrowserAccessibility* firstChild = + [accessibility_ accessibilityHitTest:NSMakePoint(0, 0)]; + EXPECT_TRUE( + [[firstChild accessibilityAttributeValue:NSAccessibilityTitleAttribute] + isEqualToString:@"Child1"]); +} + +// 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) { + BrowserAccessibility* hitTestResult = + [accessibility_ accessibilityHitTest:NSMakePoint(-50, 50)]; + EXPECT_TRUE([accessibility_ isEqualTo:hitTestResult]); +} + +// Test to ensure querying standard attributes works. TEST_F(BrowserAccessibilityTest, BasicAttributeTest) { NSString* helpText = [accessibility_ accessibilityAttributeValue:NSAccessibilityHelpAttribute]; EXPECT_TRUE([helpText isEqualToString: @"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); +} |