OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/mac/scoped_nsobject.h" | 7 #include "base/mac/scoped_nsobject.h" |
8 #import "chrome/browser/ui/cocoa/clickhold_button_cell.h" | 8 #import "chrome/browser/ui/cocoa/clickhold_button_cell.h" |
9 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" | 9 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 ASSERT_TRUE([cellTarget respondsToSelector:@selector(open)]); | 85 ASSERT_TRUE([cellTarget respondsToSelector:@selector(open)]); |
86 ASSERT_FALSE([cellTarget didOpen]); | 86 ASSERT_FALSE([cellTarget didOpen]); |
87 | 87 |
88 [cell setEnableClickHold:NO]; | 88 [cell setEnableClickHold:NO]; |
89 | 89 |
90 NSArray* actionNames = [cell accessibilityActionNames]; | 90 NSArray* actionNames = [cell accessibilityActionNames]; |
91 EXPECT_FALSE([actionNames containsObject:NSAccessibilityShowMenuAction]); | 91 EXPECT_FALSE([actionNames containsObject:NSAccessibilityShowMenuAction]); |
92 | 92 |
93 [cell setEnableClickHold:YES]; | 93 [cell setEnableClickHold:YES]; |
94 | 94 |
| 95 // There is no action set. |
| 96 actionNames = [cell accessibilityActionNames]; |
| 97 EXPECT_FALSE([actionNames containsObject:NSAccessibilityShowMenuAction]); |
| 98 |
| 99 // clickHoldAction should be independent from accessibilityShowMenuAction |
| 100 // since different operations, e.g. releasing vs. not releasing a mouse |
| 101 // button, may need to be performed for each occasion. |
| 102 [cell setClickHoldAction:@selector(open)]; |
| 103 [cell setClickHoldTarget:cellTarget]; |
| 104 |
| 105 actionNames = [cell accessibilityActionNames]; |
| 106 EXPECT_FALSE([actionNames containsObject:NSAccessibilityShowMenuAction]); |
| 107 EXPECT_FALSE([cellTarget didOpen]); |
| 108 |
| 109 // Even when accessibilityShowMenuAction is set, no action should be available |
| 110 // if neither enableClickHold nor enableRightClickHold are true. |
| 111 [cell setEnableClickHold:NO]; |
| 112 [cell setAccessibilityShowMenuAction:@selector(open)]; |
| 113 [cell setAccessibilityShowMenuTarget:cellTarget]; |
| 114 |
95 actionNames = [cell accessibilityActionNames]; | 115 actionNames = [cell accessibilityActionNames]; |
96 EXPECT_FALSE([actionNames containsObject:NSAccessibilityShowMenuAction]); | 116 EXPECT_FALSE([actionNames containsObject:NSAccessibilityShowMenuAction]); |
97 | 117 |
98 [cell setClickHoldAction:@selector(open)]; | 118 // Now the action should be available. |
99 [cell setClickHoldTarget:cellTarget]; | 119 [cell setEnableClickHold:YES]; |
| 120 |
| 121 actionNames = [cell accessibilityActionNames]; |
| 122 EXPECT_TRUE([actionNames containsObject:NSAccessibilityShowMenuAction]); |
| 123 |
| 124 [cell setEnableClickHold:NO]; |
| 125 [cell setEnableRightClick:YES]; |
100 | 126 |
101 actionNames = [cell accessibilityActionNames]; | 127 actionNames = [cell accessibilityActionNames]; |
102 EXPECT_TRUE([actionNames containsObject:NSAccessibilityShowMenuAction]); | 128 EXPECT_TRUE([actionNames containsObject:NSAccessibilityShowMenuAction]); |
103 | 129 |
104 [cell accessibilityPerformAction:NSAccessibilityShowMenuAction]; | 130 [cell accessibilityPerformAction:NSAccessibilityShowMenuAction]; |
105 EXPECT_TRUE([cellTarget didOpen]); | 131 EXPECT_TRUE([cellTarget didOpen]); |
106 } | 132 } |
107 | 133 |
108 } // namespace | 134 } // namespace |
OLD | NEW |