OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ios/chrome/browser/ui/tools_menu/tools_menu_view_item.h" | 5 #import "ios/chrome/browser/ui/tools_menu/tools_menu_view_item.h" |
6 | 6 |
7 #import <UIKit/UIKit.h> | 7 #import <UIKit/UIKit.h> |
8 | 8 |
9 #include "base/mac/scoped_nsobject.h" | |
10 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
11 #include "testing/platform_test.h" | 10 #include "testing/platform_test.h" |
12 | 11 |
| 12 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| 13 #error "This file requires ARC support." |
| 14 #endif |
| 15 |
13 namespace { | 16 namespace { |
14 | 17 |
15 class ToolsMenuViewItemTest : public PlatformTest { | 18 class ToolsMenuViewItemTest : public PlatformTest { |
16 protected: | 19 protected: |
17 void SetUp() override { | 20 void SetUp() override { |
18 toolsMenuViewItem_.reset([[ToolsMenuViewItem alloc] init]); | 21 toolsMenuViewItem_ = [[ToolsMenuViewItem alloc] init]; |
19 } | 22 } |
20 base::scoped_nsobject<ToolsMenuViewItem> toolsMenuViewItem_; | 23 ToolsMenuViewItem* toolsMenuViewItem_; |
21 }; | 24 }; |
22 | 25 |
23 TEST_F(ToolsMenuViewItemTest, CustomizeCellAccessibilityTrait) { | 26 TEST_F(ToolsMenuViewItemTest, CustomizeCellAccessibilityTrait) { |
24 base::scoped_nsobject<ToolsMenuViewCell> cell1( | 27 ToolsMenuViewCell* cell1 = [[ToolsMenuViewCell alloc] init]; |
25 [[ToolsMenuViewCell alloc] init]); | 28 ToolsMenuViewCell* cell2 = [[ToolsMenuViewCell alloc] init]; |
26 base::scoped_nsobject<ToolsMenuViewCell> cell2( | |
27 [[ToolsMenuViewCell alloc] init]); | |
28 | 29 |
29 [toolsMenuViewItem_ setActive:YES]; | 30 [toolsMenuViewItem_ setActive:YES]; |
30 [cell1 setAccessibilityTraits:UIAccessibilityTraitNotEnabled]; | 31 [cell1 setAccessibilityTraits:UIAccessibilityTraitNotEnabled]; |
31 [cell1 configureForMenuItem:toolsMenuViewItem_]; | 32 [cell1 configureForMenuItem:toolsMenuViewItem_]; |
32 EXPECT_FALSE(cell1.get().accessibilityTraits & | 33 EXPECT_FALSE(cell1.accessibilityTraits & UIAccessibilityTraitNotEnabled); |
33 UIAccessibilityTraitNotEnabled); | |
34 | 34 |
35 [toolsMenuViewItem_ setActive:NO]; | 35 [toolsMenuViewItem_ setActive:NO]; |
36 [cell2 configureForMenuItem:toolsMenuViewItem_]; | 36 [cell2 configureForMenuItem:toolsMenuViewItem_]; |
37 EXPECT_TRUE(cell2.get().accessibilityTraits & UIAccessibilityTraitNotEnabled); | 37 EXPECT_TRUE(cell2.accessibilityTraits & UIAccessibilityTraitNotEnabled); |
38 | 38 |
39 // Happens when cell2 is reused. | 39 // Happens when cell2 is reused. |
40 [toolsMenuViewItem_ setActive:YES]; | 40 [toolsMenuViewItem_ setActive:YES]; |
41 [cell2 configureForMenuItem:toolsMenuViewItem_]; | 41 [cell2 configureForMenuItem:toolsMenuViewItem_]; |
42 EXPECT_FALSE(cell2.get().accessibilityTraits & | 42 EXPECT_FALSE(cell2.accessibilityTraits & UIAccessibilityTraitNotEnabled); |
43 UIAccessibilityTraitNotEnabled); | |
44 } | 43 } |
45 | 44 |
46 } // namespace | 45 } // namespace |
OLD | NEW |