Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(433)

Unified Diff: ios/web/crw_network_activity_indicator_manager_unittest.mm

Issue 988383002: Upstream various ios/web utilities and helpers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@web-public-upstreaming
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698