Index: chrome/browser/budget_service/budget_manager_unittest.cc |
diff --git a/chrome/browser/budget_service/budget_manager_unittest.cc b/chrome/browser/budget_service/budget_manager_unittest.cc |
index 27f17ac53053f58a09a0646dc4082c5269d49660..83659c34fbfd472183fbc8b80298f3c5e877cf3b 100644 |
--- a/chrome/browser/budget_service/budget_manager_unittest.cc |
+++ b/chrome/browser/budget_service/budget_manager_unittest.cc |
@@ -76,8 +76,25 @@ class BudgetManagerTest : public testing::Test { |
run_loop.Run(); |
} |
- // Budget for callbacks to set. |
+ void StatusCallback(base::Closure run_loop_closure, bool success) { |
+ success_ = success; |
+ run_loop_closure.Run(); |
+ } |
+ |
+ bool ReserveBudget(blink::mojom::BudgetOperationType type) { |
+ const GURL origin(kTestOrigin); |
+ base::RunLoop run_loop; |
+ GetManager()->Reserve( |
+ origin, type, |
+ base::Bind(&BudgetManagerTest::StatusCallback, base::Unretained(this), |
+ run_loop.QuitClosure())); |
+ run_loop.Run(); |
+ return success_; |
+ } |
+ |
+ // Members for callbacks to set. |
double budget_; |
+ bool success_; |
private: |
content::TestBrowserThreadBundle thread_bundle_; |
@@ -247,3 +264,8 @@ TEST_F(BudgetManagerTest, GetBudgetNegativeTime) { |
clock->SetNow(starting_time - base::TimeDelta::FromDays(1)); |
EXPECT_NEAR(original_budget, GetBudget(), 0.01); |
} |
+ |
+TEST_F(BudgetManagerTest, ReserveBudgetTest) { |
+ // Reserve without any budget allocated should fail. |
+ ASSERT_FALSE(ReserveBudget(blink::mojom::BudgetOperationType::SILENT_PUSH)); |
+} |