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

Side by Side Diff: base/values_unittest.cc

Issue 7748017: base: Add AsBinary() function to Value API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « base/values.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <limits> 5 #include <limits>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/string16.h" 8 #include "base/string16.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 ASSERT_TRUE(copy_string16->IsType(Value::TYPE_STRING)); 409 ASSERT_TRUE(copy_string16->IsType(Value::TYPE_STRING));
410 ASSERT_TRUE(copy_string16->GetAsString(&copy_string_value)); 410 ASSERT_TRUE(copy_string16->GetAsString(&copy_string_value));
411 ASSERT_TRUE(copy_string16->GetAsString(&copy_string16_value)); 411 ASSERT_TRUE(copy_string16->GetAsString(&copy_string16_value));
412 ASSERT_EQ(std::string("hello16"), copy_string_value); 412 ASSERT_EQ(std::string("hello16"), copy_string_value);
413 ASSERT_EQ(ASCIIToUTF16("hello16"), copy_string16_value); 413 ASSERT_EQ(ASCIIToUTF16("hello16"), copy_string16_value);
414 414
415 Value* copy_binary = NULL; 415 Value* copy_binary = NULL;
416 ASSERT_TRUE(copy_dict->Get("binary", &copy_binary)); 416 ASSERT_TRUE(copy_dict->Get("binary", &copy_binary));
417 ASSERT_TRUE(copy_binary); 417 ASSERT_TRUE(copy_binary);
418 ASSERT_NE(copy_binary, original_binary); 418 ASSERT_NE(copy_binary, original_binary);
419 ASSERT_TRUE(copy_binary->IsType(Value::TYPE_BINARY)); 419 BinaryValue* binary_value = copy_binary->AsBinary();
420 ASSERT_NE(original_binary->GetBuffer(), 420 ASSERT_TRUE(binary_value);
421 static_cast<BinaryValue*>(copy_binary)->GetBuffer()); 421 ASSERT_NE(original_binary->GetBuffer(), binary_value->GetBuffer());
422 ASSERT_EQ(original_binary->GetSize(), 422 ASSERT_EQ(original_binary->GetSize(), binary_value->GetSize());
423 static_cast<BinaryValue*>(copy_binary)->GetSize());
424 ASSERT_EQ(0, memcmp(original_binary->GetBuffer(), 423 ASSERT_EQ(0, memcmp(original_binary->GetBuffer(),
425 static_cast<BinaryValue*>(copy_binary)->GetBuffer(), 424 binary_value->GetBuffer(),
426 original_binary->GetSize())); 425 original_binary->GetSize()));
Evan Martin 2011/08/25 15:18:36 new code is a lot better!
427 426
428 Value* copy_value = NULL; 427 Value* copy_value = NULL;
429 ASSERT_TRUE(copy_dict->Get("list", &copy_value)); 428 ASSERT_TRUE(copy_dict->Get("list", &copy_value));
430 ASSERT_TRUE(copy_value); 429 ASSERT_TRUE(copy_value);
431 ASSERT_NE(copy_value, original_list); 430 ASSERT_NE(copy_value, original_list);
432 ListValue* copy_list = copy_value->AsList(); 431 ListValue* copy_list = copy_value->AsList();
433 ASSERT_TRUE(copy_list != NULL); 432 ASSERT_TRUE(copy_list != NULL);
434 ASSERT_EQ(2U, copy_list->GetSize()); 433 ASSERT_EQ(2U, copy_list->GetSize());
435 434
436 Value* copy_list_element_0; 435 Value* copy_list_element_0;
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 std::string sub_collide_key_value; 686 std::string sub_collide_key_value;
688 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key", 687 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key",
689 &sub_collide_key_value)); 688 &sub_collide_key_value));
690 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. 689 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced.
691 std::string sub_merge_key_value; 690 std::string sub_merge_key_value;
692 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value)); 691 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value));
693 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. 692 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in.
694 } 693 }
695 694
696 } // namespace base 695 } // namespace base
OLDNEW
« no previous file with comments | « base/values.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698