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

Side by Side Diff: chrome/browser/push_messaging/background_budget_service_unittest.cc

Issue 2020263002: Added code to make sure that the budget service does sane things if the clock rolls backwards. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review comments integrated Created 4 years, 6 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
« no previous file with comments | « chrome/browser/push_messaging/background_budget_service.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include <stdint.h> 5 #include <stdint.h>
6 #include <string> 6 #include <string>
7 7
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/test/simple_test_clock.h" 9 #include "base/test/simple_test_clock.h"
10 #include "chrome/browser/engagement/site_engagement_service.h" 10 #include "chrome/browser/engagement/site_engagement_service.h"
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 DictionaryPrefUpdate update(profile()->GetPrefs(), 207 DictionaryPrefUpdate update(profile()->GetPrefs(),
208 prefs::kBackgroundBudgetMap); 208 prefs::kBackgroundBudgetMap);
209 base::DictionaryValue* update_map = update.Get(); 209 base::DictionaryValue* update_map = update.Get();
210 update_map->SetStringWithoutPathExpansion(origin.spec(), "20#2.0"); 210 update_map->SetStringWithoutPathExpansion(origin.spec(), "20#2.0");
211 211
212 // Get the budget, expect that it will return SES. 212 // Get the budget, expect that it will return SES.
213 double budget = GetService()->GetBudget(origin); 213 double budget = GetService()->GetBudget(origin);
214 214
215 EXPECT_DOUBLE_EQ(budget, kTestSES); 215 EXPECT_DOUBLE_EQ(budget, kTestSES);
216 } 216 }
217
218 TEST_F(BackgroundBudgetServiceTest, GetBudgetNegativeTime) {
219 // Manually construct a BackgroundBudgetService with a clock that the test
220 // can control so that we can fast forward in time.
221 BackgroundBudgetService* service = GetService();
222 base::SimpleTestClock* clock = SetClockForTesting();
223 base::Time starting_time = clock->Now();
224
225 // Set initial SES and budget values.
226 const GURL origin(kTestOrigin);
227 SetSiteEngagementScore(origin, kTestSES);
228 service->StoreBudget(origin, kTestBudget);
229
230 // Move time forward an hour and get the budget.
231 clock->SetNow(starting_time + base::TimeDelta::FromHours(1));
232 double budget = service->GetBudget(origin);
233 service->StoreBudget(origin, budget);
234 EXPECT_NE(kTestBudget, budget);
235
236 // Now move time backwards a day and make sure that the current
237 // budget matches the budget of the most foward time.
238 clock->SetNow(starting_time - base::TimeDelta::FromDays(1));
239 double back_budget = service->GetBudget(origin);
240 EXPECT_NEAR(budget, back_budget, 0.01);
241 }
OLDNEW
« no previous file with comments | « chrome/browser/push_messaging/background_budget_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698