OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/network_activity_indicator_manager.h" | 5 #import "ios/chrome/browser/ui/network_activity_indicator_manager.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_mac.h" | 9 #include "testing/gtest_mac.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 NSString* const kNetworkActivityKeyOne = | 18 NSString* const kNetworkActivityKeyOne = |
16 @"NetworkActivityIndicatorManagerTest.NetworkActivityIndicatorKeyOne"; | 19 @"NetworkActivityIndicatorManagerTest.NetworkActivityIndicatorKeyOne"; |
17 NSString* const kNetworkActivityKeyTwo = | 20 NSString* const kNetworkActivityKeyTwo = |
18 @"NetworkActivityIndicatorManagerTest.NetworkActivityIndicatorKeyTwo"; | 21 @"NetworkActivityIndicatorManagerTest.NetworkActivityIndicatorKeyTwo"; |
19 | 22 |
20 class NetworkActivityIndicatorManagerTest : public PlatformTest { | 23 class NetworkActivityIndicatorManagerTest : public PlatformTest { |
21 public: | 24 public: |
22 NetworkActivityIndicatorManagerTest() | 25 NetworkActivityIndicatorManagerTest() |
23 : manager_([[NetworkActivityIndicatorManager alloc] init]) {} | 26 : manager_([[NetworkActivityIndicatorManager alloc] init]) {} |
24 | 27 |
25 protected: | 28 protected: |
26 void ExpectNetworkActivity(NSUInteger groupOneCount, | 29 void ExpectNetworkActivity(NSUInteger groupOneCount, |
27 NSUInteger groupTwoCount) { | 30 NSUInteger groupTwoCount) { |
28 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], | 31 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], |
29 groupOneCount); | 32 groupOneCount); |
30 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], | 33 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], |
31 groupTwoCount); | 34 groupTwoCount); |
32 EXPECT_EQ([manager_ numTotalNetworkTasks], groupOneCount + groupTwoCount); | 35 EXPECT_EQ([manager_ numTotalNetworkTasks], groupOneCount + groupTwoCount); |
33 if (groupOneCount + groupTwoCount > 0U) { | 36 if (groupOneCount + groupTwoCount > 0U) { |
34 EXPECT_TRUE([[UIApplication sharedApplication] | 37 EXPECT_TRUE([[UIApplication sharedApplication] |
35 isNetworkActivityIndicatorVisible]); | 38 isNetworkActivityIndicatorVisible]); |
36 } else { | 39 } else { |
37 EXPECT_FALSE([[UIApplication sharedApplication] | 40 EXPECT_FALSE([[UIApplication sharedApplication] |
38 isNetworkActivityIndicatorVisible]); | 41 isNetworkActivityIndicatorVisible]); |
39 } | 42 } |
40 } | 43 } |
41 base::scoped_nsobject<NetworkActivityIndicatorManager> manager_; | 44 NetworkActivityIndicatorManager* manager_; |
42 }; | 45 }; |
43 | 46 |
44 TEST_F(NetworkActivityIndicatorManagerTest, TestNumNetworkTasksForGroup) { | 47 TEST_F(NetworkActivityIndicatorManagerTest, TestNumNetworkTasksForGroup) { |
45 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 0U); | 48 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 0U); |
46 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U); | 49 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U); |
47 [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; | 50 [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
48 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 2U); | 51 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 2U); |
49 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U); | 52 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U); |
50 [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; | 53 [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; |
51 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 2U); | 54 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 2U); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 ExpectNetworkActivity(5U, 4U); | 141 ExpectNetworkActivity(5U, 4U); |
139 [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyTwo]; | 142 [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyTwo]; |
140 ExpectNetworkActivity(5U, 2U); | 143 ExpectNetworkActivity(5U, 2U); |
141 [manager_ stopNetworkTasks:5U forGroup:kNetworkActivityKeyOne]; | 144 [manager_ stopNetworkTasks:5U forGroup:kNetworkActivityKeyOne]; |
142 ExpectNetworkActivity(0U, 2U); | 145 ExpectNetworkActivity(0U, 2U); |
143 [manager_ clearNetworkTasksForGroup:kNetworkActivityKeyTwo]; | 146 [manager_ clearNetworkTasksForGroup:kNetworkActivityKeyTwo]; |
144 ExpectNetworkActivity(0U, 0U); | 147 ExpectNetworkActivity(0U, 0U); |
145 } | 148 } |
146 | 149 |
147 } // namespace | 150 } // namespace |
OLD | NEW |