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

Side by Side Diff: chrome/browser/background_page_tracker_unittest.cc

Issue 6478005: GTTF: Use a fresh TestingBrowserProcess for each test, part #1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: make more tests use the new base class Created 9 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/background_mode_manager_unittest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/background_page_tracker.h" 8 #include "chrome/browser/background_page_tracker.h"
9 #include "chrome/common/notification_service.h" 9 #include "chrome/common/notification_service.h"
10 #include "chrome/common/notification_type.h" 10 #include "chrome/common/notification_type.h"
11 #include "chrome/test/testing_browser_process.h"
12 #include "chrome/test/testing_browser_process_test.h"
11 #include "chrome/test/testing_pref_service.h" 13 #include "chrome/test/testing_pref_service.h"
12 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
13 #include "testing/platform_test.h" 15 #include "testing/platform_test.h"
14 16
15 class MockBackgroundPageTracker : public BackgroundPageTracker { 17 class MockBackgroundPageTracker : public BackgroundPageTracker {
16 public: 18 public:
17 MockBackgroundPageTracker() { 19 MockBackgroundPageTracker() {
18 BackgroundPageTracker::RegisterPrefs(&prefs_); 20 BackgroundPageTracker::RegisterPrefs(&prefs_);
19 } 21 }
20 ~MockBackgroundPageTracker() {} 22 ~MockBackgroundPageTracker() {}
21 // Overridden from BackgroundPageTracker to mock out functionality. 23 // Overridden from BackgroundPageTracker to mock out functionality.
22 virtual bool IsEnabled() { return true; } 24 virtual bool IsEnabled() { return true; }
23 virtual PrefService* GetPrefService() { return &prefs_; } 25 virtual PrefService* GetPrefService() { return &prefs_; }
24 private: 26 private:
25 TestingPrefService prefs_; 27 TestingPrefService prefs_;
26 }; 28 };
27 29
28 TEST(BackgroundPageTrackerTest, Create) { 30 class BackgroundPageTrackerTest : public TestingBrowserProcessTest {
31 };
32
33 TEST_F(BackgroundPageTrackerTest, Create) {
29 MockBackgroundPageTracker tracker; 34 MockBackgroundPageTracker tracker;
30 EXPECT_EQ(0, tracker.GetBackgroundPageCount()); 35 EXPECT_EQ(0, tracker.GetBackgroundPageCount());
31 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount()); 36 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount());
32 } 37 }
33 38
34 TEST(BackgroundPageTrackerTest, OnBackgroundPageLoaded) { 39 TEST_F(BackgroundPageTrackerTest, OnBackgroundPageLoaded) {
35 MockBackgroundPageTracker tracker; 40 MockBackgroundPageTracker tracker;
36 EXPECT_EQ(0, tracker.GetBackgroundPageCount()); 41 EXPECT_EQ(0, tracker.GetBackgroundPageCount());
37 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount()); 42 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount());
38 std::string app1 = "app_id_1"; 43 std::string app1 = "app_id_1";
39 std::string app2 = "app_id_2"; 44 std::string app2 = "app_id_2";
40 tracker.OnBackgroundPageLoaded(app1); 45 tracker.OnBackgroundPageLoaded(app1);
41 EXPECT_EQ(1, tracker.GetBackgroundPageCount()); 46 EXPECT_EQ(1, tracker.GetBackgroundPageCount());
42 EXPECT_EQ(1, tracker.GetUnacknowledgedBackgroundPageCount()); 47 EXPECT_EQ(1, tracker.GetUnacknowledgedBackgroundPageCount());
43 tracker.OnBackgroundPageLoaded(app1); 48 tracker.OnBackgroundPageLoaded(app1);
44 EXPECT_EQ(1, tracker.GetBackgroundPageCount()); 49 EXPECT_EQ(1, tracker.GetBackgroundPageCount());
45 EXPECT_EQ(1, tracker.GetUnacknowledgedBackgroundPageCount()); 50 EXPECT_EQ(1, tracker.GetUnacknowledgedBackgroundPageCount());
46 tracker.OnBackgroundPageLoaded(app2); 51 tracker.OnBackgroundPageLoaded(app2);
47 EXPECT_EQ(2, tracker.GetBackgroundPageCount()); 52 EXPECT_EQ(2, tracker.GetBackgroundPageCount());
48 EXPECT_EQ(2, tracker.GetUnacknowledgedBackgroundPageCount()); 53 EXPECT_EQ(2, tracker.GetUnacknowledgedBackgroundPageCount());
49 54
50 tracker.OnExtensionUnloaded(app1); 55 tracker.OnExtensionUnloaded(app1);
51 EXPECT_EQ(1, tracker.GetBackgroundPageCount()); 56 EXPECT_EQ(1, tracker.GetBackgroundPageCount());
52 EXPECT_EQ(1, tracker.GetUnacknowledgedBackgroundPageCount()); 57 EXPECT_EQ(1, tracker.GetUnacknowledgedBackgroundPageCount());
53 58
54 tracker.OnExtensionUnloaded(app2); 59 tracker.OnExtensionUnloaded(app2);
55 EXPECT_EQ(0, tracker.GetBackgroundPageCount()); 60 EXPECT_EQ(0, tracker.GetBackgroundPageCount());
56 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount()); 61 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount());
57 } 62 }
58 63
59 TEST(BackgroundPageTrackerTest, AcknowledgeBackgroundPages) { 64 TEST_F(BackgroundPageTrackerTest, AcknowledgeBackgroundPages) {
60 MockBackgroundPageTracker tracker; 65 MockBackgroundPageTracker tracker;
61 EXPECT_EQ(0, tracker.GetBackgroundPageCount()); 66 EXPECT_EQ(0, tracker.GetBackgroundPageCount());
62 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount()); 67 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount());
63 std::string app1 = "app_id_1"; 68 std::string app1 = "app_id_1";
64 tracker.OnBackgroundPageLoaded(app1); 69 tracker.OnBackgroundPageLoaded(app1);
65 EXPECT_EQ(1, tracker.GetBackgroundPageCount()); 70 EXPECT_EQ(1, tracker.GetBackgroundPageCount());
66 EXPECT_EQ(1, tracker.GetUnacknowledgedBackgroundPageCount()); 71 EXPECT_EQ(1, tracker.GetUnacknowledgedBackgroundPageCount());
67 tracker.AcknowledgeBackgroundPages(); 72 tracker.AcknowledgeBackgroundPages();
68 EXPECT_EQ(1, tracker.GetBackgroundPageCount()); 73 EXPECT_EQ(1, tracker.GetBackgroundPageCount());
69 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount()); 74 EXPECT_EQ(0, tracker.GetUnacknowledgedBackgroundPageCount());
(...skipping 18 matching lines...) Expand all
88 const NotificationDetails& details) { 93 const NotificationDetails& details) {
89 EXPECT_EQ(type.value, 94 EXPECT_EQ(type.value,
90 NotificationType::BACKGROUND_PAGE_TRACKER_CHANGED); 95 NotificationType::BACKGROUND_PAGE_TRACKER_CHANGED);
91 count_++; 96 count_++;
92 } 97 }
93 private: 98 private:
94 int count_; 99 int count_;
95 NotificationRegistrar registrar_; 100 NotificationRegistrar registrar_;
96 }; 101 };
97 102
98 TEST(BackgroundPageTrackerTest, TestTrackerChangedNotifications) { 103 TEST_F(BackgroundPageTrackerTest, TestTrackerChangedNotifications) {
99 MockBackgroundPageTracker tracker; 104 MockBackgroundPageTracker tracker;
100 BadgeChangedNotificationCounter counter; 105 BadgeChangedNotificationCounter counter;
101 std::string app1 = "app_id_1"; 106 std::string app1 = "app_id_1";
102 std::string app2 = "app_id_2"; 107 std::string app2 = "app_id_2";
103 std::string app3 = "app_id_3"; 108 std::string app3 = "app_id_3";
104 // New extension should generate notification 109 // New extension should generate notification
105 tracker.OnBackgroundPageLoaded(app1); 110 tracker.OnBackgroundPageLoaded(app1);
106 EXPECT_EQ(1, counter.count()); 111 EXPECT_EQ(1, counter.count());
107 // Same extension should not generate notification 112 // Same extension should not generate notification
108 tracker.OnBackgroundPageLoaded(app1); 113 tracker.OnBackgroundPageLoaded(app1);
109 EXPECT_EQ(1, counter.count()); 114 EXPECT_EQ(1, counter.count());
110 // New extension should generate notification 115 // New extension should generate notification
111 tracker.OnBackgroundPageLoaded(app2); 116 tracker.OnBackgroundPageLoaded(app2);
112 EXPECT_EQ(2, counter.count()); 117 EXPECT_EQ(2, counter.count());
113 // Acknowledging pages should generate notification. 118 // Acknowledging pages should generate notification.
114 tracker.AcknowledgeBackgroundPages(); 119 tracker.AcknowledgeBackgroundPages();
115 EXPECT_EQ(3, counter.count()); 120 EXPECT_EQ(3, counter.count());
116 tracker.OnBackgroundPageLoaded(app1); 121 tracker.OnBackgroundPageLoaded(app1);
117 EXPECT_EQ(3, counter.count()); 122 EXPECT_EQ(3, counter.count());
118 tracker.OnBackgroundPageLoaded(app3); 123 tracker.OnBackgroundPageLoaded(app3);
119 EXPECT_EQ(4, counter.count()); 124 EXPECT_EQ(4, counter.count());
120 } 125 }
OLDNEW
« no previous file with comments | « chrome/browser/background_mode_manager_unittest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698