Index: chrome/browser/extensions/api/alarms/alarms_api_unittest.cc |
diff --git a/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc b/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc |
index d7124a1411d5521ddb0773635631f3f0139ba015..eda0808efede415d8ca0f428129023f177ce112d 100644 |
--- a/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc |
+++ b/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc |
@@ -47,7 +47,7 @@ class ExtensionAlarmsTest : public BrowserWithTestWindowTest { |
alarm_delegate_ = new AlarmDelegate(); |
alarm_manager_->set_delegate(alarm_delegate_); |
- extension_ = utils::CreateEmptyExtension(); |
+ extension_ = utils::CreateEmptyExtensionWithLocation(Extension::LOAD); |
} |
base::Value* RunFunctionWithExtension( |
@@ -101,9 +101,9 @@ class ExtensionAlarmsTest : public BrowserWithTestWindowTest { |
CHECK(num_alarms <= 3); |
const char* kCreateArgs[] = { |
- "[null, {\"delayInSeconds\": 1, \"repeating\": true}]", |
- "[\"7\", {\"delayInSeconds\": 7, \"repeating\": true}]", |
- "[\"0\", {\"delayInSeconds\": 0}]" |
+ "[null, {\"delayInMinutes\": 0.001, \"repeating\": true}]", |
+ "[\"7\", {\"delayInMinutes\": 7, \"repeating\": true}]", |
+ "[\"0\", {\"delayInMinutes\": 0}]" |
}; |
for (size_t i = 0; i < num_alarms; ++i) { |
scoped_ptr<base::DictionaryValue> result(RunFunctionAndReturnDict( |
@@ -122,13 +122,13 @@ class ExtensionAlarmsTest : public BrowserWithTestWindowTest { |
TEST_F(ExtensionAlarmsTest, Create) { |
// Create 1 non-repeating alarm. |
- RunFunction(new AlarmsCreateFunction(), "[null, {\"delayInSeconds\": 0}]"); |
+ RunFunction(new AlarmsCreateFunction(), "[null, {\"delayInMinutes\": 0}]"); |
const AlarmManager::Alarm* alarm = |
alarm_manager_->GetAlarm(extension_->id(), ""); |
ASSERT_TRUE(alarm); |
EXPECT_EQ("", alarm->name); |
- EXPECT_EQ(0, alarm->delay_in_seconds); |
+ EXPECT_EQ(0, alarm->delay_in_minutes); |
EXPECT_FALSE(alarm->repeating); |
// Now wait for the alarm to fire. Our test delegate will quit the |
@@ -148,16 +148,14 @@ TEST_F(ExtensionAlarmsTest, Create) { |
TEST_F(ExtensionAlarmsTest, CreateRepeating) { |
// Create 1 repeating alarm. |
- // TODO(mpcmoplete): Use a shorter delay if we switch to allow fractions. |
- // A repeating timer with a 0-second delay fires infinitely. |
RunFunction(new AlarmsCreateFunction(), |
- "[null, {\"delayInSeconds\": 1, \"repeating\": true}]"); |
+ "[null, {\"delayInMinutes\": 0.001, \"repeating\": true}]"); |
const AlarmManager::Alarm* alarm = |
alarm_manager_->GetAlarm(extension_->id(), ""); |
ASSERT_TRUE(alarm); |
EXPECT_EQ("", alarm->name); |
- EXPECT_EQ(1, alarm->delay_in_seconds); |
+ EXPECT_EQ(0.001, alarm->delay_in_minutes); |
EXPECT_TRUE(alarm->repeating); |
// Now wait for the alarm to fire. Our test delegate will quit the |
@@ -173,18 +171,25 @@ TEST_F(ExtensionAlarmsTest, CreateRepeating) { |
TEST_F(ExtensionAlarmsTest, CreateDupe) { |
// Create 2 duplicate alarms. The first should be overridden. |
- RunFunction(new AlarmsCreateFunction(), "[\"dup\", {\"delayInSeconds\": 1}]"); |
- RunFunction(new AlarmsCreateFunction(), "[\"dup\", {\"delayInSeconds\": 7}]"); |
+ RunFunction(new AlarmsCreateFunction(), "[\"dup\", {\"delayInMinutes\": 1}]"); |
+ RunFunction(new AlarmsCreateFunction(), "[\"dup\", {\"delayInMinutes\": 7}]"); |
{ |
const AlarmManager::AlarmList* alarms = |
alarm_manager_->GetAllAlarms(extension_->id()); |
ASSERT_TRUE(alarms); |
EXPECT_EQ(1u, alarms->size()); |
- EXPECT_EQ(7, (*alarms)[0]->delay_in_seconds); |
+ EXPECT_EQ(7, (*alarms)[0]->delay_in_minutes); |
} |
} |
+TEST_F(ExtensionAlarmsTest, CreateDelayBelowMinimum) { |
+ // Create an alarm with delay below the minimum accepted value. |
+ std::string error = RunFunctionAndReturnError(new AlarmsCreateFunction(), |
+ "[\"negative\", {\"delayInMinutes\": -0.2}]"); |
+ EXPECT_FALSE(error.empty()); |
+} |
+ |
TEST_F(ExtensionAlarmsTest, Get) { |
// Create 2 alarms, and make sure we can query them. |
CreateAlarms(2); |
@@ -197,7 +202,7 @@ TEST_F(ExtensionAlarmsTest, Get) { |
ASSERT_TRUE(result.get()); |
EXPECT_TRUE(AlarmManager::Alarm::Populate(*result, &alarm)); |
EXPECT_EQ("", alarm.name); |
- EXPECT_EQ(1, alarm.delay_in_seconds); |
+ EXPECT_EQ(0.001, alarm.delay_in_minutes); |
EXPECT_TRUE(alarm.repeating); |
} |
@@ -209,7 +214,7 @@ TEST_F(ExtensionAlarmsTest, Get) { |
ASSERT_TRUE(result.get()); |
EXPECT_TRUE(AlarmManager::Alarm::Populate(*result, &alarm)); |
EXPECT_EQ("7", alarm.name); |
- EXPECT_EQ(7, alarm.delay_in_seconds); |
+ EXPECT_EQ(7, alarm.delay_in_minutes); |
EXPECT_TRUE(alarm.repeating); |
} |
@@ -244,7 +249,7 @@ TEST_F(ExtensionAlarmsTest, GetAll) { |
if (alarm->name != "7") |
alarm = alarms[1].get(); |
EXPECT_EQ("7", alarm->name); |
- EXPECT_EQ(7, alarm->delay_in_seconds); |
+ EXPECT_EQ(7, alarm->delay_in_minutes); |
EXPECT_TRUE(alarm->repeating); |
} |
} |
@@ -260,7 +265,7 @@ TEST_F(ExtensionAlarmsTest, Clear) { |
// Create 3 alarms. |
CreateAlarms(3); |
- // Clear all but the 1-second one. |
+ // Clear all but the 0.001-minute alarm. |
{ |
RunFunction(new AlarmsClearFunction(), "[\"7\"]"); |
RunFunction(new AlarmsClearFunction(), "[\"0\"]"); |
@@ -269,7 +274,7 @@ TEST_F(ExtensionAlarmsTest, Clear) { |
alarm_manager_->GetAllAlarms(extension_->id()); |
ASSERT_TRUE(alarms); |
EXPECT_EQ(1u, alarms->size()); |
- EXPECT_EQ(1, (*alarms)[0]->delay_in_seconds); |
+ EXPECT_EQ(0.001, (*alarms)[0]->delay_in_minutes); |
} |
// Now wait for the alarms to fire, and ensure the cancelled alarms don't |
@@ -279,13 +284,13 @@ TEST_F(ExtensionAlarmsTest, Clear) { |
ASSERT_EQ(1u, alarm_delegate_->alarms_seen.size()); |
EXPECT_EQ("", alarm_delegate_->alarms_seen[0]); |
- // Ensure the 1-second alarm is still there, since its repeating. |
+ // Ensure the 0.001-minute alarm is still there, since it's repeating. |
{ |
const AlarmManager::AlarmList* alarms = |
alarm_manager_->GetAllAlarms(extension_->id()); |
ASSERT_TRUE(alarms); |
EXPECT_EQ(1u, alarms->size()); |
- EXPECT_EQ(1, (*alarms)[0]->delay_in_seconds); |
+ EXPECT_EQ(0.001, (*alarms)[0]->delay_in_minutes); |
} |
} |