Lines Matching refs:root

22   scoped_ptr<Value> root;
23 root.reset(JSONReader().ReadToValue(" null "));
24 ASSERT_TRUE(root.get());
25 EXPECT_TRUE(root->IsType(Value::TYPE_NULL));
28 root.reset(JSONReader().ReadToValue("nu"));
29 EXPECT_FALSE(root.get());
32 root.reset(JSONReader().ReadToValue("true "));
33 ASSERT_TRUE(root.get());
34 EXPECT_TRUE(root->IsType(Value::TYPE_BOOLEAN));
37 root.reset(JSONReader().ReadToValue("/* comment */null"));
38 ASSERT_TRUE(root.get());
39 EXPECT_TRUE(root->IsType(Value::TYPE_NULL));
40 root.reset(JSONReader().ReadToValue("40 /* comment */"));
41 ASSERT_TRUE(root.get());
42 EXPECT_TRUE(root->IsType(Value::TYPE_INTEGER));
43 root.reset(JSONReader().ReadToValue("true // comment"));
44 ASSERT_TRUE(root.get());
45 EXPECT_TRUE(root->IsType(Value::TYPE_BOOLEAN));
46 root.reset(JSONReader().ReadToValue("/* comment */\"sample string\""));
47 ASSERT_TRUE(root.get());
48 EXPECT_TRUE(root->IsType(Value::TYPE_STRING));
50 EXPECT_TRUE(root->GetAsString(&value));
52 root.reset(JSONReader().ReadToValue("[1, /* comment, 2 ] */ \n 3]"));
53 ASSERT_TRUE(root.get());
54 ListValue* list = static_cast<ListValue*>(root.get());
61 root.reset(JSONReader().ReadToValue("[1, /*a*/2, 3]"));
62 ASSERT_TRUE(root.get());
63 list = static_cast<ListValue*>(root.get());
65 root.reset(JSONReader().ReadToValue("/* comment **/42"));
66 ASSERT_TRUE(root.get());
67 EXPECT_TRUE(root->IsType(Value::TYPE_INTEGER));
68 EXPECT_TRUE(root->GetAsInteger(&int_val));
70 root.reset(JSONReader().ReadToValue(
74 ASSERT_TRUE(root.get());
75 EXPECT_TRUE(root->IsType(Value::TYPE_INTEGER));
76 EXPECT_TRUE(root->GetAsInteger(&int_val));
80 root.reset(JSONReader().ReadToValue("43"));
81 ASSERT_TRUE(root.get());
82 EXPECT_TRUE(root->IsType(Value::TYPE_INTEGER));
83 EXPECT_TRUE(root->GetAsInteger(&int_val));
87 root.reset(JSONReader().ReadToValue("043"));
88 EXPECT_FALSE(root.get());
89 root.reset(JSONReader().ReadToValue("0x43"));
90 EXPECT_FALSE(root.get());
91 root.reset(JSONReader().ReadToValue("00"));
92 EXPECT_FALSE(root.get());
96 root.reset(JSONReader().ReadToValue("0"));
97 ASSERT_TRUE(root.get());
98 EXPECT_TRUE(root->IsType(Value::TYPE_INTEGER));
100 EXPECT_TRUE(root->GetAsInteger(&int_val));
105 root.reset(JSONReader().ReadToValue("2147483648"));
106 ASSERT_TRUE(root.get());
108 EXPECT_TRUE(root->IsType(Value::TYPE_DOUBLE));
110 EXPECT_TRUE(root->GetAsDouble(&double_val));
112 root.reset(JSONReader().ReadToValue("-2147483649"));
113 ASSERT_TRUE(root.get());
114 EXPECT_TRUE(root->IsType(Value::TYPE_DOUBLE));
116 EXPECT_TRUE(root->GetAsDouble(&double_val));
120 root.reset(JSONReader().ReadToValue("43.1"));
121 ASSERT_TRUE(root.get());
122 EXPECT_TRUE(root->IsType(Value::TYPE_DOUBLE));
124 EXPECT_TRUE(root->GetAsDouble(&double_val));
127 root.reset(JSONReader().ReadToValue("4.3e-1"));
128 ASSERT_TRUE(root.get());
129 EXPECT_TRUE(root->IsType(Value::TYPE_DOUBLE));
131 EXPECT_TRUE(root->GetAsDouble(&double_val));
134 root.reset(JSONReader().ReadToValue("2.1e0"));
135 ASSERT_TRUE(root.get());
136 EXPECT_TRUE(root->IsType(Value::TYPE_DOUBLE));
138 EXPECT_TRUE(root->GetAsDouble(&double_val));
141 root.reset(JSONReader().ReadToValue("2.1e+0001"));
142 ASSERT_TRUE(root.get());
143 EXPECT_TRUE(root->IsType(Value::TYPE_DOUBLE));
145 EXPECT_TRUE(root->GetAsDouble(&double_val));
148 root.reset(JSONReader().ReadToValue("0.01"));
149 ASSERT_TRUE(root.get());
150 EXPECT_TRUE(root->IsType(Value::TYPE_DOUBLE));
152 EXPECT_TRUE(root->GetAsDouble(&double_val));
155 root.reset(JSONReader().ReadToValue("1.00"));
156 ASSERT_TRUE(root.get());
157 EXPECT_TRUE(root->IsType(Value::TYPE_DOUBLE));
159 EXPECT_TRUE(root->GetAsDouble(&double_val));
163 root.reset(JSONReader().ReadToValue("1."));
164 EXPECT_FALSE(root.get());
165 root.reset(JSONReader().ReadToValue(".1"));
166 EXPECT_FALSE(root.get());
167 root.reset(JSONReader().ReadToValue("1.e10"));
168 EXPECT_FALSE(root.get());
171 root.reset(JSONReader().ReadToValue("1e"));
172 EXPECT_FALSE(root.get());
173 root.reset(JSONReader().ReadToValue("1E"));
174 EXPECT_FALSE(root.get());
175 root.reset(JSONReader().ReadToValue("1e1."));
176 EXPECT_FALSE(root.get());
177 root.reset(JSONReader().ReadToValue("1e1.0"));
178 EXPECT_FALSE(root.get());
181 root.reset(JSONReader().ReadToValue("1e1000"));
182 EXPECT_FALSE(root.get());
183 root.reset(JSONReader().ReadToValue("-1e1000"));
184 EXPECT_FALSE(root.get());
185 root.reset(JSONReader().ReadToValue("NaN"));
186 EXPECT_FALSE(root.get());
187 root.reset(JSONReader().ReadToValue("nan"));
188 EXPECT_FALSE(root.get());
189 root.reset(JSONReader().ReadToValue("inf"));
190 EXPECT_FALSE(root.get());
193 root.reset(JSONReader().ReadToValue("4.3.1"));
194 EXPECT_FALSE(root.get());
195 root.reset(JSONReader().ReadToValue("4e3.1"));
196 EXPECT_FALSE(root.get());
199 root.reset(JSONReader().ReadToValue("\"hello world\""));
200 ASSERT_TRUE(root.get());
201 EXPECT_TRUE(root->IsType(Value::TYPE_STRING));
203 EXPECT_TRUE(root->GetAsString(&str_val));
207 root.reset(JSONReader().ReadToValue("\"\""));
208 ASSERT_TRUE(root.get());
209 EXPECT_TRUE(root->IsType(Value::TYPE_STRING));
211 EXPECT_TRUE(root->GetAsString(&str_val));
215 root.reset(JSONReader().ReadToValue("\" \\\"\\\\\\/\\b\\f\\n\\r\\t\\v\""));
216 ASSERT_TRUE(root.get());
217 EXPECT_TRUE(root->IsType(Value::TYPE_STRING));
219 EXPECT_TRUE(root->GetAsString(&str_val));
223 root.reset(JSONReader().ReadToValue("\"\\x41\\x00\\u1234\""));
224 ASSERT_TRUE(root.get());
225 EXPECT_TRUE(root->IsType(Value::TYPE_STRING));
227 EXPECT_TRUE(root->GetAsString(&str_val));
231 root.reset(JSONReader().ReadToValue("\"no closing quote"));
232 EXPECT_FALSE(root.get());
233 root.reset(JSONReader().ReadToValue("\"\\z invalid escape char\""));
234 EXPECT_FALSE(root.get());
235 root.reset(JSONReader().ReadToValue("\"\\xAQ invalid hex code\""));
236 EXPECT_FALSE(root.get());
237 root.reset(JSONReader().ReadToValue("not enough hex chars\\x1\""));
238 EXPECT_FALSE(root.get());
239 root.reset(JSONReader().ReadToValue("\"not enough escape chars\\u123\""));
240 EXPECT_FALSE(root.get());
241 root.reset(JSONReader().ReadToValue("\"extra backslash at end of input\\\""));
242 EXPECT_FALSE(root.get());
245 root.reset(JSONReader::Read("[true, false, null]"));
246 ASSERT_TRUE(root.get());
247 EXPECT_TRUE(root->IsType(Value::TYPE_LIST));
248 list = static_cast<ListValue*>(root.get());
255 EXPECT_TRUE(root->Equals(root2.get()));
258 root.reset(JSONReader::Read("[]"));
259 ASSERT_TRUE(root.get());
260 EXPECT_TRUE(root->IsType(Value::TYPE_LIST));
261 list = static_cast<ListValue*>(root.get());
265 root.reset(JSONReader::Read("[[true], [], [false, [], [null]], null]"));
266 ASSERT_TRUE(root.get());
267 EXPECT_TRUE(root->IsType(Value::TYPE_LIST));
268 list = static_cast<ListValue*>(root.get());
274 EXPECT_TRUE(root->Equals(root2.get()));
277 root.reset(JSONReader::Read("[[true], [], [false, [], [null]], null"));
278 EXPECT_FALSE(root.get());
281 root.reset(JSONReader::Read("[true,, null]"));
282 EXPECT_FALSE(root.get());
283 root.reset(JSONReader::Read("[true,, null]", JSON_ALLOW_TRAILING_COMMAS));
284 EXPECT_FALSE(root.get());
287 root.reset(JSONReader::Read("[true null]"));
288 EXPECT_FALSE(root.get());
291 root.reset(JSONReader::Read("[true,]"));
292 EXPECT_FALSE(root.get());
295 root.reset(JSONReader::Read("[true,]", JSON_ALLOW_TRAILING_COMMAS));
296 ASSERT_TRUE(root.get());
297 EXPECT_TRUE(root->IsType(Value::TYPE_LIST));
298 list = static_cast<ListValue*>(root.get());
309 root.reset(JSONReader::Read("[,]", JSON_ALLOW_TRAILING_COMMAS));
310 EXPECT_FALSE(root.get());
311 root.reset(JSONReader::Read("[true,,]", JSON_ALLOW_TRAILING_COMMAS));
312 EXPECT_FALSE(root.get());
313 root.reset(JSONReader::Read("[,true,]", JSON_ALLOW_TRAILING_COMMAS));
314 EXPECT_FALSE(root.get());
315 root.reset(JSONReader::Read("[true,,false]", JSON_ALLOW_TRAILING_COMMAS));
316 EXPECT_FALSE(root.get());
319 root.reset(JSONReader::Read("{}"));
320 ASSERT_TRUE(root.get());
321 EXPECT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
323 root.reset(JSONReader::Read(
325 ASSERT_TRUE(root.get());
326 EXPECT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
327 DictionaryValue* dict_val = static_cast<DictionaryValue*>(root.get());
342 EXPECT_TRUE(root->Equals(root2.get()));
352 EXPECT_TRUE(root->Equals(root2.get()));
361 EXPECT_TRUE(root->Equals(root2.get()));
364 root.reset(JSONReader::Read(
366 ASSERT_TRUE(root.get());
367 EXPECT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
368 dict_val = static_cast<DictionaryValue*>(root.get());
383 EXPECT_TRUE(root->Equals(root2.get()));
386 root.reset(JSONReader::Read(
388 ASSERT_TRUE(root.get());
389 EXPECT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
390 dict_val = static_cast<DictionaryValue*>(root.get());
404 root.reset(JSONReader::Read("{\"a\":{\"b\":2},\"a.b\":1}"));
405 ASSERT_TRUE(root.get());
406 EXPECT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
407 dict_val = static_cast<DictionaryValue*>(root.get());
414 root.reset(JSONReader::Read("{\"a\": true"));
415 EXPECT_FALSE(root.get());
418 root.reset(JSONReader::Read("{foo:true}"));
419 EXPECT_FALSE(root.get());
422 root.reset(JSONReader::Read("{\"a\":true,}"));
423 EXPECT_FALSE(root.get());
426 root.reset(JSONReader::Read("{\"a\":true,,\"b\":false}"));
427 EXPECT_FALSE(root.get());
428 root.reset(JSONReader::Read("{\"a\":true,,\"b\":false}",
430 EXPECT_FALSE(root.get());
433 root.reset(JSONReader::Read("{\"a\" \"b\"}"));
434 EXPECT_FALSE(root.get());
437 root.reset(JSONReader::Read("{,}"));
438 EXPECT_FALSE(root.get());
439 root.reset(JSONReader::Read("{,}", JSON_ALLOW_TRAILING_COMMAS));
440 EXPECT_FALSE(root.get());
441 root.reset(JSONReader::Read("{\"a\":true,,}", JSON_ALLOW_TRAILING_COMMAS));
442 EXPECT_FALSE(root.get());
443 root.reset(JSONReader::Read("{,\"a\":true}", JSON_ALLOW_TRAILING_COMMAS));
444 EXPECT_FALSE(root.get());
445 root.reset(JSONReader::Read("{\"a\":true,,\"b\":false}",
447 EXPECT_FALSE(root.get());
452 root.reset(JSONReader::Read(evil));
453 EXPECT_FALSE(root.get());
462 root.reset(JSONReader::Read(not_evil));
463 ASSERT_TRUE(root.get());
464 EXPECT_TRUE(root->IsType(Value::TYPE_LIST));
465 list = static_cast<ListValue*>(root.get());
469 root.reset(JSONReader().ReadToValue("\"\xe7\xbd\x91\xe9\xa1\xb5\""));
470 ASSERT_TRUE(root.get());
471 EXPECT_TRUE(root->IsType(Value::TYPE_STRING));
473 EXPECT_TRUE(root->GetAsString(&str_val));
476 root.reset(JSONReader().ReadToValue(
478 ASSERT_TRUE(root.get());
479 EXPECT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
480 EXPECT_TRUE(root->GetAsDictionary(&dict_val));
485 root.reset(JSONReader().ReadToValue("\"345\xb0\xa1\xb0\xa2\""));
486 EXPECT_FALSE(root.get());
487 root.reset(JSONReader().ReadToValue("\"123\xc0\x81\""));
488 EXPECT_FALSE(root.get());
489 root.reset(JSONReader().ReadToValue("\"abc\xc0\xae\""));
490 EXPECT_FALSE(root.get());
493 root.reset(JSONReader().ReadToValue("\"\\u20ac3,14\""));
494 ASSERT_TRUE(root.get());
495 EXPECT_TRUE(root->IsType(Value::TYPE_STRING));
497 EXPECT_TRUE(root->GetAsString(&str_val));
500 root.reset(JSONReader().ReadToValue("\"\\ud83d\\udca9\\ud83d\\udc6c\""));
501 ASSERT_TRUE(root.get());
502 EXPECT_TRUE(root->IsType(Value::TYPE_STRING));
504 EXPECT_TRUE(root->GetAsString(&str_val));
519 root.reset(JSONReader().ReadToValue(cases[i]));
520 EXPECT_FALSE(root.get()) << cases[i];
523 // Test literal root objects.
524 root.reset(JSONReader::Read("null"));
525 EXPECT_TRUE(root->IsType(Value::TYPE_NULL));
527 root.reset(JSONReader::Read("true"));
528 ASSERT_TRUE(root.get());
529 EXPECT_TRUE(root->GetAsBoolean(&bool_value));
532 root.reset(JSONReader::Read("10"));
533 ASSERT_TRUE(root.get());
534 EXPECT_TRUE(root->GetAsInteger(&integer_value));
537 root.reset(JSONReader::Read("\"root\""));
538 ASSERT_TRUE(root.get());
539 EXPECT_TRUE(root->GetAsString(&str_val));
540 EXPECT_EQ("root", str_val);
554 scoped_ptr<Value> root(reader.ReadToValue(input));
555 ASSERT_TRUE(root.get()) << reader.GetErrorMessage();
556 EXPECT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
559 // Tests that the root of a JSON object can be deleted safely while its
570 scoped_ptr<Value> root(JSONReader::Read(
583 ASSERT_TRUE(root.get());
586 ASSERT_TRUE(root->GetAsDictionary(&root_dict));