| Index: ios/web/crw_network_activity_indicator_manager_unittest.mm
|
| diff --git a/ios/web/crw_network_activity_indicator_manager_unittest.mm b/ios/web/crw_network_activity_indicator_manager_unittest.mm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..081bd606d6a220da5982955f856d8cce412fe83c
|
| --- /dev/null
|
| +++ b/ios/web/crw_network_activity_indicator_manager_unittest.mm
|
| @@ -0,0 +1,154 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#import "ios/web/crw_network_activity_indicator_manager.h"
|
| +
|
| +#import <UIKit/UIKit.h>
|
| +
|
| +#include "base/mac/scoped_nsobject.h"
|
| +#include "testing/gtest_mac.h"
|
| +#include "testing/platform_test.h"
|
| +
|
| +namespace {
|
| +
|
| +NSString* const kNetworkActivityKeyOne =
|
| + @"CRWNetworkActivityIndicatorManagerTest.NetworkActivityIndicatorKeyOne";
|
| +NSString* const kNetworkActivityKeyTwo =
|
| + @"CRWNetworkActivityIndicatorManagerTest.NetworkActivityIndicatorKeyTwo";
|
| +
|
| +class CRWNetworkActivityIndicatorManagerTest : public PlatformTest {
|
| + public:
|
| + CRWNetworkActivityIndicatorManagerTest()
|
| + : manager_([[CRWNetworkActivityIndicatorManager alloc] init]) {}
|
| +
|
| + protected:
|
| + void ExpectNetworkActivity(NSUInteger groupOneCount,
|
| + NSUInteger groupTwoCount) {
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne],
|
| + groupOneCount);
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo],
|
| + groupTwoCount);
|
| + EXPECT_EQ([manager_ numTotalNetworkTasks], groupOneCount + groupTwoCount);
|
| + if (groupOneCount + groupTwoCount > 0U) {
|
| + EXPECT_TRUE(
|
| + [[UIApplication sharedApplication]
|
| + isNetworkActivityIndicatorVisible]);
|
| + } else {
|
| + EXPECT_FALSE(
|
| + [[UIApplication sharedApplication]
|
| + isNetworkActivityIndicatorVisible]);
|
| + }
|
| + }
|
| + base::scoped_nsobject<CRWNetworkActivityIndicatorManager> manager_;
|
| +};
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest, TestNumNetworkTasksForGroup) {
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 0U);
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U);
|
| + [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 2U);
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U);
|
| + [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo];
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 2U);
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 3U);
|
| + [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 0U);
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 3U);
|
| + [manager_ stopNetworkTasks:3U forGroup:kNetworkActivityKeyTwo];
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyOne], 0U);
|
| + EXPECT_EQ([manager_ numNetworkTasksForGroup:kNetworkActivityKeyTwo], 0U);
|
| +}
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest, TestNumTotalNetworkTasks) {
|
| + EXPECT_EQ([manager_ numTotalNetworkTasks], 0U);
|
| + [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + EXPECT_EQ([manager_ numTotalNetworkTasks], 2U);
|
| + [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo];
|
| + EXPECT_EQ([manager_ numTotalNetworkTasks], 5U);
|
| + [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + EXPECT_EQ([manager_ numTotalNetworkTasks], 3U);
|
| + [manager_ stopNetworkTasks:3U forGroup:kNetworkActivityKeyTwo];
|
| + EXPECT_EQ([manager_ numTotalNetworkTasks], 0U);
|
| +}
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest,
|
| + StartStopNetworkTaskForOneGroup) {
|
| + ExpectNetworkActivity(0U, 0U);
|
| + [manager_ startNetworkTaskForGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(1U, 0U);
|
| + [manager_ stopNetworkTaskForGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(0U, 0U);
|
| +}
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest,
|
| + StartStopNetworkTaskForTwoGroups) {
|
| + ExpectNetworkActivity(0U, 0U);
|
| + [manager_ startNetworkTaskForGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(1U, 0U);
|
| + [manager_ startNetworkTaskForGroup:kNetworkActivityKeyTwo];
|
| + ExpectNetworkActivity(1U, 1U);
|
| + [manager_ stopNetworkTaskForGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(0U, 1U);
|
| + [manager_ stopNetworkTaskForGroup:kNetworkActivityKeyTwo];
|
| + ExpectNetworkActivity(0U, 0U);
|
| +}
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest,
|
| + StartStopNetworkTasksForOneGroup) {
|
| + ExpectNetworkActivity(0U, 0U);
|
| + [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(2U, 0U);
|
| + [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(0U, 0U);
|
| +}
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest,
|
| + StartStopNetworkTasksForTwoGroups) {
|
| + ExpectNetworkActivity(0U, 0U);
|
| + [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(2U, 0U);
|
| + [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo];
|
| + ExpectNetworkActivity(2U, 3U);
|
| + [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(0U, 3U);
|
| + [manager_ stopNetworkTasks:3U forGroup:kNetworkActivityKeyTwo];
|
| + ExpectNetworkActivity(0U, 0U);
|
| +}
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest, ClearNetworkTasksForGroup) {
|
| + ExpectNetworkActivity(0U, 0U);
|
| + [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(2U, 0U);
|
| + [manager_ clearNetworkTasksForGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(0U, 0U);
|
| +}
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest,
|
| + ClearNetworkTasksForUnusedGroup) {
|
| + ExpectNetworkActivity(0U, 0U);
|
| + [manager_ clearNetworkTasksForGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(0U, 0U);
|
| +}
|
| +
|
| +TEST_F(CRWNetworkActivityIndicatorManagerTest, StartStopNetworkTasksInChunks) {
|
| + ExpectNetworkActivity(0U, 0U);
|
| + [manager_ startNetworkTasks:2U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(2U, 0U);
|
| + [manager_ startNetworkTasks:3U forGroup:kNetworkActivityKeyTwo];
|
| + ExpectNetworkActivity(2U, 3U);
|
| + [manager_ startNetworkTasks:7U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(9U, 3U);
|
| + [manager_ startNetworkTaskForGroup:kNetworkActivityKeyTwo];
|
| + ExpectNetworkActivity(9U, 4U);
|
| + [manager_ stopNetworkTasks:4U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(5U, 4U);
|
| + [manager_ stopNetworkTasks:2U forGroup:kNetworkActivityKeyTwo];
|
| + ExpectNetworkActivity(5U, 2U);
|
| + [manager_ stopNetworkTasks:5U forGroup:kNetworkActivityKeyOne];
|
| + ExpectNetworkActivity(0U, 2U);
|
| + [manager_ clearNetworkTasksForGroup:kNetworkActivityKeyTwo];
|
| + ExpectNetworkActivity(0U, 0U);
|
| +}
|
| +
|
| +} // namespace
|
|
|