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

Unified Diff: chrome/browser/extensions/api/alarms/alarms_api_unittest.cc

Issue 10217018: Alarm resolution changed to minutes and minimum delay added. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Made ValidateDelayTime global and used GetExtension instead. Created 8 years, 8 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 side-by-side diff with in-line comments
Download patch
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);
}
}

Powered by Google App Engine
This is Rietveld 408576698