summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/browser_accessibility_unittest.mm
diff options
context:
space:
mode:
authorfeldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 00:20:56 +0000
committerfeldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 00:20:56 +0000
commit198d45d62ccf710566c479536e8342efda52f966 (patch)
tree24f33ad8b7fe97ccffdf6dd62c5e025560462cb4 /chrome/browser/cocoa/browser_accessibility_unittest.mm
parent57f73e1db48580045957b1494ad0a402505d0d60 (diff)
downloadchromium_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.mm37
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);
+}