Lines Matching refs:root
15 scoped_ptr<Value> root;
16 root.reset(JSONReader().JsonToValue(" null ", false, false));
17 ASSERT_TRUE(root.get());
18 ASSERT_TRUE(root->IsType(Value::TYPE_NULL));
21 root.reset(JSONReader().JsonToValue("nu", false, false));
22 ASSERT_FALSE(root.get());
25 root.reset(JSONReader().JsonToValue("true ", false, false));
26 ASSERT_TRUE(root.get());
27 ASSERT_TRUE(root->IsType(Value::TYPE_BOOLEAN));
30 root.reset(JSONReader().JsonToValue("/* comment */null", false, false));
31 ASSERT_TRUE(root.get());
32 ASSERT_TRUE(root->IsType(Value::TYPE_NULL));
33 root.reset(JSONReader().JsonToValue("40 /* comment */", false, false));
34 ASSERT_TRUE(root.get());
35 ASSERT_TRUE(root->IsType(Value::TYPE_INTEGER));
36 root.reset(JSONReader().JsonToValue("true // comment", false, false));
37 ASSERT_TRUE(root.get());
38 ASSERT_TRUE(root->IsType(Value::TYPE_BOOLEAN));
39 root.reset(JSONReader().JsonToValue("/* comment */\"sample string\"",
41 ASSERT_TRUE(root.get());
42 ASSERT_TRUE(root->IsType(Value::TYPE_STRING));
44 ASSERT_TRUE(root->GetAsString(&value));
48 root.reset(JSONReader().JsonToValue("43", false, false));
49 ASSERT_TRUE(root.get());
50 ASSERT_TRUE(root->IsType(Value::TYPE_INTEGER));
52 ASSERT_TRUE(root->GetAsInteger(&int_val));
56 root.reset(JSONReader().JsonToValue("043", false, false));
57 ASSERT_FALSE(root.get());
58 root.reset(JSONReader().JsonToValue("0x43", false, false));
59 ASSERT_FALSE(root.get());
60 root.reset(JSONReader().JsonToValue("00", false, false));
61 ASSERT_FALSE(root.get());
65 root.reset(JSONReader().JsonToValue("0", false, false));
66 ASSERT_TRUE(root.get());
67 ASSERT_TRUE(root->IsType(Value::TYPE_INTEGER));
69 ASSERT_TRUE(root->GetAsInteger(&int_val));
74 root.reset(JSONReader().JsonToValue("2147483648", false, false));
75 ASSERT_TRUE(root.get());
77 ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
79 ASSERT_TRUE(root->GetAsReal(&real_val));
81 root.reset(JSONReader().JsonToValue("-2147483649", false, false));
82 ASSERT_TRUE(root.get());
83 ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
85 ASSERT_TRUE(root->GetAsReal(&real_val));
89 root.reset(JSONReader().JsonToValue("43.1", false, false));
90 ASSERT_TRUE(root.get());
91 ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
93 ASSERT_TRUE(root->GetAsReal(&real_val));
96 root.reset(JSONReader().JsonToValue("4.3e-1", false, false));
97 ASSERT_TRUE(root.get());
98 ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
100 ASSERT_TRUE(root->GetAsReal(&real_val));
103 root.reset(JSONReader().JsonToValue("2.1e0", false, false));
104 ASSERT_TRUE(root.get());
105 ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
107 ASSERT_TRUE(root->GetAsReal(&real_val));
110 root.reset(JSONReader().JsonToValue("2.1e+0001", false, false));
111 ASSERT_TRUE(root.get());
112 ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
114 ASSERT_TRUE(root->GetAsReal(&real_val));
117 root.reset(JSONReader().JsonToValue("0.01", false, false));
118 ASSERT_TRUE(root.get());
119 ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
121 ASSERT_TRUE(root->GetAsReal(&real_val));
124 root.reset(JSONReader().JsonToValue("1.00", false, false));
125 ASSERT_TRUE(root.get());
126 ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
128 ASSERT_TRUE(root->GetAsReal(&real_val));
132 root.reset(JSONReader().JsonToValue("1.", false, false));
133 ASSERT_FALSE(root.get());
134 root.reset(JSONReader().JsonToValue(".1", false, false));
135 ASSERT_FALSE(root.get());
136 root.reset(JSONReader().JsonToValue("1.e10", false, false));
137 ASSERT_FALSE(root.get());
140 root.reset(JSONReader().JsonToValue("1e", false, false));
141 ASSERT_FALSE(root.get());
142 root.reset(JSONReader().JsonToValue("1E", false, false));
143 ASSERT_FALSE(root.get());
144 root.reset(JSONReader().JsonToValue("1e1.", false, false));
145 ASSERT_FALSE(root.get());
146 root.reset(JSONReader().JsonToValue("1e1.0", false, false));
147 ASSERT_FALSE(root.get());
150 root.reset(JSONReader().JsonToValue("1e1000", false, false));
151 ASSERT_FALSE(root.get());
152 root.reset(JSONReader().JsonToValue("-1e1000", false, false));
153 ASSERT_FALSE(root.get());
154 root.reset(JSONReader().JsonToValue("NaN", false, false));
155 ASSERT_FALSE(root.get());
156 root.reset(JSONReader().JsonToValue("nan", false, false));
157 ASSERT_FALSE(root.get());
158 root.reset(JSONReader().JsonToValue("inf", false, false));
159 ASSERT_FALSE(root.get());
162 root.reset(JSONReader().JsonToValue("4.3.1", false, false));
163 ASSERT_FALSE(root.get());
164 root.reset(JSONReader().JsonToValue("4e3.1", false, false));
165 ASSERT_FALSE(root.get());
168 root.reset(JSONReader().JsonToValue("\"hello world\"", false, false));
169 ASSERT_TRUE(root.get());
170 ASSERT_TRUE(root->IsType(Value::TYPE_STRING));
172 ASSERT_TRUE(root->GetAsString(&str_val));
176 root.reset(JSONReader().JsonToValue("\"\"", false, false));
177 ASSERT_TRUE(root.get());
178 ASSERT_TRUE(root->IsType(Value::TYPE_STRING));
180 ASSERT_TRUE(root->GetAsString(&str_val));
184 root.reset(JSONReader().JsonToValue("\" \\\"\\\\\\/\\b\\f\\n\\r\\t\\v\"",
186 ASSERT_TRUE(root.get());
187 ASSERT_TRUE(root->IsType(Value::TYPE_STRING));
189 ASSERT_TRUE(root->GetAsString(&str_val));
193 root.reset(JSONReader().JsonToValue("\"\\x41\\x00\\u1234\"", false,
195 ASSERT_TRUE(root.get());
196 ASSERT_TRUE(root->IsType(Value::TYPE_STRING));
198 ASSERT_TRUE(root->GetAsString(&str_val));
202 root.reset(JSONReader().JsonToValue("\"no closing quote", false, false));
203 ASSERT_FALSE(root.get());
204 root.reset(JSONReader().JsonToValue("\"\\z invalid escape char\"", false,
206 ASSERT_FALSE(root.get());
207 root.reset(JSONReader().JsonToValue("\"\\xAQ invalid hex code\"", false,
209 ASSERT_FALSE(root.get());
210 root.reset(JSONReader().JsonToValue("not enough hex chars\\x1\"", false,
212 ASSERT_FALSE(root.get());
213 root.reset(JSONReader().JsonToValue("\"not enough escape chars\\u123\"",
215 ASSERT_FALSE(root.get());
216 root.reset(JSONReader().JsonToValue("\"extra backslash at end of input\\\"",
218 ASSERT_FALSE(root.get());
221 root.reset(JSONReader::Read("[true, false, null]", false));
222 ASSERT_TRUE(root.get());
223 ASSERT_TRUE(root->IsType(Value::TYPE_LIST));
224 ListValue* list = static_cast<ListValue*>(root.get());
230 EXPECT_TRUE(root->Equals(root2.get()));
233 root.reset(JSONReader::Read("[]", false));
234 ASSERT_TRUE(root.get());
235 ASSERT_TRUE(root->IsType(Value::TYPE_LIST));
236 list = static_cast<ListValue*>(root.get());
240 root.reset(JSONReader::Read("[[true], [], [false, [], [null]], null]",
242 ASSERT_TRUE(root.get());
243 ASSERT_TRUE(root->IsType(Value::TYPE_LIST));
244 list = static_cast<ListValue*>(root.get());
250 EXPECT_TRUE(root->Equals(root2.get()));
253 root.reset(JSONReader::Read("[[true], [], [false, [], [null]], null", false));
254 ASSERT_FALSE(root.get());
257 root.reset(JSONReader::Read("[true,, null]", false));
258 ASSERT_FALSE(root.get());
259 root.reset(JSONReader::Read("[true,, null]", true));
260 ASSERT_FALSE(root.get());
263 root.reset(JSONReader::Read("[true null]", false));
264 ASSERT_FALSE(root.get());
267 root.reset(JSONReader::Read("[true,]", false));
268 ASSERT_FALSE(root.get());
271 root.reset(JSONReader::Read("[true,]", true));
272 ASSERT_TRUE(root.get());
273 ASSERT_TRUE(root->IsType(Value::TYPE_LIST));
274 list = static_cast<ListValue*>(root.get());
285 root.reset(JSONReader::Read("[,]", true));
286 EXPECT_FALSE(root.get());
287 root.reset(JSONReader::Read("[true,,]", true));
288 EXPECT_FALSE(root.get());
289 root.reset(JSONReader::Read("[,true,]", true));
290 EXPECT_FALSE(root.get());
291 root.reset(JSONReader::Read("[true,,false]", true));
292 EXPECT_FALSE(root.get());
295 root.reset(JSONReader::Read("{}", false));
296 ASSERT_TRUE(root.get());
297 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
299 root.reset(JSONReader::Read(
301 ASSERT_TRUE(root.get());
302 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
303 DictionaryValue* dict_val = static_cast<DictionaryValue*>(root.get());
317 EXPECT_TRUE(root->Equals(root2.get()));
327 EXPECT_TRUE(root->Equals(root2.get()));
336 EXPECT_TRUE(root->Equals(root2.get()));
339 root.reset(JSONReader::Read(
341 ASSERT_TRUE(root.get());
342 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
343 dict_val = static_cast<DictionaryValue*>(root.get());
357 EXPECT_TRUE(root->Equals(root2.get()));
360 root.reset(JSONReader::Read(
362 ASSERT_TRUE(root.get());
363 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
364 dict_val = static_cast<DictionaryValue*>(root.get());
378 root.reset(JSONReader::Read("{\"a\":{\"b\":2},\"a.b\":1}", false));
379 ASSERT_TRUE(root.get());
380 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
381 dict_val = static_cast<DictionaryValue*>(root.get());
388 root.reset(JSONReader::Read("{\"a\": true", false));
389 ASSERT_FALSE(root.get());
392 root.reset(JSONReader::Read("{foo:true}", false));
393 ASSERT_FALSE(root.get());
396 root.reset(JSONReader::Read("{\"a\":true,}", false));
397 ASSERT_FALSE(root.get());
400 root.reset(JSONReader::Read("{\"a\":true,,\"b\":false}", false));
401 ASSERT_FALSE(root.get());
402 root.reset(JSONReader::Read("{\"a\":true,,\"b\":false}", true));
403 ASSERT_FALSE(root.get());
406 root.reset(JSONReader::Read("{\"a\" \"b\"}", false));
407 ASSERT_FALSE(root.get());
410 root.reset(JSONReader::Read("{,}", false));
411 ASSERT_FALSE(root.get());
412 root.reset(JSONReader::Read("{,}", true));
413 ASSERT_FALSE(root.get());
414 root.reset(JSONReader::Read("{\"a\":true,,}", true));
415 ASSERT_FALSE(root.get());
416 root.reset(JSONReader::Read("{,\"a\":true}", true));
417 ASSERT_FALSE(root.get());
418 root.reset(JSONReader::Read("{\"a\":true,,\"b\":false}", true));
419 ASSERT_FALSE(root.get());
424 root.reset(JSONReader::Read(evil, false));
425 ASSERT_FALSE(root.get());
434 root.reset(JSONReader::Read(not_evil, false));
435 ASSERT_TRUE(root.get());
436 ASSERT_TRUE(root->IsType(Value::TYPE_LIST));
437 list = static_cast<ListValue*>(root.get());
441 root.reset(JSONReader().JsonToValue("\"\xe7\xbd\x91\xe9\xa1\xb5\"",
443 ASSERT_TRUE(root.get());
444 ASSERT_TRUE(root->IsType(Value::TYPE_STRING));
446 ASSERT_TRUE(root->GetAsString(&str_val));
450 root.reset(JSONReader().JsonToValue("\"345\xb0\xa1\xb0\xa2\"",
452 ASSERT_FALSE(root.get());
453 root.reset(JSONReader().JsonToValue("\"123\xc0\x81\"",
455 ASSERT_FALSE(root.get());
457 // Test invalid root objects.
458 root.reset(JSONReader::Read("null", false));
459 ASSERT_FALSE(root.get());
460 root.reset(JSONReader::Read("true", false));
461 ASSERT_FALSE(root.get());
462 root.reset(JSONReader::Read("10", false));
463 ASSERT_FALSE(root.get());
464 root.reset(JSONReader::Read("\"root\"", false));
465 ASSERT_FALSE(root.get());
471 scoped_ptr<Value> root;
472 root.reset(JSONReader::ReadAndReturnError("[42]", false, &error_message));
478 root.reset(JSONReader::ReadAndReturnError(big_json, false, &error_message));
479 EXPECT_FALSE(root.get());
484 root.reset(JSONReader::ReadAndReturnError("{},{}", false, &error_message));
485 EXPECT_FALSE(root.get());
494 root.reset(JSONReader::ReadAndReturnError(nested_json, false,
496 EXPECT_FALSE(root.get());
500 root.reset(JSONReader::ReadAndReturnError("42", false, &error_message));
501 EXPECT_FALSE(root.get());
505 root.reset(JSONReader::ReadAndReturnError("[1,]", false, &error_message));
506 EXPECT_FALSE(root.get());
510 root.reset(JSONReader::ReadAndReturnError("{foo:\"bar\"}", false,
512 EXPECT_FALSE(root.get());
516 root.reset(JSONReader::ReadAndReturnError("{\"foo\":\"bar\",}", false,
518 EXPECT_FALSE(root.get());
522 root.reset(JSONReader::ReadAndReturnError("[nu]", false, &error_message));
523 EXPECT_FALSE(root.get());
527 root.reset(JSONReader::ReadAndReturnError("[\"xxx\\xq\"]", false,
529 EXPECT_FALSE(root.get());
533 root.reset(JSONReader::ReadAndReturnError("[\"xxx\\uq\"]", false,
535 EXPECT_FALSE(root.get());
539 root.reset(JSONReader::ReadAndReturnError("[\"xxx\\q\"]", false,
541 EXPECT_FALSE(root.get());