| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #import "ios/web/crw_network_activity_indicator_manager.h" |
| 6 |
| 7 #import <UIKit/UIKit.h> |
| 8 |
| 9 #include "base/mac/scoped_nsobject.h" |
| 10 #include "testing/gtest_mac.h" |
| 11 #include "testing/platform_test.h" |
| 12 |
| 13 namespace { |
| 14 |
| 15 NSString* const kNetworkActivityKeyOne = |
| 16 @"CRWNetworkActivityIndicatorManagerTest.NetworkActivityIndicatorKeyOne"; |
| 17 NSString* const kNetworkActivityKeyTwo = |
| 18 @"CRWNetworkActivityIndicatorManagerTest.NetworkActivityIndicatorKeyTwo"; |
| 19 |
| 20 class CRWNetworkActivityIndicatorManagerTest : public PlatformTest { |
| 21 public: |
| 22 CRWNetworkActivityIndicatorManagerTest() |
| 23 : manager_([[CRWNetworkActivityIndicatorManager alloc] init]) {} |
| 24 |
| 25 protected: |
| 26 void ExpectNetworkActivity(NSUInteger groupOneCount, |
| 27 NSUInteger groupTwoCount) { |
| 28 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], |
| 29 groupOneCount); |
| 30 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], |
| 31 groupTwoCount); |
| 32 EXPECT_EQ([manager_ numTotalNetworkTasks], groupOneCount + groupTwoCount); |
| 33 if (groupOneCount + groupTwoCount > 0U) { |
| 34 EXPECT_TRUE( |
| 35 [[UIApplication sharedApplication] |
| 36 isNetworkActivityIndicatorVisible]); |
| 37 } else { |
| 38 EXPECT_FALSE( |
| 39 [[UIApplication sharedApplication] |
| 40 isNetworkActivityIndicatorVisible]); |
| 41 } |
| 42 } |
| 43 base::scoped_nsobject<CRWNetworkActivityIndicatorManager> manager_; |
| 44 }; |
| 45 |
| 46 TEST_F(CRWNetworkActivityIndicatorManagerTest, TestNumNetworkTasksForGroup) { |
| 47 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 0U); |
| 48 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U); |
| 49 [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 50 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 2U); |
| 51 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U); |
| 52 [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; |
| 53 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 2U); |
| 54 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 3U); |
| 55 [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 56 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 0U); |
| 57 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 3U); |
| 58 [manager_ stopNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; |
| 59 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 0U); |
| 60 EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U); |
| 61 } |
| 62 |
| 63 TEST_F(CRWNetworkActivityIndicatorManagerTest, TestNumTotalNetworkTasks) { |
| 64 EXPECT_EQ([manager_ numTotalNetworkTasks], 0U); |
| 65 [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 66 EXPECT_EQ([manager_ numTotalNetworkTasks], 2U); |
| 67 [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; |
| 68 EXPECT_EQ([manager_ numTotalNetworkTasks], 5U); |
| 69 [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 70 EXPECT_EQ([manager_ numTotalNetworkTasks], 3U); |
| 71 [manager_ stopNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; |
| 72 EXPECT_EQ([manager_ numTotalNetworkTasks], 0U); |
| 73 } |
| 74 |
| 75 TEST_F(CRWNetworkActivityIndicatorManagerTest, |
| 76 StartStopNetworkTaskForOneGroup) { |
| 77 ExpectNetworkActivity(0U, 0U); |
| 78 [manager_ startNetworkTaskForGroup:kNetworkActivityKeyOne]; |
| 79 ExpectNetworkActivity(1U, 0U); |
| 80 [manager_ stopNetworkTaskForGroup:kNetworkActivityKeyOne]; |
| 81 ExpectNetworkActivity(0U, 0U); |
| 82 } |
| 83 |
| 84 TEST_F(CRWNetworkActivityIndicatorManagerTest, |
| 85 StartStopNetworkTaskForTwoGroups) { |
| 86 ExpectNetworkActivity(0U, 0U); |
| 87 [manager_ startNetworkTaskForGroup:kNetworkActivityKeyOne]; |
| 88 ExpectNetworkActivity(1U, 0U); |
| 89 [manager_ startNetworkTaskForGroup:kNetworkActivityKeyTwo]; |
| 90 ExpectNetworkActivity(1U, 1U); |
| 91 [manager_ stopNetworkTaskForGroup:kNetworkActivityKeyOne]; |
| 92 ExpectNetworkActivity(0U, 1U); |
| 93 [manager_ stopNetworkTaskForGroup:kNetworkActivityKeyTwo]; |
| 94 ExpectNetworkActivity(0U, 0U); |
| 95 } |
| 96 |
| 97 TEST_F(CRWNetworkActivityIndicatorManagerTest, |
| 98 StartStopNetworkTasksForOneGroup) { |
| 99 ExpectNetworkActivity(0U, 0U); |
| 100 [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 101 ExpectNetworkActivity(2U, 0U); |
| 102 [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 103 ExpectNetworkActivity(0U, 0U); |
| 104 } |
| 105 |
| 106 TEST_F(CRWNetworkActivityIndicatorManagerTest, |
| 107 StartStopNetworkTasksForTwoGroups) { |
| 108 ExpectNetworkActivity(0U, 0U); |
| 109 [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 110 ExpectNetworkActivity(2U, 0U); |
| 111 [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; |
| 112 ExpectNetworkActivity(2U, 3U); |
| 113 [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 114 ExpectNetworkActivity(0U, 3U); |
| 115 [manager_ stopNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; |
| 116 ExpectNetworkActivity(0U, 0U); |
| 117 } |
| 118 |
| 119 TEST_F(CRWNetworkActivityIndicatorManagerTest, ClearNetworkTasksForGroup) { |
| 120 ExpectNetworkActivity(0U, 0U); |
| 121 [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 122 ExpectNetworkActivity(2U, 0U); |
| 123 [manager_ clearNetworkTasksForGroup:kNetworkActivityKeyOne]; |
| 124 ExpectNetworkActivity(0U, 0U); |
| 125 } |
| 126 |
| 127 TEST_F(CRWNetworkActivityIndicatorManagerTest, |
| 128 ClearNetworkTasksForUnusedGroup) { |
| 129 ExpectNetworkActivity(0U, 0U); |
| 130 [manager_ clearNetworkTasksForGroup:kNetworkActivityKeyOne]; |
| 131 ExpectNetworkActivity(0U, 0U); |
| 132 } |
| 133 |
| 134 TEST_F(CRWNetworkActivityIndicatorManagerTest, StartStopNetworkTasksInChunks) { |
| 135 ExpectNetworkActivity(0U, 0U); |
| 136 [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne]; |
| 137 ExpectNetworkActivity(2U, 0U); |
| 138 [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo]; |
| 139 ExpectNetworkActivity(2U, 3U); |
| 140 [manager_ startNetworkTasks:7U forGroup:kNetworkActivityKeyOne]; |
| 141 ExpectNetworkActivity(9U, 3U); |
| 142 [manager_ startNetworkTaskForGroup:kNetworkActivityKeyTwo]; |
| 143 ExpectNetworkActivity(9U, 4U); |
| 144 [manager_ stopNetworkTasks:4U forGroup:kNetworkActivityKeyOne]; |
| 145 ExpectNetworkActivity(5U, 4U); |
| 146 [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyTwo]; |
| 147 ExpectNetworkActivity(5U, 2U); |
| 148 [manager_ stopNetworkTasks:5U forGroup:kNetworkActivityKeyOne]; |
| 149 ExpectNetworkActivity(0U, 2U); |
| 150 [manager_ clearNetworkTasksForGroup:kNetworkActivityKeyTwo]; |
| 151 ExpectNetworkActivity(0U, 0U); |
| 152 } |
| 153 |
| 154 } // namespace |
| OLD | NEW |