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

Side by Side Diff: base/json/json_reader_unittest.cc

Issue 3163015: Remove deprecated wstring DictionaryValue::Get{Dictionary,List}WithoutPathExpansion() overloads. (Closed)
Patch Set: Created 10 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
« no previous file with comments | « no previous file | base/values.h » ('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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 #include "base/json/json_reader.h" 6 #include "base/json/json_reader.h"
7 #include "base/scoped_ptr.h" 7 #include "base/scoped_ptr.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 10
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 root.reset(JSONReader::Read("{}", false)); 295 root.reset(JSONReader::Read("{}", false));
296 ASSERT_TRUE(root.get()); 296 ASSERT_TRUE(root.get());
297 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY)); 297 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
298 298
299 root.reset(JSONReader::Read( 299 root.reset(JSONReader::Read(
300 "{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\" }", false)); 300 "{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\" }", false));
301 ASSERT_TRUE(root.get()); 301 ASSERT_TRUE(root.get());
302 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY)); 302 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
303 DictionaryValue* dict_val = static_cast<DictionaryValue*>(root.get()); 303 DictionaryValue* dict_val = static_cast<DictionaryValue*>(root.get());
304 real_val = 0.0; 304 real_val = 0.0;
305 ASSERT_TRUE(dict_val->GetReal(L"number", &real_val)); 305 ASSERT_TRUE(dict_val->GetReal("number", &real_val));
306 ASSERT_DOUBLE_EQ(9.87654321, real_val); 306 ASSERT_DOUBLE_EQ(9.87654321, real_val);
307 Value* null_val = NULL; 307 Value* null_val = NULL;
308 ASSERT_TRUE(dict_val->Get(L"null", &null_val)); 308 ASSERT_TRUE(dict_val->Get("null", &null_val));
309 ASSERT_TRUE(null_val->IsType(Value::TYPE_NULL)); 309 ASSERT_TRUE(null_val->IsType(Value::TYPE_NULL));
310 str_val.clear(); 310 str_val.clear();
311 ASSERT_TRUE(dict_val->GetString(L"S", &str_val)); 311 ASSERT_TRUE(dict_val->GetString(L"S", &str_val));
312 ASSERT_EQ(L"str", str_val); 312 ASSERT_EQ(L"str", str_val);
313 313
314 root2.reset(JSONReader::Read( 314 root2.reset(JSONReader::Read(
315 "{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\", }", true)); 315 "{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\", }", true));
316 ASSERT_TRUE(root2.get()); 316 ASSERT_TRUE(root2.get());
317 EXPECT_TRUE(root->Equals(root2.get())); 317 EXPECT_TRUE(root->Equals(root2.get()));
318 318
(...skipping 16 matching lines...) Expand all
335 ASSERT_TRUE(root2.get()); 335 ASSERT_TRUE(root2.get());
336 EXPECT_TRUE(root->Equals(root2.get())); 336 EXPECT_TRUE(root->Equals(root2.get()));
337 337
338 // Test nesting 338 // Test nesting
339 root.reset(JSONReader::Read( 339 root.reset(JSONReader::Read(
340 "{\"inner\":{\"array\":[true]},\"false\":false,\"d\":{}}", false)); 340 "{\"inner\":{\"array\":[true]},\"false\":false,\"d\":{}}", false));
341 ASSERT_TRUE(root.get()); 341 ASSERT_TRUE(root.get());
342 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY)); 342 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
343 dict_val = static_cast<DictionaryValue*>(root.get()); 343 dict_val = static_cast<DictionaryValue*>(root.get());
344 DictionaryValue* inner_dict = NULL; 344 DictionaryValue* inner_dict = NULL;
345 ASSERT_TRUE(dict_val->GetDictionary(L"inner", &inner_dict)); 345 ASSERT_TRUE(dict_val->GetDictionary("inner", &inner_dict));
346 ListValue* inner_array = NULL; 346 ListValue* inner_array = NULL;
347 ASSERT_TRUE(inner_dict->GetList(L"array", &inner_array)); 347 ASSERT_TRUE(inner_dict->GetList("array", &inner_array));
348 ASSERT_EQ(1U, inner_array->GetSize()); 348 ASSERT_EQ(1U, inner_array->GetSize());
349 bool_value = true; 349 bool_value = true;
350 ASSERT_TRUE(dict_val->GetBoolean(L"false", &bool_value)); 350 ASSERT_TRUE(dict_val->GetBoolean("false", &bool_value));
351 ASSERT_FALSE(bool_value); 351 ASSERT_FALSE(bool_value);
352 inner_dict = NULL; 352 inner_dict = NULL;
353 ASSERT_TRUE(dict_val->GetDictionary(L"d", &inner_dict)); 353 ASSERT_TRUE(dict_val->GetDictionary("d", &inner_dict));
354 354
355 root2.reset(JSONReader::Read( 355 root2.reset(JSONReader::Read(
356 "{\"inner\": {\"array\":[true] , },\"false\":false,\"d\":{},}", true)); 356 "{\"inner\": {\"array\":[true] , },\"false\":false,\"d\":{},}", true));
357 EXPECT_TRUE(root->Equals(root2.get())); 357 EXPECT_TRUE(root->Equals(root2.get()));
358 358
359 // Test keys with periods 359 // Test keys with periods
360 root.reset(JSONReader::Read( 360 root.reset(JSONReader::Read(
361 "{\"a.b\":3,\"c\":2,\"d.e.f\":{\"g.h.i.j\":1}}", false)); 361 "{\"a.b\":3,\"c\":2,\"d.e.f\":{\"g.h.i.j\":1}}", false));
362 ASSERT_TRUE(root.get()); 362 ASSERT_TRUE(root.get());
363 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY)); 363 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
364 dict_val = static_cast<DictionaryValue*>(root.get()); 364 dict_val = static_cast<DictionaryValue*>(root.get());
365 int integer_value = 0; 365 int integer_value = 0;
366 EXPECT_TRUE(dict_val->GetIntegerWithoutPathExpansion(L"a.b", &integer_value)); 366 EXPECT_TRUE(dict_val->GetIntegerWithoutPathExpansion("a.b", &integer_value));
367 EXPECT_EQ(3, integer_value); 367 EXPECT_EQ(3, integer_value);
368 EXPECT_TRUE(dict_val->GetIntegerWithoutPathExpansion(L"c", &integer_value)); 368 EXPECT_TRUE(dict_val->GetIntegerWithoutPathExpansion("c", &integer_value));
369 EXPECT_EQ(2, integer_value); 369 EXPECT_EQ(2, integer_value);
370 inner_dict = NULL; 370 inner_dict = NULL;
371 ASSERT_TRUE(dict_val->GetDictionaryWithoutPathExpansion(L"d.e.f", 371 ASSERT_TRUE(dict_val->GetDictionaryWithoutPathExpansion("d.e.f",
372 &inner_dict)); 372 &inner_dict));
373 ASSERT_EQ(1U, inner_dict->size()); 373 ASSERT_EQ(1U, inner_dict->size());
374 EXPECT_TRUE(inner_dict->GetIntegerWithoutPathExpansion(L"g.h.i.j", 374 EXPECT_TRUE(inner_dict->GetIntegerWithoutPathExpansion("g.h.i.j",
375 &integer_value)); 375 &integer_value));
376 EXPECT_EQ(1, integer_value); 376 EXPECT_EQ(1, integer_value);
377 377
378 root.reset(JSONReader::Read("{\"a\":{\"b\":2},\"a.b\":1}", false)); 378 root.reset(JSONReader::Read("{\"a\":{\"b\":2},\"a.b\":1}", false));
379 ASSERT_TRUE(root.get()); 379 ASSERT_TRUE(root.get());
380 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY)); 380 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
381 dict_val = static_cast<DictionaryValue*>(root.get()); 381 dict_val = static_cast<DictionaryValue*>(root.get());
382 EXPECT_TRUE(dict_val->GetInteger(L"a.b", &integer_value)); 382 EXPECT_TRUE(dict_val->GetInteger("a.b", &integer_value));
383 EXPECT_EQ(2, integer_value); 383 EXPECT_EQ(2, integer_value);
384 EXPECT_TRUE(dict_val->GetIntegerWithoutPathExpansion(L"a.b", &integer_value)); 384 EXPECT_TRUE(dict_val->GetIntegerWithoutPathExpansion("a.b", &integer_value));
385 EXPECT_EQ(1, integer_value); 385 EXPECT_EQ(1, integer_value);
386 386
387 // Invalid, no closing brace 387 // Invalid, no closing brace
388 root.reset(JSONReader::Read("{\"a\": true", false)); 388 root.reset(JSONReader::Read("{\"a\": true", false));
389 ASSERT_FALSE(root.get()); 389 ASSERT_FALSE(root.get());
390 390
391 // Invalid, keys must be quoted 391 // Invalid, keys must be quoted
392 root.reset(JSONReader::Read("{foo:true}", false)); 392 root.reset(JSONReader::Read("{foo:true}", false));
393 ASSERT_FALSE(root.get()); 393 ASSERT_FALSE(root.get());
394 394
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 555
556 root.reset(JSONReader::ReadAndReturnError("[\"xxx\\q\"]", false, 556 root.reset(JSONReader::ReadAndReturnError("[\"xxx\\q\"]", false,
557 &error_code, &error_message)); 557 &error_code, &error_message));
558 EXPECT_FALSE(root.get()); 558 EXPECT_FALSE(root.get());
559 EXPECT_EQ(JSONReader::FormatErrorMessage(1, 7, JSONReader::kInvalidEscape), 559 EXPECT_EQ(JSONReader::FormatErrorMessage(1, 7, JSONReader::kInvalidEscape),
560 error_message); 560 error_message);
561 EXPECT_EQ(JSONReader::JSON_INVALID_ESCAPE, error_code); 561 EXPECT_EQ(JSONReader::JSON_INVALID_ESCAPE, error_code);
562 } 562 }
563 563
564 } // namespace base 564 } // namespace base
OLDNEW
« no previous file with comments | « no previous file | base/values.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698