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

Side by Side Diff: chrome/browser/extensions/api/alarms/alarms_api_unittest.cc

Issue 23205008: Fix a bug where the minimum granular time for Alarms was not calculated properly. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 4 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This file tests the chrome.alarms extension API. 5 // This file tests the chrome.alarms extension API.
6 6
7 #include "base/test/simple_test_clock.h" 7 #include "base/test/simple_test_clock.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" 9 #include "chrome/browser/extensions/api/alarms/alarm_manager.h"
10 #include "chrome/browser/extensions/api/alarms/alarms_api.h" 10 #include "chrome/browser/extensions/api/alarms/alarms_api.h"
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 extensions::Manifest::INTERNAL); 568 extensions::Manifest::INTERNAL);
569 test_clock_->SetNow(base::Time::FromJsTime(300000)); 569 test_clock_->SetNow(base::Time::FromJsTime(300000));
570 CreateAlarm("[\"a\", {\"when\": 300010}]"); 570 CreateAlarm("[\"a\", {\"when\": 300010}]");
571 CreateAlarm("[\"b\", {\"when\": 340000}]"); 571 CreateAlarm("[\"b\", {\"when\": 340000}]");
572 572
573 // On startup (when there's no "last poll"), we let alarms fire as 573 // On startup (when there's no "last poll"), we let alarms fire as
574 // soon as they're scheduled. 574 // soon as they're scheduled.
575 EXPECT_DOUBLE_EQ(300010, alarm_manager_->test_next_poll_time_.ToJsTime()); 575 EXPECT_DOUBLE_EQ(300010, alarm_manager_->test_next_poll_time_.ToJsTime());
576 576
577 alarm_manager_->last_poll_time_ = base::Time::FromJsTime(290000); 577 alarm_manager_->last_poll_time_ = base::Time::FromJsTime(290000);
578 // In released extensions, we set the granularity to at least 5 578 // In released extensions, we set the granularity to at least 1
579 // minutes, which makes AddAlarm schedule the next poll after the 579 // minute, which makes AddAlarm schedule the next poll after the
580 // extension requested. 580 // extension requested.
581 alarm_manager_->ScheduleNextPoll(); 581 alarm_manager_->ScheduleNextPoll();
582 EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ + 582 EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ +
583 base::TimeDelta::FromMinutes(1)).ToJsTime(), 583 base::TimeDelta::FromMinutes(1)).ToJsTime(),
584 alarm_manager_->test_next_poll_time_.ToJsTime()); 584 alarm_manager_->test_next_poll_time_.ToJsTime());
585 } 585 }
586 586
587 TEST_F(ExtensionAlarmsSchedulingTest, TimerRunning) { 587 TEST_F(ExtensionAlarmsSchedulingTest, TimerRunning) {
588 EXPECT_FALSE(alarm_manager_->timer_.IsRunning()); 588 EXPECT_FALSE(alarm_manager_->timer_.IsRunning());
589 CreateAlarm("[\"a\", {\"delayInMinutes\": 0.001}]"); 589 CreateAlarm("[\"a\", {\"delayInMinutes\": 0.001}]");
590 EXPECT_TRUE(alarm_manager_->timer_.IsRunning()); 590 EXPECT_TRUE(alarm_manager_->timer_.IsRunning());
591 test_clock_->Advance(base::TimeDelta::FromMilliseconds(60)); 591 test_clock_->Advance(base::TimeDelta::FromMilliseconds(60));
592 base::MessageLoop::current()->Run(); 592 base::MessageLoop::current()->Run();
593 EXPECT_FALSE(alarm_manager_->timer_.IsRunning()); 593 EXPECT_FALSE(alarm_manager_->timer_.IsRunning());
594 CreateAlarm("[\"bb\", {\"delayInMinutes\": 10}]"); 594 CreateAlarm("[\"bb\", {\"delayInMinutes\": 10}]");
595 EXPECT_TRUE(alarm_manager_->timer_.IsRunning()); 595 EXPECT_TRUE(alarm_manager_->timer_.IsRunning());
596 RemoveAllAlarms(); 596 RemoveAllAlarms();
597 EXPECT_FALSE(alarm_manager_->timer_.IsRunning()); 597 EXPECT_FALSE(alarm_manager_->timer_.IsRunning());
598 } 598 }
599 599
600 } // namespace extensions 600 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698