| Index: extensions/browser/api/alarms/alarms_api_unittest.cc
|
| diff --git a/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc b/extensions/browser/api/alarms/alarms_api_unittest.cc
|
| similarity index 78%
|
| rename from chrome/browser/extensions/api/alarms/alarms_api_unittest.cc
|
| rename to extensions/browser/api/alarms/alarms_api_unittest.cc
|
| index 9a95fb99362b88f9d09af13d439564aa2406e30c..a28d6fb1358be5925ca5bddf8fc80658b1cd5ca1 100644
|
| --- a/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc
|
| +++ b/extensions/browser/api/alarms/alarms_api_unittest.cc
|
| @@ -6,25 +6,23 @@
|
|
|
| #include "base/test/simple_test_clock.h"
|
| #include "base/values.h"
|
| -#include "chrome/browser/extensions/api/alarms/alarm_manager.h"
|
| -#include "chrome/browser/extensions/api/alarms/alarms_api.h"
|
| -#include "chrome/browser/extensions/extension_api_unittest.h"
|
| -#include "chrome/browser/extensions/extension_function_test_utils.h"
|
| -#include "chrome/browser/profiles/profile_manager.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/test/mock_render_process_host.h"
|
| +#include "extensions/browser/api/alarms/alarm_manager.h"
|
| +#include "extensions/browser/api/alarms/alarms_api.h"
|
| +#include "extensions/browser/api_test_utils.h"
|
| +#include "extensions/browser/api_unittest.h"
|
| #include "extensions/common/extension_messages.h"
|
| #include "ipc/ipc_test_sink.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| -typedef extensions::api::alarms::Alarm JsAlarm;
|
| -
|
| -namespace utils = extension_function_test_utils;
|
| +typedef extensions::core_api::alarms::Alarm JsAlarm;
|
|
|
| namespace extensions {
|
|
|
| +namespace utils = api_test_utils;
|
| +
|
| namespace {
|
|
|
| // Test delegate which quits the message loop when an alarm fires.
|
| @@ -46,22 +44,22 @@ void RunScheduleNextPoll(AlarmManager* alarm_manager) {
|
| alarm_manager->ScheduleNextPoll();
|
| }
|
|
|
| -class ExtensionAlarmsTest : public ExtensionApiUnittest {
|
| +class ExtensionAlarmsTest : public ApiUnitTest {
|
| public:
|
| - using ExtensionApiUnittest::RunFunction;
|
| + using ApiUnitTest::RunFunction;
|
|
|
| void SetUp() override {
|
| - ExtensionApiUnittest::SetUp();
|
| + ApiUnitTest::SetUp();
|
|
|
| test_clock_ = new base::SimpleTestClock();
|
| - alarm_manager_ = AlarmManager::Get(browser()->profile());
|
| + alarm_manager_ = AlarmManager::Get(browser_context());
|
| alarm_manager_->SetClockForTesting(test_clock_);
|
|
|
| alarm_delegate_ = new AlarmDelegate();
|
| alarm_manager_->set_delegate(alarm_delegate_);
|
|
|
| // Make sure there's a RenderViewHost for alarms to warn into.
|
| - CreateBackgroundPage();
|
| + CreateWebContents();
|
|
|
| test_clock_->SetNow(base::Time::FromDoubleT(10));
|
| }
|
| @@ -72,8 +70,8 @@ class ExtensionAlarmsTest : public ExtensionApiUnittest {
|
|
|
| // Takes a JSON result from a function and converts it to a vector of
|
| // JsAlarms.
|
| - std::vector<linked_ptr<JsAlarm> > ToAlarmList(base::ListValue* value) {
|
| - std::vector<linked_ptr<JsAlarm> > list;
|
| + std::vector<linked_ptr<JsAlarm>> ToAlarmList(base::ListValue* value) {
|
| + std::vector<linked_ptr<JsAlarm>> list;
|
| for (size_t i = 0; i < value->GetSize(); ++i) {
|
| linked_ptr<JsAlarm> alarm(new JsAlarm);
|
| base::DictionaryValue* alarm_value;
|
| @@ -92,9 +90,9 @@ class ExtensionAlarmsTest : public ExtensionApiUnittest {
|
| CHECK_LE(num_alarms, 3U);
|
|
|
| const char* const kCreateArgs[] = {
|
| - "[null, {\"periodInMinutes\": 0.001}]",
|
| - "[\"7\", {\"periodInMinutes\": 7}]",
|
| - "[\"0\", {\"delayInMinutes\": 0}]",
|
| + "[null, {\"periodInMinutes\": 0.001}]",
|
| + "[\"7\", {\"periodInMinutes\": 7}]",
|
| + "[\"0\", {\"delayInMinutes\": 0}]",
|
| };
|
| for (size_t i = 0; i < num_alarms; ++i) {
|
| scoped_ptr<base::DictionaryValue> result(RunFunctionAndReturnDictionary(
|
| @@ -114,8 +112,8 @@ void ExtensionAlarmsTestGetAllAlarmsCallback(
|
| ASSERT_FALSE(alarms);
|
| }
|
|
|
| -void ExtensionAlarmsTestGetAlarmCallback(
|
| - ExtensionAlarmsTest* test, Alarm* alarm) {
|
| +void ExtensionAlarmsTestGetAlarmCallback(ExtensionAlarmsTest* test,
|
| + Alarm* alarm) {
|
| ASSERT_TRUE(alarm);
|
| EXPECT_EQ("", alarm->js_alarm->name);
|
| EXPECT_DOUBLE_EQ(10000, alarm->js_alarm->scheduled_time);
|
| @@ -129,8 +127,9 @@ void ExtensionAlarmsTestGetAlarmCallback(
|
| EXPECT_EQ("", test->alarm_delegate_->alarms_seen[0]);
|
|
|
| // Ensure the alarm is gone.
|
| - test->alarm_manager_->GetAllAlarms(test->extension()->id(), base::Bind(
|
| - ExtensionAlarmsTestGetAllAlarmsCallback));
|
| + test->alarm_manager_->GetAllAlarms(
|
| + test->extension()->id(),
|
| + base::Bind(ExtensionAlarmsTestGetAllAlarmsCallback));
|
| }
|
|
|
| TEST_F(ExtensionAlarmsTest, Create) {
|
| @@ -138,12 +137,14 @@ TEST_F(ExtensionAlarmsTest, Create) {
|
| // Create 1 non-repeating alarm.
|
| CreateAlarm("[null, {\"delayInMinutes\": 0}]");
|
|
|
| - alarm_manager_->GetAlarm(extension()->id(), std::string(), base::Bind(
|
| - ExtensionAlarmsTestGetAlarmCallback, this));
|
| + alarm_manager_->GetAlarm(
|
| + extension()->id(), std::string(),
|
| + base::Bind(ExtensionAlarmsTestGetAlarmCallback, this));
|
| }
|
|
|
| void ExtensionAlarmsTestCreateRepeatingGetAlarmCallback(
|
| - ExtensionAlarmsTest* test, Alarm* alarm) {
|
| + ExtensionAlarmsTest* test,
|
| + Alarm* alarm) {
|
| ASSERT_TRUE(alarm);
|
| EXPECT_EQ("", alarm->js_alarm->name);
|
| EXPECT_DOUBLE_EQ(10060, alarm->js_alarm->scheduled_time);
|
| @@ -170,12 +171,14 @@ TEST_F(ExtensionAlarmsTest, CreateRepeating) {
|
| // Create 1 repeating alarm.
|
| CreateAlarm("[null, {\"periodInMinutes\": 0.001}]");
|
|
|
| - alarm_manager_->GetAlarm(extension()->id(), std::string(), base::Bind(
|
| - ExtensionAlarmsTestCreateRepeatingGetAlarmCallback, this));
|
| + alarm_manager_->GetAlarm(
|
| + extension()->id(), std::string(),
|
| + base::Bind(ExtensionAlarmsTestCreateRepeatingGetAlarmCallback, this));
|
| }
|
|
|
| void ExtensionAlarmsTestCreateAbsoluteGetAlarm2Callback(
|
| - ExtensionAlarmsTest* test, Alarm* alarm) {
|
| + ExtensionAlarmsTest* test,
|
| + Alarm* alarm) {
|
| ASSERT_FALSE(alarm);
|
|
|
| ASSERT_EQ(1u, test->alarm_delegate_->alarms_seen.size());
|
| @@ -183,12 +186,12 @@ void ExtensionAlarmsTestCreateAbsoluteGetAlarm2Callback(
|
| }
|
|
|
| void ExtensionAlarmsTestCreateAbsoluteGetAlarm1Callback(
|
| - ExtensionAlarmsTest* test, Alarm* alarm) {
|
| + ExtensionAlarmsTest* test,
|
| + Alarm* alarm) {
|
| ASSERT_TRUE(alarm);
|
| EXPECT_EQ("", alarm->js_alarm->name);
|
| EXPECT_DOUBLE_EQ(10001, alarm->js_alarm->scheduled_time);
|
| - EXPECT_THAT(alarm->js_alarm->period_in_minutes,
|
| - testing::IsNull());
|
| + EXPECT_THAT(alarm->js_alarm->period_in_minutes, testing::IsNull());
|
|
|
| test->test_clock_->SetNow(base::Time::FromDoubleT(10.1));
|
| // Now wait for the alarm to fire. Our test delegate will quit the
|
| @@ -196,26 +199,29 @@ void ExtensionAlarmsTestCreateAbsoluteGetAlarm1Callback(
|
| base::MessageLoop::current()->Run();
|
|
|
| test->alarm_manager_->GetAlarm(
|
| - test->extension()->id(), std::string(), base::Bind(
|
| - ExtensionAlarmsTestCreateAbsoluteGetAlarm2Callback, test));
|
| + test->extension()->id(), std::string(),
|
| + base::Bind(ExtensionAlarmsTestCreateAbsoluteGetAlarm2Callback, test));
|
| }
|
|
|
| TEST_F(ExtensionAlarmsTest, CreateAbsolute) {
|
| test_clock_->SetNow(base::Time::FromDoubleT(9.99));
|
| CreateAlarm("[null, {\"when\": 10001}]");
|
|
|
| - alarm_manager_->GetAlarm(extension()->id(), std::string(), base::Bind(
|
| - ExtensionAlarmsTestCreateAbsoluteGetAlarm1Callback, this));
|
| + alarm_manager_->GetAlarm(
|
| + extension()->id(), std::string(),
|
| + base::Bind(ExtensionAlarmsTestCreateAbsoluteGetAlarm1Callback, this));
|
| }
|
|
|
| void ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm3Callback(
|
| - ExtensionAlarmsTest* test, Alarm* alarm) {
|
| + ExtensionAlarmsTest* test,
|
| + Alarm* alarm) {
|
| ASSERT_TRUE(alarm);
|
| EXPECT_THAT(test->alarm_delegate_->alarms_seen, testing::ElementsAre("", ""));
|
| }
|
|
|
| void ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm2Callback(
|
| - ExtensionAlarmsTest* test, Alarm* alarm) {
|
| + ExtensionAlarmsTest* test,
|
| + Alarm* alarm) {
|
| ASSERT_TRUE(alarm);
|
| EXPECT_THAT(test->alarm_delegate_->alarms_seen, testing::ElementsAre(""));
|
|
|
| @@ -223,13 +229,15 @@ void ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm2Callback(
|
| base::MessageLoop::current()->Run();
|
|
|
| test->alarm_manager_->GetAlarm(
|
| - test->extension()->id(), std::string(), base::Bind(
|
| + test->extension()->id(), std::string(),
|
| + base::Bind(
|
| ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm3Callback,
|
| test));
|
| }
|
|
|
| void ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm1Callback(
|
| - ExtensionAlarmsTest* test, Alarm* alarm) {
|
| + ExtensionAlarmsTest* test,
|
| + Alarm* alarm) {
|
| ASSERT_TRUE(alarm);
|
| EXPECT_EQ("", alarm->js_alarm->name);
|
| EXPECT_DOUBLE_EQ(10001, alarm->js_alarm->scheduled_time);
|
| @@ -242,7 +250,8 @@ void ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm1Callback(
|
| base::MessageLoop::current()->Run();
|
|
|
| test->alarm_manager_->GetAlarm(
|
| - test->extension()->id(), std::string(), base::Bind(
|
| + test->extension()->id(), std::string(),
|
| + base::Bind(
|
| ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm2Callback,
|
| test));
|
| }
|
| @@ -251,9 +260,11 @@ TEST_F(ExtensionAlarmsTest, CreateRepeatingWithQuickFirstCall) {
|
| test_clock_->SetNow(base::Time::FromDoubleT(9.99));
|
| CreateAlarm("[null, {\"when\": 10001, \"periodInMinutes\": 0.001}]");
|
|
|
| - alarm_manager_->GetAlarm(extension()->id(), std::string(), base::Bind(
|
| - ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm1Callback,
|
| - this));
|
| + alarm_manager_->GetAlarm(
|
| + extension()->id(), std::string(),
|
| + base::Bind(
|
| + ExtensionAlarmsTestCreateRepeatingWithQuickFirstCallGetAlarm1Callback,
|
| + this));
|
| }
|
|
|
| void ExtensionAlarmsTestCreateDupeGetAllAlarmsCallback(
|
| @@ -270,17 +281,19 @@ TEST_F(ExtensionAlarmsTest, CreateDupe) {
|
| CreateAlarm("[\"dup\", {\"delayInMinutes\": 1}]");
|
| CreateAlarm("[\"dup\", {\"delayInMinutes\": 7}]");
|
|
|
| - alarm_manager_->GetAllAlarms(extension()->id(), base::Bind(
|
| - ExtensionAlarmsTestCreateDupeGetAllAlarmsCallback));
|
| + alarm_manager_->GetAllAlarms(
|
| + extension()->id(),
|
| + base::Bind(ExtensionAlarmsTestCreateDupeGetAllAlarmsCallback));
|
| }
|
|
|
| TEST_F(ExtensionAlarmsTest, CreateDelayBelowMinimum) {
|
| // Create an alarm with delay below the minimum accepted value.
|
| CreateAlarm("[\"negative\", {\"delayInMinutes\": -0.2}]");
|
| - IPC::TestSink& sink = static_cast<content::MockRenderProcessHost*>(
|
| - contents()->GetRenderViewHost()->GetProcess())->sink();
|
| - const IPC::Message* warning = sink.GetUniqueMessageMatching(
|
| - ExtensionMsg_AddMessageToConsole::ID);
|
| + IPC::TestSink& sink =
|
| + static_cast<content::MockRenderProcessHost*>(
|
| + contents()->GetRenderViewHost()->GetProcess())->sink();
|
| + const IPC::Message* warning =
|
| + sink.GetUniqueMessageMatching(ExtensionMsg_AddMessageToConsole::ID);
|
| ASSERT_TRUE(warning);
|
| ExtensionMsg_AddMessageToConsole::Param params;
|
| ExtensionMsg_AddMessageToConsole::Read(warning, ¶ms);
|
| @@ -299,8 +312,8 @@ TEST_F(ExtensionAlarmsTest, Get) {
|
| // Get the default one.
|
| {
|
| JsAlarm alarm;
|
| - scoped_ptr<base::DictionaryValue> result(RunFunctionAndReturnDictionary(
|
| - new AlarmsGetFunction(), "[null]"));
|
| + scoped_ptr<base::DictionaryValue> result(
|
| + RunFunctionAndReturnDictionary(new AlarmsGetFunction(), "[null]"));
|
| ASSERT_TRUE(result.get());
|
| EXPECT_TRUE(JsAlarm::Populate(*result, &alarm));
|
| EXPECT_EQ("", alarm.name);
|
| @@ -312,8 +325,8 @@ TEST_F(ExtensionAlarmsTest, Get) {
|
| // Get "7".
|
| {
|
| JsAlarm alarm;
|
| - scoped_ptr<base::DictionaryValue> result(RunFunctionAndReturnDictionary(
|
| - new AlarmsGetFunction(), "[\"7\"]"));
|
| + scoped_ptr<base::DictionaryValue> result(
|
| + RunFunctionAndReturnDictionary(new AlarmsGetFunction(), "[\"7\"]"));
|
| ASSERT_TRUE(result.get());
|
| EXPECT_TRUE(JsAlarm::Populate(*result, &alarm));
|
| EXPECT_EQ("7", alarm.name);
|
| @@ -332,9 +345,9 @@ TEST_F(ExtensionAlarmsTest, Get) {
|
| TEST_F(ExtensionAlarmsTest, GetAll) {
|
| // Test getAll with 0 alarms.
|
| {
|
| - scoped_ptr<base::ListValue> result(RunFunctionAndReturnList(
|
| - new AlarmsGetAllFunction(), "[]"));
|
| - std::vector<linked_ptr<JsAlarm> > alarms = ToAlarmList(result.get());
|
| + scoped_ptr<base::ListValue> result(
|
| + RunFunctionAndReturnList(new AlarmsGetAllFunction(), "[]"));
|
| + std::vector<linked_ptr<JsAlarm>> alarms = ToAlarmList(result.get());
|
| EXPECT_EQ(0u, alarms.size());
|
| }
|
|
|
| @@ -342,9 +355,9 @@ TEST_F(ExtensionAlarmsTest, GetAll) {
|
| CreateAlarms(2);
|
|
|
| {
|
| - scoped_ptr<base::ListValue> result(RunFunctionAndReturnList(
|
| - new AlarmsGetAllFunction(), "[null]"));
|
| - std::vector<linked_ptr<JsAlarm> > alarms = ToAlarmList(result.get());
|
| + scoped_ptr<base::ListValue> result(
|
| + RunFunctionAndReturnList(new AlarmsGetAllFunction(), "[null]"));
|
| + std::vector<linked_ptr<JsAlarm>> alarms = ToAlarmList(result.get());
|
| EXPECT_EQ(2u, alarms.size());
|
|
|
| // Test the "7" alarm.
|
| @@ -366,7 +379,8 @@ void ExtensionAlarmsTestClearGetAllAlarms2Callback(
|
| }
|
|
|
| void ExtensionAlarmsTestClearGetAllAlarms1Callback(
|
| - ExtensionAlarmsTest* test, const AlarmManager::AlarmList* alarms) {
|
| + ExtensionAlarmsTest* test,
|
| + const AlarmManager::AlarmList* alarms) {
|
| ASSERT_TRUE(alarms);
|
| EXPECT_EQ(1u, alarms->size());
|
| EXPECT_THAT((*alarms)[0].js_alarm->period_in_minutes,
|
| @@ -382,8 +396,9 @@ void ExtensionAlarmsTestClearGetAllAlarms1Callback(
|
| EXPECT_EQ("", test->alarm_delegate_->alarms_seen[0]);
|
|
|
| // Ensure the 0.001-minute alarm is still there, since it's repeating.
|
| - test->alarm_manager_->GetAllAlarms(test->extension()->id(), base::Bind(
|
| - ExtensionAlarmsTestClearGetAllAlarms2Callback));
|
| + test->alarm_manager_->GetAllAlarms(
|
| + test->extension()->id(),
|
| + base::Bind(ExtensionAlarmsTestClearGetAllAlarms2Callback));
|
| }
|
|
|
| TEST_F(ExtensionAlarmsTest, Clear) {
|
| @@ -415,8 +430,9 @@ TEST_F(ExtensionAlarmsTest, Clear) {
|
| EXPECT_TRUE(copy_bool_result);
|
| }
|
|
|
| - alarm_manager_->GetAllAlarms(extension()->id(), base::Bind(
|
| - ExtensionAlarmsTestClearGetAllAlarms1Callback, this));
|
| + alarm_manager_->GetAllAlarms(
|
| + extension()->id(),
|
| + base::Bind(ExtensionAlarmsTestClearGetAllAlarms1Callback, this));
|
| }
|
|
|
| void ExtensionAlarmsTestClearAllGetAllAlarms2Callback(
|
| @@ -425,22 +441,23 @@ void ExtensionAlarmsTestClearAllGetAllAlarms2Callback(
|
| }
|
|
|
| void ExtensionAlarmsTestClearAllGetAllAlarms1Callback(
|
| - ExtensionAlarmsTest* test, const AlarmManager::AlarmList* alarms) {
|
| + ExtensionAlarmsTest* test,
|
| + const AlarmManager::AlarmList* alarms) {
|
| ASSERT_TRUE(alarms);
|
| EXPECT_EQ(3u, alarms->size());
|
|
|
| // Clear them.
|
| test->RunFunction(new AlarmsClearAllFunction(), "[]");
|
| test->alarm_manager_->GetAllAlarms(
|
| - test->extension()->id(), base::Bind(
|
| - ExtensionAlarmsTestClearAllGetAllAlarms2Callback));
|
| + test->extension()->id(),
|
| + base::Bind(ExtensionAlarmsTestClearAllGetAllAlarms2Callback));
|
| }
|
|
|
| TEST_F(ExtensionAlarmsTest, ClearAll) {
|
| // ClearAll with no alarms set.
|
| {
|
| - scoped_ptr<base::Value> result(RunFunctionAndReturnValue(
|
| - new AlarmsClearAllFunction(), "[]"));
|
| + scoped_ptr<base::Value> result(
|
| + RunFunctionAndReturnValue(new AlarmsClearAllFunction(), "[]"));
|
| bool copy_bool_result = false;
|
| ASSERT_TRUE(result->GetAsBoolean(©_bool_result));
|
| EXPECT_TRUE(copy_bool_result);
|
| @@ -448,8 +465,9 @@ TEST_F(ExtensionAlarmsTest, ClearAll) {
|
|
|
| // Create 3 alarms.
|
| CreateAlarms(3);
|
| - alarm_manager_->GetAllAlarms(extension()->id(), base::Bind(
|
| - ExtensionAlarmsTestClearAllGetAllAlarms1Callback, this));
|
| + alarm_manager_->GetAllAlarms(
|
| + extension()->id(),
|
| + base::Bind(ExtensionAlarmsTestClearAllGetAllAlarms1Callback, this));
|
| }
|
|
|
| class ExtensionAlarmsSchedulingTest : public ExtensionAlarmsTest {
|
| @@ -466,21 +484,22 @@ class ExtensionAlarmsSchedulingTest : public ExtensionAlarmsTest {
|
| public:
|
| // Get the time that the alarm named is scheduled to run.
|
| void VerifyScheduledTime(const std::string& alarm_name) {
|
| - alarm_manager_->GetAlarm(extension()->id(), alarm_name, base::Bind(
|
| - &ExtensionAlarmsSchedulingTest::GetAlarmCallback,
|
| - base::Unretained(this)));
|
| + alarm_manager_->GetAlarm(
|
| + extension()->id(), alarm_name,
|
| + base::Bind(&ExtensionAlarmsSchedulingTest::GetAlarmCallback,
|
| + base::Unretained(this)));
|
| }
|
|
|
| void RemoveAlarm(const std::string& name) {
|
| alarm_manager_->RemoveAlarm(
|
| - extension()->id(),
|
| - name,
|
| + extension()->id(), name,
|
| base::Bind(&ExtensionAlarmsSchedulingTest::RemoveAlarmCallback));
|
| }
|
|
|
| void RemoveAllAlarms() {
|
| - alarm_manager_->RemoveAllAlarms(extension()->id(), base::Bind(
|
| - &ExtensionAlarmsSchedulingTest::RemoveAllAlarmsCallback));
|
| + alarm_manager_->RemoveAllAlarms(
|
| + extension()->id(),
|
| + base::Bind(&ExtensionAlarmsSchedulingTest::RemoveAllAlarmsCallback));
|
| }
|
| };
|
|
|
| @@ -516,9 +535,9 @@ TEST_F(ExtensionAlarmsSchedulingTest, PollScheduling) {
|
| alarm.js_alarm->period_in_minutes.reset(new double(3));
|
| alarm_manager_->AddAlarmImpl(extension()->id(), alarm);
|
| base::MessageLoop::current()->Run();
|
| - EXPECT_EQ(base::Time::FromJsTime(3 * 60000) +
|
| - base::TimeDelta::FromMinutes(3),
|
| - alarm_manager_->next_poll_time_);
|
| + EXPECT_EQ(
|
| + base::Time::FromJsTime(3 * 60000) + base::TimeDelta::FromMinutes(3),
|
| + alarm_manager_->next_poll_time_);
|
| RemoveAllAlarms();
|
| }
|
| {
|
| @@ -536,16 +555,16 @@ TEST_F(ExtensionAlarmsSchedulingTest, PollScheduling) {
|
| alarm3.js_alarm->period_in_minutes.reset(new double(25));
|
| alarm_manager_->AddAlarmImpl(extension()->id(), alarm3);
|
| base::MessageLoop::current()->Run();
|
| - EXPECT_EQ(base::Time::FromJsTime(4 * 60000) +
|
| - base::TimeDelta::FromMinutes(4),
|
| - alarm_manager_->next_poll_time_);
|
| + EXPECT_EQ(
|
| + base::Time::FromJsTime(4 * 60000) + base::TimeDelta::FromMinutes(4),
|
| + alarm_manager_->next_poll_time_);
|
| RemoveAllAlarms();
|
| }
|
| }
|
|
|
| TEST_F(ExtensionAlarmsSchedulingTest, ReleasedExtensionPollsInfrequently) {
|
| - set_extension(utils::CreateEmptyExtensionWithLocation(
|
| - extensions::Manifest::INTERNAL));
|
| + set_extension(
|
| + utils::CreateEmptyExtensionWithLocation(extensions::Manifest::INTERNAL));
|
| test_clock_->SetNow(base::Time::FromJsTime(300000));
|
| CreateAlarm("[\"a\", {\"when\": 300010}]");
|
| CreateAlarm("[\"b\", {\"when\": 340000}]");
|
| @@ -561,7 +580,7 @@ TEST_F(ExtensionAlarmsSchedulingTest, ReleasedExtensionPollsInfrequently) {
|
| alarm_manager_->ScheduleNextPoll();
|
| EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ +
|
| base::TimeDelta::FromMinutes(1)).ToJsTime(),
|
| - alarm_manager_->next_poll_time_.ToJsTime());
|
| + alarm_manager_->next_poll_time_.ToJsTime());
|
| }
|
|
|
| TEST_F(ExtensionAlarmsSchedulingTest, TimerRunning) {
|
| @@ -578,8 +597,8 @@ TEST_F(ExtensionAlarmsSchedulingTest, TimerRunning) {
|
| }
|
|
|
| TEST_F(ExtensionAlarmsSchedulingTest, MinimumGranularity) {
|
| - set_extension(utils::CreateEmptyExtensionWithLocation(
|
| - extensions::Manifest::INTERNAL));
|
| + set_extension(
|
| + utils::CreateEmptyExtensionWithLocation(extensions::Manifest::INTERNAL));
|
| test_clock_->SetNow(base::Time::FromJsTime(0));
|
| CreateAlarm("[\"a\", {\"periodInMinutes\": 2}]");
|
| test_clock_->Advance(base::TimeDelta::FromSeconds(1));
|
| @@ -593,7 +612,7 @@ TEST_F(ExtensionAlarmsSchedulingTest, MinimumGranularity) {
|
| alarm_manager_->ScheduleNextPoll();
|
| EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ +
|
| base::TimeDelta::FromMinutes(1)).ToJsTime(),
|
| - alarm_manager_->next_poll_time_.ToJsTime());
|
| + alarm_manager_->next_poll_time_.ToJsTime());
|
| }
|
|
|
| TEST_F(ExtensionAlarmsSchedulingTest, DifferentMinimumGranularities) {
|
| @@ -618,7 +637,7 @@ TEST_F(ExtensionAlarmsSchedulingTest, DifferentMinimumGranularities) {
|
| // first alarm should go off.
|
| EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ +
|
| base::TimeDelta::FromSeconds(12)).ToJsTime(),
|
| - alarm_manager_->next_poll_time_.ToJsTime());
|
| + alarm_manager_->next_poll_time_.ToJsTime());
|
| }
|
|
|
| // Test that scheduled alarms go off at set intervals, even if their actual
|
| @@ -632,7 +651,7 @@ TEST_F(ExtensionAlarmsSchedulingTest, RepeatingAlarmsScheduledPredictably) {
|
|
|
| // We expect the first poll to happen two minutes from the start.
|
| EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ +
|
| - base::TimeDelta::FromSeconds(120)).ToJsTime(),
|
| + base::TimeDelta::FromSeconds(120)).ToJsTime(),
|
| alarm_manager_->next_poll_time_.ToJsTime());
|
|
|
| // Poll more than two minutes later.
|
| @@ -646,7 +665,7 @@ TEST_F(ExtensionAlarmsSchedulingTest, RepeatingAlarmsScheduledPredictably) {
|
| // even though this is less than two minutes since the last alarm.
|
| // Last poll was at 125 seconds; next poll should be at 240 seconds.
|
| EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ +
|
| - base::TimeDelta::FromSeconds(115)).ToJsTime(),
|
| + base::TimeDelta::FromSeconds(115)).ToJsTime(),
|
| alarm_manager_->next_poll_time_.ToJsTime());
|
|
|
| // Completely miss a scheduled trigger.
|
| @@ -660,7 +679,7 @@ TEST_F(ExtensionAlarmsSchedulingTest, RepeatingAlarmsScheduledPredictably) {
|
| // with the original scheduling.
|
| // Last poll was at 380 seconds; next poll should be at 480 seconds.
|
| EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ +
|
| - base::TimeDelta::FromSeconds(100)).ToJsTime(),
|
| + base::TimeDelta::FromSeconds(100)).ToJsTime(),
|
| alarm_manager_->next_poll_time_.ToJsTime());
|
| }
|
|
|
|
|