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

Side by Side Diff: chromecast/base/device_capabilities_impl_unittest.cc

Issue 1553503002: Convert Pass()→std::move() in //chromecast (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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
« no previous file with comments | « chromecast/base/device_capabilities_impl.cc ('k') | chromecast/base/serializers.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "chromecast/base/device_capabilities_impl.h" 5 #include "chromecast/base/device_capabilities_impl.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility>
8 9
9 #include "base/macros.h" 10 #include "base/macros.h"
10 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
11 #include "base/run_loop.h" 12 #include "base/run_loop.h"
12 #include "base/values.h" 13 #include "base/values.h"
13 #include "chromecast/base/serializers.h" 14 #include "chromecast/base/serializers.h"
14 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 17
17 namespace chromecast { 18 namespace chromecast {
(...skipping 20 matching lines...) Expand all
38 // untouched. 39 // untouched.
39 FakeCapabilityManagerSimple(DeviceCapabilities* capabilities, 40 FakeCapabilityManagerSimple(DeviceCapabilities* capabilities,
40 const std::string& key, 41 const std::string& key,
41 scoped_ptr<base::Value> init_value, 42 scoped_ptr<base::Value> init_value,
42 bool accept_changes) 43 bool accept_changes)
43 : DeviceCapabilities::Validator(capabilities), 44 : DeviceCapabilities::Validator(capabilities),
44 key_(key), 45 key_(key),
45 accept_changes_(accept_changes) { 46 accept_changes_(accept_changes) {
46 capabilities->Register(key, this); 47 capabilities->Register(key, this);
47 if (init_value) 48 if (init_value)
48 SetValidatedValue(key, init_value.Pass()); 49 SetValidatedValue(key, std::move(init_value));
49 } 50 }
50 51
51 // Unregisters itself as Validator. 52 // Unregisters itself as Validator.
52 ~FakeCapabilityManagerSimple() override { 53 ~FakeCapabilityManagerSimple() override {
53 capabilities()->Unregister(key_, this); 54 capabilities()->Unregister(key_, this);
54 } 55 }
55 56
56 void Validate(const std::string& path, 57 void Validate(const std::string& path,
57 scoped_ptr<base::Value> proposed_value) override { 58 scoped_ptr<base::Value> proposed_value) override {
58 ASSERT_TRUE(path.find(key_) == 0); 59 ASSERT_TRUE(path.find(key_) == 0);
59 if (accept_changes_) 60 if (accept_changes_)
60 SetValidatedValue(path, proposed_value.Pass()); 61 SetValidatedValue(path, std::move(proposed_value));
61 } 62 }
62 63
63 private: 64 private:
64 const std::string key_; 65 const std::string key_;
65 const bool accept_changes_; 66 const bool accept_changes_;
66 }; 67 };
67 68
68 // Used to test that capabilities/validator can be read and written in 69 // Used to test that capabilities/validator can be read and written in
69 // Validate() without encountering deadlocks/unexpected behavior. 70 // Validate() without encountering deadlocks/unexpected behavior.
70 class FakeCapabilityManagerComplex : public DeviceCapabilities::Validator { 71 class FakeCapabilityManagerComplex : public DeviceCapabilities::Validator {
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 EXPECT_EQ(capabilities->GetValidator(key), manager); 198 EXPECT_EQ(capabilities->GetValidator(key), manager);
198 // Read Capability 199 // Read Capability
199 EXPECT_TRUE(base::Value::Equals(capabilities->GetCapability(key).get(), 200 EXPECT_TRUE(base::Value::Equals(capabilities->GetCapability(key).get(),
200 init_value.get())); 201 init_value.get()));
201 // Unregister 202 // Unregister
202 delete manager; 203 delete manager;
203 204
204 // Write capability again. Provides way of checking that this function 205 // Write capability again. Provides way of checking that this function
205 // ran and was successful. 206 // ran and was successful.
206 scoped_ptr<base::Value> new_value = GetSampleDefaultCapabilityNewValue(); 207 scoped_ptr<base::Value> new_value = GetSampleDefaultCapabilityNewValue();
207 capabilities->SetCapability(key, new_value.Pass()); 208 capabilities->SetCapability(key, std::move(new_value));
208 } 209 }
209 210
210 // See TestBasicOperations() comment. 211 // See TestBasicOperations() comment.
211 void AssertBasicOperationsSuccessful(const DeviceCapabilities* capabilities) { 212 void AssertBasicOperationsSuccessful(const DeviceCapabilities* capabilities) {
212 base::RunLoop().RunUntilIdle(); 213 base::RunLoop().RunUntilIdle();
213 std::string key; 214 std::string key;
214 scoped_ptr<base::Value> init_value; 215 scoped_ptr<base::Value> init_value;
215 GetSampleDefaultCapability(&key, &init_value); 216 GetSampleDefaultCapability(&key, &init_value);
216 scoped_ptr<base::Value> value = capabilities->GetCapability(key); 217 scoped_ptr<base::Value> value = capabilities->GetCapability(key);
217 ASSERT_TRUE(value); 218 ASSERT_TRUE(value);
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 FakeCapabilityManagerSimple manager(capabilities(), key, 394 FakeCapabilityManagerSimple manager(capabilities(), key,
394 init_value->CreateDeepCopy(), true); 395 init_value->CreateDeepCopy(), true);
395 396
396 // 2nd call 397 // 2nd call
397 capabilities()->SetCapability(key, GetSampleDefaultCapabilityNewValue()); 398 capabilities()->SetCapability(key, GetSampleDefaultCapabilityNewValue());
398 399
399 // Observer should not get called when value does not change 400 // Observer should not get called when value does not change
400 capabilities()->SetCapability(key, GetSampleDefaultCapabilityNewValue()); 401 capabilities()->SetCapability(key, GetSampleDefaultCapabilityNewValue());
401 402
402 // 3rd call 403 // 3rd call
403 capabilities()->SetCapability(key, init_value.Pass()); 404 capabilities()->SetCapability(key, std::move(init_value));
404 base::RunLoop().RunUntilIdle(); 405 base::RunLoop().RunUntilIdle();
405 } 406 }
406 407
407 // Test adding dynamic capabilities 408 // Test adding dynamic capabilities
408 TEST_F(DeviceCapabilitiesImplTest, SetCapabilityDynamic) { 409 TEST_F(DeviceCapabilitiesImplTest, SetCapabilityDynamic) {
409 std::string key; 410 std::string key;
410 scoped_ptr<base::Value> init_value; 411 scoped_ptr<base::Value> init_value;
411 GetSampleDynamicCapability(&key, &init_value); 412 GetSampleDynamicCapability(&key, &init_value);
412 413
413 ASSERT_FALSE(capabilities()->GetCapability(key)); 414 ASSERT_FALSE(capabilities()->GetCapability(key));
(...skipping 14 matching lines...) Expand all
428 *new_value)); 429 *new_value));
429 } 430 }
430 431
431 // Tests that SetCapability() works with expanded paths when there is a 432 // Tests that SetCapability() works with expanded paths when there is a
432 // capability of type DictionaryValue. 433 // capability of type DictionaryValue.
433 TEST_F(DeviceCapabilitiesImplTest, SetCapabilityDictionary) { 434 TEST_F(DeviceCapabilitiesImplTest, SetCapabilityDictionary) {
434 std::string key("dummy_dictionary_key"); 435 std::string key("dummy_dictionary_key");
435 scoped_ptr<base::Value> init_value = 436 scoped_ptr<base::Value> init_value =
436 DeserializeFromJson(kSampleDictionaryCapability); 437 DeserializeFromJson(kSampleDictionaryCapability);
437 ASSERT_TRUE(init_value); 438 ASSERT_TRUE(init_value);
438 FakeCapabilityManagerSimple manager(capabilities(), key, init_value.Pass(), 439 FakeCapabilityManagerSimple manager(capabilities(), key,
439 true); 440 std::move(init_value), true);
440 441
441 capabilities()->SetCapability( 442 capabilities()->SetCapability(
442 "dummy_dictionary_key.dummy_field_bool", 443 "dummy_dictionary_key.dummy_field_bool",
443 make_scoped_ptr(new base::FundamentalValue(false))); 444 make_scoped_ptr(new base::FundamentalValue(false)));
444 base::RunLoop().RunUntilIdle(); 445 base::RunLoop().RunUntilIdle();
445 bool value_bool = true; 446 bool value_bool = true;
446 scoped_ptr<base::Value> value = 447 scoped_ptr<base::Value> value =
447 capabilities()->GetCapability("dummy_dictionary_key.dummy_field_bool"); 448 capabilities()->GetCapability("dummy_dictionary_key.dummy_field_bool");
448 ASSERT_TRUE(value); 449 ASSERT_TRUE(value);
449 EXPECT_TRUE(value->GetAsBoolean(&value_bool)); 450 EXPECT_TRUE(value->GetAsBoolean(&value_bool));
(...skipping 10 matching lines...) Expand all
460 EXPECT_EQ(value_int, 100); 461 EXPECT_EQ(value_int, 100);
461 } 462 }
462 463
463 // Tests that SetCapability() works with expanded paths when there is a 464 // Tests that SetCapability() works with expanded paths when there is a
464 // capability of type DictionaryValue and invalid changes are proposed. 465 // capability of type DictionaryValue and invalid changes are proposed.
465 TEST_F(DeviceCapabilitiesImplTest, SetCapabilityDictionaryInvalid) { 466 TEST_F(DeviceCapabilitiesImplTest, SetCapabilityDictionaryInvalid) {
466 std::string key("dummy_dictionary_key"); 467 std::string key("dummy_dictionary_key");
467 scoped_ptr<base::Value> init_value = 468 scoped_ptr<base::Value> init_value =
468 DeserializeFromJson(kSampleDictionaryCapability); 469 DeserializeFromJson(kSampleDictionaryCapability);
469 ASSERT_TRUE(init_value); 470 ASSERT_TRUE(init_value);
470 FakeCapabilityManagerSimple manager(capabilities(), key, init_value.Pass(), 471 FakeCapabilityManagerSimple manager(capabilities(), key,
471 false); 472 std::move(init_value), false);
472 473
473 capabilities()->SetCapability( 474 capabilities()->SetCapability(
474 "dummy_dictionary_key.dummy_field_bool", 475 "dummy_dictionary_key.dummy_field_bool",
475 make_scoped_ptr(new base::FundamentalValue(false))); 476 make_scoped_ptr(new base::FundamentalValue(false)));
476 base::RunLoop().RunUntilIdle(); 477 base::RunLoop().RunUntilIdle();
477 bool value_bool = false; 478 bool value_bool = false;
478 scoped_ptr<base::Value> value = 479 scoped_ptr<base::Value> value =
479 capabilities()->GetCapability("dummy_dictionary_key.dummy_field_bool"); 480 capabilities()->GetCapability("dummy_dictionary_key.dummy_field_bool");
480 ASSERT_TRUE(value); 481 ASSERT_TRUE(value);
481 EXPECT_TRUE(value->GetAsBoolean(&value_bool)); 482 EXPECT_TRUE(value->GetAsBoolean(&value_bool));
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 capabilities()->SetCapability( 565 capabilities()->SetCapability(
565 "dummy_validate_key", make_scoped_ptr(new base::FundamentalValue(true))); 566 "dummy_validate_key", make_scoped_ptr(new base::FundamentalValue(true)));
566 base::RunLoop().RunUntilIdle(); 567 base::RunLoop().RunUntilIdle();
567 568
568 // Check that FakeCapabilityManagerComplex::Validate() ran and that behavior 569 // Check that FakeCapabilityManagerComplex::Validate() ran and that behavior
569 // was successful 570 // was successful
570 AssertBasicOperationsSuccessful(capabilities()); 571 AssertBasicOperationsSuccessful(capabilities());
571 } 572 }
572 573
573 } // namespace chromecast 574 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/base/device_capabilities_impl.cc ('k') | chromecast/base/serializers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698