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

Side by Side Diff: base/values_unittest.cc

Issue 7661009: base: Add Is* functions to Value class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tony review 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') | chrome/browser/autocomplete/search_provider.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 (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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 ASSERT_TRUE(binary->GetBuffer()); 125 ASSERT_TRUE(binary->GetBuffer());
126 ASSERT_NE(stack_buffer, binary->GetBuffer()); 126 ASSERT_NE(stack_buffer, binary->GetBuffer());
127 ASSERT_EQ(42U, binary->GetSize()); 127 ASSERT_EQ(42U, binary->GetSize());
128 ASSERT_EQ(0, memcmp(stack_buffer, binary->GetBuffer(), binary->GetSize())); 128 ASSERT_EQ(0, memcmp(stack_buffer, binary->GetBuffer(), binary->GetSize()));
129 } 129 }
130 130
131 TEST(ValuesTest, StringValue) { 131 TEST(ValuesTest, StringValue) {
132 // Test overloaded CreateStringValue. 132 // Test overloaded CreateStringValue.
133 scoped_ptr<Value> narrow_value(Value::CreateStringValue("narrow")); 133 scoped_ptr<Value> narrow_value(Value::CreateStringValue("narrow"));
134 ASSERT_TRUE(narrow_value.get()); 134 ASSERT_TRUE(narrow_value.get());
135 ASSERT_TRUE(narrow_value->IsType(Value::TYPE_STRING)); 135 ASSERT_TRUE(narrow_value->IsString());
136 scoped_ptr<Value> utf16_value( 136 scoped_ptr<Value> utf16_value(
137 Value::CreateStringValue(ASCIIToUTF16("utf16"))); 137 Value::CreateStringValue(ASCIIToUTF16("utf16")));
138 ASSERT_TRUE(utf16_value.get()); 138 ASSERT_TRUE(utf16_value.get());
139 ASSERT_TRUE(utf16_value->IsType(Value::TYPE_STRING)); 139 ASSERT_TRUE(utf16_value->IsString());
140 140
141 // Test overloaded GetString. 141 // Test overloaded GetString.
142 std::string narrow = "http://google.com"; 142 std::string narrow = "http://google.com";
143 string16 utf16 = ASCIIToUTF16("http://google.com"); 143 string16 utf16 = ASCIIToUTF16("http://google.com");
144 ASSERT_TRUE(narrow_value->GetAsString(&narrow)); 144 ASSERT_TRUE(narrow_value->GetAsString(&narrow));
145 ASSERT_TRUE(narrow_value->GetAsString(&utf16)); 145 ASSERT_TRUE(narrow_value->GetAsString(&utf16));
146 ASSERT_EQ(std::string("narrow"), narrow); 146 ASSERT_EQ(std::string("narrow"), narrow);
147 ASSERT_EQ(ASCIIToUTF16("narrow"), utf16); 147 ASSERT_EQ(ASCIIToUTF16("narrow"), utf16);
148 148
149 ASSERT_TRUE(utf16_value->GetAsString(&narrow)); 149 ASSERT_TRUE(utf16_value->GetAsString(&narrow));
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 original_dict.Set("list", original_list); 354 original_dict.Set("list", original_list);
355 355
356 scoped_ptr<DictionaryValue> copy_dict(original_dict.DeepCopy()); 356 scoped_ptr<DictionaryValue> copy_dict(original_dict.DeepCopy());
357 ASSERT_TRUE(copy_dict.get()); 357 ASSERT_TRUE(copy_dict.get());
358 ASSERT_NE(copy_dict.get(), &original_dict); 358 ASSERT_NE(copy_dict.get(), &original_dict);
359 359
360 Value* copy_null = NULL; 360 Value* copy_null = NULL;
361 ASSERT_TRUE(copy_dict->Get("null", &copy_null)); 361 ASSERT_TRUE(copy_dict->Get("null", &copy_null));
362 ASSERT_TRUE(copy_null); 362 ASSERT_TRUE(copy_null);
363 ASSERT_NE(copy_null, original_null); 363 ASSERT_NE(copy_null, original_null);
364 ASSERT_TRUE(copy_null->IsType(Value::TYPE_NULL)); 364 ASSERT_TRUE(copy_null->IsNull());
365 365
366 Value* copy_bool = NULL; 366 Value* copy_bool = NULL;
367 ASSERT_TRUE(copy_dict->Get("bool", &copy_bool)); 367 ASSERT_TRUE(copy_dict->Get("bool", &copy_bool));
368 ASSERT_TRUE(copy_bool); 368 ASSERT_TRUE(copy_bool);
369 ASSERT_NE(copy_bool, original_bool); 369 ASSERT_NE(copy_bool, original_bool);
370 ASSERT_TRUE(copy_bool->IsType(Value::TYPE_BOOLEAN)); 370 ASSERT_TRUE(copy_bool->IsBoolean());
371 bool copy_bool_value = false; 371 bool copy_bool_value = false;
372 ASSERT_TRUE(copy_bool->GetAsBoolean(&copy_bool_value)); 372 ASSERT_TRUE(copy_bool->GetAsBoolean(&copy_bool_value));
373 ASSERT_TRUE(copy_bool_value); 373 ASSERT_TRUE(copy_bool_value);
374 374
375 Value* copy_int = NULL; 375 Value* copy_int = NULL;
376 ASSERT_TRUE(copy_dict->Get("int", &copy_int)); 376 ASSERT_TRUE(copy_dict->Get("int", &copy_int));
377 ASSERT_TRUE(copy_int); 377 ASSERT_TRUE(copy_int);
378 ASSERT_NE(copy_int, original_int); 378 ASSERT_NE(copy_int, original_int);
379 ASSERT_TRUE(copy_int->IsType(Value::TYPE_INTEGER)); 379 ASSERT_TRUE(copy_int->IsInteger());
380 int copy_int_value = 0; 380 int copy_int_value = 0;
381 ASSERT_TRUE(copy_int->GetAsInteger(&copy_int_value)); 381 ASSERT_TRUE(copy_int->GetAsInteger(&copy_int_value));
382 ASSERT_EQ(42, copy_int_value); 382 ASSERT_EQ(42, copy_int_value);
383 383
384 Value* copy_double = NULL; 384 Value* copy_double = NULL;
385 ASSERT_TRUE(copy_dict->Get("double", &copy_double)); 385 ASSERT_TRUE(copy_dict->Get("double", &copy_double));
386 ASSERT_TRUE(copy_double); 386 ASSERT_TRUE(copy_double);
387 ASSERT_NE(copy_double, original_double); 387 ASSERT_NE(copy_double, original_double);
388 ASSERT_TRUE(copy_double->IsType(Value::TYPE_DOUBLE)); 388 ASSERT_TRUE(copy_double->IsDouble());
389 double copy_double_value = 0; 389 double copy_double_value = 0;
390 ASSERT_TRUE(copy_double->GetAsDouble(&copy_double_value)); 390 ASSERT_TRUE(copy_double->GetAsDouble(&copy_double_value));
391 ASSERT_EQ(3.14, copy_double_value); 391 ASSERT_EQ(3.14, copy_double_value);
392 392
393 Value* copy_string = NULL; 393 Value* copy_string = NULL;
394 ASSERT_TRUE(copy_dict->Get("string", &copy_string)); 394 ASSERT_TRUE(copy_dict->Get("string", &copy_string));
395 ASSERT_TRUE(copy_string); 395 ASSERT_TRUE(copy_string);
396 ASSERT_NE(copy_string, original_string); 396 ASSERT_NE(copy_string, original_string);
397 ASSERT_TRUE(copy_string->IsType(Value::TYPE_STRING)); 397 ASSERT_TRUE(copy_string->IsString());
398 std::string copy_string_value; 398 std::string copy_string_value;
399 string16 copy_string16_value; 399 string16 copy_string16_value;
400 ASSERT_TRUE(copy_string->GetAsString(&copy_string_value)); 400 ASSERT_TRUE(copy_string->GetAsString(&copy_string_value));
401 ASSERT_TRUE(copy_string->GetAsString(&copy_string16_value)); 401 ASSERT_TRUE(copy_string->GetAsString(&copy_string16_value));
402 ASSERT_EQ(std::string("hello"), copy_string_value); 402 ASSERT_EQ(std::string("hello"), copy_string_value);
403 ASSERT_EQ(ASCIIToUTF16("hello"), copy_string16_value); 403 ASSERT_EQ(ASCIIToUTF16("hello"), copy_string16_value);
404 404
405 Value* copy_string16 = NULL; 405 Value* copy_string16 = NULL;
406 ASSERT_TRUE(copy_dict->Get("string16", &copy_string16)); 406 ASSERT_TRUE(copy_dict->Get("string16", &copy_string16));
407 ASSERT_TRUE(copy_string16); 407 ASSERT_TRUE(copy_string16);
408 ASSERT_NE(copy_string16, original_string16); 408 ASSERT_NE(copy_string16, original_string16);
409 ASSERT_TRUE(copy_string16->IsType(Value::TYPE_STRING)); 409 ASSERT_TRUE(copy_string16->IsString());
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 ASSERT_TRUE(copy_binary->IsBinary());
420 ASSERT_NE(original_binary->GetBuffer(), 420 ASSERT_NE(original_binary->GetBuffer(),
421 static_cast<BinaryValue*>(copy_binary)->GetBuffer()); 421 static_cast<BinaryValue*>(copy_binary)->GetBuffer());
422 ASSERT_EQ(original_binary->GetSize(), 422 ASSERT_EQ(original_binary->GetSize(),
423 static_cast<BinaryValue*>(copy_binary)->GetSize()); 423 static_cast<BinaryValue*>(copy_binary)->GetSize());
424 ASSERT_EQ(0, memcmp(original_binary->GetBuffer(), 424 ASSERT_EQ(0, memcmp(original_binary->GetBuffer(),
425 static_cast<BinaryValue*>(copy_binary)->GetBuffer(), 425 static_cast<BinaryValue*>(copy_binary)->GetBuffer(),
426 original_binary->GetSize())); 426 original_binary->GetSize()));
427 427
428 Value* copy_value = NULL; 428 Value* copy_value = NULL;
429 ASSERT_TRUE(copy_dict->Get("list", &copy_value)); 429 ASSERT_TRUE(copy_dict->Get("list", &copy_value));
430 ASSERT_TRUE(copy_value); 430 ASSERT_TRUE(copy_value);
431 ASSERT_NE(copy_value, original_list); 431 ASSERT_NE(copy_value, original_list);
432 ASSERT_TRUE(copy_value->IsType(Value::TYPE_LIST)); 432 ASSERT_TRUE(copy_value->IsList());
433 ListValue* copy_list = static_cast<ListValue*>(copy_value); 433 ListValue* copy_list = static_cast<ListValue*>(copy_value);
434 ASSERT_EQ(2U, copy_list->GetSize()); 434 ASSERT_EQ(2U, copy_list->GetSize());
435 435
436 Value* copy_list_element_0; 436 Value* copy_list_element_0;
437 ASSERT_TRUE(copy_list->Get(0, &copy_list_element_0)); 437 ASSERT_TRUE(copy_list->Get(0, &copy_list_element_0));
438 ASSERT_TRUE(copy_list_element_0); 438 ASSERT_TRUE(copy_list_element_0);
439 ASSERT_NE(copy_list_element_0, original_list_element_0); 439 ASSERT_NE(copy_list_element_0, original_list_element_0);
440 int copy_list_element_0_value; 440 int copy_list_element_0_value;
441 ASSERT_TRUE(copy_list_element_0->GetAsInteger(&copy_list_element_0_value)); 441 ASSERT_TRUE(copy_list_element_0->GetAsInteger(&copy_list_element_0_value));
442 ASSERT_EQ(0, copy_list_element_0_value); 442 ASSERT_EQ(0, copy_list_element_0_value);
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 std::string sub_collide_key_value; 687 std::string sub_collide_key_value;
688 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key", 688 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key",
689 &sub_collide_key_value)); 689 &sub_collide_key_value));
690 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. 690 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced.
691 std::string sub_merge_key_value; 691 std::string sub_merge_key_value;
692 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value)); 692 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. 693 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in.
694 } 694 }
695 695
696 } // namespace base 696 } // namespace base
OLDNEW
« no previous file with comments | « base/values.cc ('k') | chrome/browser/autocomplete/search_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698