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

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

Issue 2294653002: Some linked_ptr -> unique_ptr conversion in extensions/browser. (Closed)
Patch Set: address comments Created 4 years, 3 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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 test_clock_->SetNow(base::Time::FromDoubleT(10)); 69 test_clock_->SetNow(base::Time::FromDoubleT(10));
70 } 70 }
71 71
72 void CreateAlarm(const std::string& args) { 72 void CreateAlarm(const std::string& args) {
73 RunFunction(new AlarmsCreateFunction(test_clock_), args); 73 RunFunction(new AlarmsCreateFunction(test_clock_), args);
74 } 74 }
75 75
76 // Takes a JSON result from a function and converts it to a vector of 76 // Takes a JSON result from a function and converts it to a vector of
77 // JsAlarms. 77 // JsAlarms.
78 std::vector<linked_ptr<JsAlarm>> ToAlarmList(base::ListValue* value) { 78 std::vector<std::unique_ptr<JsAlarm>> ToAlarmList(base::ListValue* value) {
79 std::vector<linked_ptr<JsAlarm>> list; 79 std::vector<std::unique_ptr<JsAlarm>> list;
80 for (size_t i = 0; i < value->GetSize(); ++i) { 80 for (size_t i = 0; i < value->GetSize(); ++i) {
81 linked_ptr<JsAlarm> alarm(new JsAlarm); 81 std::unique_ptr<JsAlarm> alarm(new JsAlarm());
82 base::DictionaryValue* alarm_value; 82 base::DictionaryValue* alarm_value;
83 if (!value->GetDictionary(i, &alarm_value)) { 83 if (!value->GetDictionary(i, &alarm_value)) {
84 ADD_FAILURE() << "Expected a list of Alarm objects."; 84 ADD_FAILURE() << "Expected a list of Alarm objects.";
85 return list; 85 return list;
86 } 86 }
87 EXPECT_TRUE(JsAlarm::Populate(*alarm_value, alarm.get())); 87 EXPECT_TRUE(JsAlarm::Populate(*alarm_value, alarm.get()));
88 list.push_back(alarm); 88 list.push_back(std::move(alarm));
89 } 89 }
90 return list; 90 return list;
91 } 91 }
92 92
93 // Creates up to 3 alarms using the extension API. 93 // Creates up to 3 alarms using the extension API.
94 void CreateAlarms(size_t num_alarms) { 94 void CreateAlarms(size_t num_alarms) {
95 CHECK_LE(num_alarms, 3U); 95 CHECK_LE(num_alarms, 3U);
96 96
97 const char* const kCreateArgs[] = { 97 const char* const kCreateArgs[] = {
98 "[null, {\"periodInMinutes\": 0.001}]", 98 "[null, {\"periodInMinutes\": 0.001}]",
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 "[\"nobody\"]")); 359 "[\"nobody\"]"));
360 ASSERT_FALSE(result.get()); 360 ASSERT_FALSE(result.get());
361 } 361 }
362 } 362 }
363 363
364 TEST_F(ExtensionAlarmsTest, GetAll) { 364 TEST_F(ExtensionAlarmsTest, GetAll) {
365 // Test getAll with 0 alarms. 365 // Test getAll with 0 alarms.
366 { 366 {
367 std::unique_ptr<base::ListValue> result( 367 std::unique_ptr<base::ListValue> result(
368 RunFunctionAndReturnList(new AlarmsGetAllFunction(), "[]")); 368 RunFunctionAndReturnList(new AlarmsGetAllFunction(), "[]"));
369 std::vector<linked_ptr<JsAlarm>> alarms = ToAlarmList(result.get()); 369 std::vector<std::unique_ptr<JsAlarm>> alarms = ToAlarmList(result.get());
370 EXPECT_EQ(0u, alarms.size()); 370 EXPECT_EQ(0u, alarms.size());
371 } 371 }
372 372
373 // Create 2 alarms, and make sure we can query them. 373 // Create 2 alarms, and make sure we can query them.
374 CreateAlarms(2); 374 CreateAlarms(2);
375 375
376 { 376 {
377 std::unique_ptr<base::ListValue> result( 377 std::unique_ptr<base::ListValue> result(
378 RunFunctionAndReturnList(new AlarmsGetAllFunction(), "[null]")); 378 RunFunctionAndReturnList(new AlarmsGetAllFunction(), "[null]"));
379 std::vector<linked_ptr<JsAlarm>> alarms = ToAlarmList(result.get()); 379 std::vector<std::unique_ptr<JsAlarm>> alarms = ToAlarmList(result.get());
380 EXPECT_EQ(2u, alarms.size()); 380 EXPECT_EQ(2u, alarms.size());
381 381
382 // Test the "7" alarm. 382 // Test the "7" alarm.
383 JsAlarm* alarm = alarms[0].get(); 383 JsAlarm* alarm = alarms[0].get();
384 if (alarm->name != "7") 384 if (alarm->name != "7")
385 alarm = alarms[1].get(); 385 alarm = alarms[1].get();
386 EXPECT_EQ("7", alarm->name); 386 EXPECT_EQ("7", alarm->name);
387 EXPECT_THAT(alarm->period_in_minutes, testing::Pointee(7)); 387 EXPECT_THAT(alarm->period_in_minutes, testing::Pointee(7));
388 } 388 }
389 } 389 }
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 754
755 // The next poll should be the first poll that hasn't happened and is in-line 755 // The next poll should be the first poll that hasn't happened and is in-line
756 // with the original scheduling. 756 // with the original scheduling.
757 // Last poll was at 380 seconds; next poll should be at 480 seconds. 757 // Last poll was at 380 seconds; next poll should be at 480 seconds.
758 EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ + 758 EXPECT_DOUBLE_EQ((alarm_manager_->last_poll_time_ +
759 base::TimeDelta::FromSeconds(100)).ToJsTime(), 759 base::TimeDelta::FromSeconds(100)).ToJsTime(),
760 alarm_manager_->next_poll_time_.ToJsTime()); 760 alarm_manager_->next_poll_time_.ToJsTime());
761 } 761 }
762 762
763 } // namespace extensions 763 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/external_provider_impl_unittest.cc ('k') | extensions/browser/api/api_resource_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698