| OLD | NEW |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 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 "platform/inspector_protocol/Parser.h" | 5 #include "platform/inspector_protocol/Parser.h" |
| 6 | 6 |
| 7 #include "platform/inspector_protocol/String16.h" | 7 #include "platform/inspector_protocol/String16.h" |
| 8 #include "platform/inspector_protocol/Values.h" | 8 #include "platform/inspector_protocol/Values.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 EXPECT_EQ(Value::TypeBoolean, root->type()); | 34 EXPECT_EQ(Value::TypeBoolean, root->type()); |
| 35 | 35 |
| 36 // Embedded comment | 36 // Embedded comment |
| 37 root = parseJSON("40 /*/"); | 37 root = parseJSON("40 /*/"); |
| 38 EXPECT_FALSE(root.get()); | 38 EXPECT_FALSE(root.get()); |
| 39 root = parseJSON("/* comment */null"); | 39 root = parseJSON("/* comment */null"); |
| 40 ASSERT_TRUE(root.get()); | 40 ASSERT_TRUE(root.get()); |
| 41 EXPECT_EQ(Value::TypeNull, root->type()); | 41 EXPECT_EQ(Value::TypeNull, root->type()); |
| 42 root = parseJSON("40 /* comment */"); | 42 root = parseJSON("40 /* comment */"); |
| 43 ASSERT_TRUE(root.get()); | 43 ASSERT_TRUE(root.get()); |
| 44 EXPECT_EQ(Value::TypeNumber, root->type()); | 44 EXPECT_EQ(Value::TypeInteger, root->type()); |
| 45 EXPECT_TRUE(root->asNumber(&intVal)); | 45 EXPECT_TRUE(root->asInteger(&intVal)); |
| 46 EXPECT_EQ(40, intVal); | 46 EXPECT_EQ(40, intVal); |
| 47 root = parseJSON("/**/ 40 /* multi-line\n comment */ // more comment"); | 47 root = parseJSON("/**/ 40 /* multi-line\n comment */ // more comment"); |
| 48 ASSERT_TRUE(root.get()); | 48 ASSERT_TRUE(root.get()); |
| 49 EXPECT_EQ(Value::TypeNumber, root->type()); | 49 EXPECT_EQ(Value::TypeInteger, root->type()); |
| 50 EXPECT_TRUE(root->asNumber(&intVal)); | 50 EXPECT_TRUE(root->asInteger(&intVal)); |
| 51 EXPECT_EQ(40, intVal); | 51 EXPECT_EQ(40, intVal); |
| 52 root = parseJSON("true // comment"); | 52 root = parseJSON("true // comment"); |
| 53 ASSERT_TRUE(root.get()); | 53 ASSERT_TRUE(root.get()); |
| 54 EXPECT_EQ(Value::TypeBoolean, root->type()); | 54 EXPECT_EQ(Value::TypeBoolean, root->type()); |
| 55 root = parseJSON("/* comment */\"sample string\""); | 55 root = parseJSON("/* comment */\"sample string\""); |
| 56 ASSERT_TRUE(root.get()); | 56 ASSERT_TRUE(root.get()); |
| 57 EXPECT_TRUE(root->asString(&strVal)); | 57 EXPECT_TRUE(root->asString(&strVal)); |
| 58 EXPECT_EQ("sample string", strVal); | 58 EXPECT_EQ("sample string", strVal); |
| 59 root = parseJSON("[1, /* comment, 2 ] */ \n 3]"); | 59 root = parseJSON("[1, /* comment, 2 ] */ \n 3]"); |
| 60 ASSERT_TRUE(root.get()); | 60 ASSERT_TRUE(root.get()); |
| 61 protocol::ListValue* list = ListValue::cast(root.get()); | 61 protocol::ListValue* list = ListValue::cast(root.get()); |
| 62 ASSERT_TRUE(list); | 62 ASSERT_TRUE(list); |
| 63 EXPECT_EQ(2u, list->size()); | 63 EXPECT_EQ(2u, list->size()); |
| 64 tmpValue = list->at(0); | 64 tmpValue = list->at(0); |
| 65 ASSERT_TRUE(tmpValue); | 65 ASSERT_TRUE(tmpValue); |
| 66 EXPECT_TRUE(tmpValue->asNumber(&intVal)); | 66 EXPECT_TRUE(tmpValue->asInteger(&intVal)); |
| 67 EXPECT_EQ(1, intVal); | 67 EXPECT_EQ(1, intVal); |
| 68 tmpValue = list->at(1); | 68 tmpValue = list->at(1); |
| 69 ASSERT_TRUE(tmpValue); | 69 ASSERT_TRUE(tmpValue); |
| 70 EXPECT_TRUE(tmpValue->asNumber(&intVal)); | 70 EXPECT_TRUE(tmpValue->asInteger(&intVal)); |
| 71 EXPECT_EQ(3, intVal); | 71 EXPECT_EQ(3, intVal); |
| 72 root = parseJSON("[1, /*a*/2, 3]"); | 72 root = parseJSON("[1, /*a*/2, 3]"); |
| 73 ASSERT_TRUE(root.get()); | 73 ASSERT_TRUE(root.get()); |
| 74 list = ListValue::cast(root.get()); | 74 list = ListValue::cast(root.get()); |
| 75 ASSERT_TRUE(list); | 75 ASSERT_TRUE(list); |
| 76 EXPECT_EQ(3u, list->size()); | 76 EXPECT_EQ(3u, list->size()); |
| 77 root = parseJSON("/* comment **/42"); | 77 root = parseJSON("/* comment **/42"); |
| 78 ASSERT_TRUE(root.get()); | 78 ASSERT_TRUE(root.get()); |
| 79 EXPECT_EQ(Value::TypeNumber, root->type()); | 79 EXPECT_EQ(Value::TypeInteger, root->type()); |
| 80 EXPECT_TRUE(root->asNumber(&intVal)); | 80 EXPECT_TRUE(root->asInteger(&intVal)); |
| 81 EXPECT_EQ(42, intVal); | 81 EXPECT_EQ(42, intVal); |
| 82 root = parseJSON( | 82 root = parseJSON( |
| 83 "/* comment **/\n" | 83 "/* comment **/\n" |
| 84 "// */ 43\n" | 84 "// */ 43\n" |
| 85 "44"); | 85 "44"); |
| 86 ASSERT_TRUE(root.get()); | 86 ASSERT_TRUE(root.get()); |
| 87 EXPECT_EQ(Value::TypeNumber, root->type()); | 87 EXPECT_EQ(Value::TypeInteger, root->type()); |
| 88 EXPECT_TRUE(root->asNumber(&intVal)); | 88 EXPECT_TRUE(root->asInteger(&intVal)); |
| 89 EXPECT_EQ(44, intVal); | 89 EXPECT_EQ(44, intVal); |
| 90 | 90 |
| 91 // Test number formats | 91 // Test number formats |
| 92 root = parseJSON("43"); | 92 root = parseJSON("43"); |
| 93 ASSERT_TRUE(root.get()); | 93 ASSERT_TRUE(root.get()); |
| 94 EXPECT_EQ(Value::TypeNumber, root->type()); | 94 EXPECT_EQ(Value::TypeInteger, root->type()); |
| 95 EXPECT_TRUE(root->asNumber(&intVal)); | 95 EXPECT_TRUE(root->asInteger(&intVal)); |
| 96 EXPECT_EQ(43, intVal); | 96 EXPECT_EQ(43, intVal); |
| 97 | 97 |
| 98 // According to RFC4627, oct, hex, and leading zeros are invalid JSON. | 98 // According to RFC4627, oct, hex, and leading zeros are invalid JSON. |
| 99 root = parseJSON("043"); | 99 root = parseJSON("043"); |
| 100 EXPECT_FALSE(root.get()); | 100 EXPECT_FALSE(root.get()); |
| 101 root = parseJSON("0x43"); | 101 root = parseJSON("0x43"); |
| 102 EXPECT_FALSE(root.get()); | 102 EXPECT_FALSE(root.get()); |
| 103 root = parseJSON("00"); | 103 root = parseJSON("00"); |
| 104 EXPECT_FALSE(root.get()); | 104 EXPECT_FALSE(root.get()); |
| 105 | 105 |
| 106 // Test 0 (which needs to be special cased because of the leading zero | 106 // Test 0 (which needs to be special cased because of the leading zero |
| 107 // clause). | 107 // clause). |
| 108 root = parseJSON("0"); | 108 root = parseJSON("0"); |
| 109 ASSERT_TRUE(root.get()); | 109 ASSERT_TRUE(root.get()); |
| 110 EXPECT_EQ(Value::TypeNumber, root->type()); | 110 EXPECT_EQ(Value::TypeInteger, root->type()); |
| 111 intVal = 1; | 111 intVal = 1; |
| 112 EXPECT_TRUE(root->asNumber(&intVal)); | 112 EXPECT_TRUE(root->asInteger(&intVal)); |
| 113 EXPECT_EQ(0, intVal); | 113 EXPECT_EQ(0, intVal); |
| 114 | 114 |
| 115 // Numbers that overflow ints should succeed, being internally promoted to | 115 // Numbers that overflow ints should succeed, being internally promoted to |
| 116 // storage as doubles | 116 // storage as doubles |
| 117 root = parseJSON("2147483648"); | 117 root = parseJSON("2147483648"); |
| 118 ASSERT_TRUE(root.get()); | 118 ASSERT_TRUE(root.get()); |
| 119 double doubleVal; | 119 double doubleVal; |
| 120 EXPECT_EQ(Value::TypeNumber, root->type()); | 120 EXPECT_EQ(Value::TypeDouble, root->type()); |
| 121 doubleVal = 0.0; | 121 doubleVal = 0.0; |
| 122 EXPECT_TRUE(root->asNumber(&doubleVal)); | 122 EXPECT_TRUE(root->asDouble(&doubleVal)); |
| 123 EXPECT_DOUBLE_EQ(2147483648.0, doubleVal); | 123 EXPECT_DOUBLE_EQ(2147483648.0, doubleVal); |
| 124 root = parseJSON("-2147483649"); | 124 root = parseJSON("-2147483649"); |
| 125 ASSERT_TRUE(root.get()); | 125 ASSERT_TRUE(root.get()); |
| 126 EXPECT_EQ(Value::TypeNumber, root->type()); | 126 EXPECT_EQ(Value::TypeDouble, root->type()); |
| 127 doubleVal = 0.0; | 127 doubleVal = 0.0; |
| 128 EXPECT_TRUE(root->asNumber(&doubleVal)); | 128 EXPECT_TRUE(root->asDouble(&doubleVal)); |
| 129 EXPECT_DOUBLE_EQ(-2147483649.0, doubleVal); | 129 EXPECT_DOUBLE_EQ(-2147483649.0, doubleVal); |
| 130 | 130 |
| 131 // Parse a double | 131 // Parse a double |
| 132 root = parseJSON("43.1"); | 132 root = parseJSON("43.1"); |
| 133 ASSERT_TRUE(root.get()); | 133 ASSERT_TRUE(root.get()); |
| 134 EXPECT_EQ(Value::TypeNumber, root->type()); | 134 EXPECT_EQ(Value::TypeDouble, root->type()); |
| 135 doubleVal = 0.0; | 135 doubleVal = 0.0; |
| 136 EXPECT_TRUE(root->asNumber(&doubleVal)); | 136 EXPECT_TRUE(root->asDouble(&doubleVal)); |
| 137 EXPECT_DOUBLE_EQ(43.1, doubleVal); | 137 EXPECT_DOUBLE_EQ(43.1, doubleVal); |
| 138 | 138 |
| 139 root = parseJSON("4.3e-1"); | 139 root = parseJSON("4.3e-1"); |
| 140 ASSERT_TRUE(root.get()); | 140 ASSERT_TRUE(root.get()); |
| 141 EXPECT_EQ(Value::TypeNumber, root->type()); | 141 EXPECT_EQ(Value::TypeDouble, root->type()); |
| 142 doubleVal = 0.0; | 142 doubleVal = 0.0; |
| 143 EXPECT_TRUE(root->asNumber(&doubleVal)); | 143 EXPECT_TRUE(root->asDouble(&doubleVal)); |
| 144 EXPECT_DOUBLE_EQ(.43, doubleVal); | 144 EXPECT_DOUBLE_EQ(.43, doubleVal); |
| 145 | 145 |
| 146 root = parseJSON("2.1e0"); | 146 root = parseJSON("2.1e0"); |
| 147 ASSERT_TRUE(root.get()); | 147 ASSERT_TRUE(root.get()); |
| 148 EXPECT_EQ(Value::TypeNumber, root->type()); | 148 EXPECT_EQ(Value::TypeDouble, root->type()); |
| 149 doubleVal = 0.0; | 149 doubleVal = 0.0; |
| 150 EXPECT_TRUE(root->asNumber(&doubleVal)); | 150 EXPECT_TRUE(root->asDouble(&doubleVal)); |
| 151 EXPECT_DOUBLE_EQ(2.1, doubleVal); | 151 EXPECT_DOUBLE_EQ(2.1, doubleVal); |
| 152 | 152 |
| 153 root = parseJSON("2.1e+0001"); | 153 root = parseJSON("2.1e+0001"); |
| 154 ASSERT_TRUE(root.get()); | 154 ASSERT_TRUE(root.get()); |
| 155 EXPECT_EQ(Value::TypeNumber, root->type()); | 155 EXPECT_EQ(Value::TypeInteger, root->type()); |
| 156 doubleVal = 0.0; | 156 doubleVal = 0.0; |
| 157 EXPECT_TRUE(root->asNumber(&doubleVal)); | 157 EXPECT_TRUE(root->asDouble(&doubleVal)); |
| 158 EXPECT_DOUBLE_EQ(21.0, doubleVal); | 158 EXPECT_DOUBLE_EQ(21.0, doubleVal); |
| 159 | 159 |
| 160 root = parseJSON("0.01"); | 160 root = parseJSON("0.01"); |
| 161 ASSERT_TRUE(root.get()); | 161 ASSERT_TRUE(root.get()); |
| 162 EXPECT_EQ(Value::TypeNumber, root->type()); | 162 EXPECT_EQ(Value::TypeDouble, root->type()); |
| 163 doubleVal = 0.0; | 163 doubleVal = 0.0; |
| 164 EXPECT_TRUE(root->asNumber(&doubleVal)); | 164 EXPECT_TRUE(root->asDouble(&doubleVal)); |
| 165 EXPECT_DOUBLE_EQ(0.01, doubleVal); | 165 EXPECT_DOUBLE_EQ(0.01, doubleVal); |
| 166 | 166 |
| 167 root = parseJSON("1.00"); | 167 root = parseJSON("1.00"); |
| 168 ASSERT_TRUE(root.get()); | 168 ASSERT_TRUE(root.get()); |
| 169 EXPECT_EQ(Value::TypeNumber, root->type()); | 169 EXPECT_EQ(Value::TypeInteger, root->type()); |
| 170 doubleVal = 0.0; | 170 doubleVal = 0.0; |
| 171 EXPECT_TRUE(root->asNumber(&doubleVal)); | 171 EXPECT_TRUE(root->asDouble(&doubleVal)); |
| 172 EXPECT_DOUBLE_EQ(1.0, doubleVal); | 172 EXPECT_DOUBLE_EQ(1.0, doubleVal); |
| 173 | 173 |
| 174 // Fractional parts must have a digit before and after the decimal point. | 174 // Fractional parts must have a digit before and after the decimal point. |
| 175 root = parseJSON("1."); | 175 root = parseJSON("1."); |
| 176 EXPECT_FALSE(root.get()); | 176 EXPECT_FALSE(root.get()); |
| 177 root = parseJSON(".1"); | 177 root = parseJSON(".1"); |
| 178 EXPECT_FALSE(root.get()); | 178 EXPECT_FALSE(root.get()); |
| 179 root = parseJSON("1.e10"); | 179 root = parseJSON("1.e10"); |
| 180 EXPECT_FALSE(root.get()); | 180 EXPECT_FALSE(root.get()); |
| 181 | 181 |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 root = parseJSON("{}"); | 305 root = parseJSON("{}"); |
| 306 ASSERT_TRUE(root.get()); | 306 ASSERT_TRUE(root.get()); |
| 307 EXPECT_EQ(Value::TypeObject, root->type()); | 307 EXPECT_EQ(Value::TypeObject, root->type()); |
| 308 | 308 |
| 309 root = parseJSON("{\"number\":9.87654321, \"null\":null , \"S\" : \"str\" }"
); | 309 root = parseJSON("{\"number\":9.87654321, \"null\":null , \"S\" : \"str\" }"
); |
| 310 ASSERT_TRUE(root.get()); | 310 ASSERT_TRUE(root.get()); |
| 311 EXPECT_EQ(Value::TypeObject, root->type()); | 311 EXPECT_EQ(Value::TypeObject, root->type()); |
| 312 protocol::DictionaryValue* objectVal = DictionaryValue::cast(root.get()); | 312 protocol::DictionaryValue* objectVal = DictionaryValue::cast(root.get()); |
| 313 ASSERT_TRUE(objectVal); | 313 ASSERT_TRUE(objectVal); |
| 314 doubleVal = 0.0; | 314 doubleVal = 0.0; |
| 315 EXPECT_TRUE(objectVal->getNumber("number", &doubleVal)); | 315 EXPECT_TRUE(objectVal->getDouble("number", &doubleVal)); |
| 316 EXPECT_DOUBLE_EQ(9.87654321, doubleVal); | 316 EXPECT_DOUBLE_EQ(9.87654321, doubleVal); |
| 317 protocol::Value* nullVal = objectVal->get("null"); | 317 protocol::Value* nullVal = objectVal->get("null"); |
| 318 ASSERT_TRUE(nullVal); | 318 ASSERT_TRUE(nullVal); |
| 319 EXPECT_EQ(Value::TypeNull, nullVal->type()); | 319 EXPECT_EQ(Value::TypeNull, nullVal->type()); |
| 320 EXPECT_TRUE(objectVal->getString("S", &strVal)); | 320 EXPECT_TRUE(objectVal->getString("S", &strVal)); |
| 321 EXPECT_EQ("str", strVal); | 321 EXPECT_EQ("str", strVal); |
| 322 | 322 |
| 323 // Test newline equivalence. | 323 // Test newline equivalence. |
| 324 root2 = parseJSON( | 324 root2 = parseJSON( |
| 325 "{\n" | 325 "{\n" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 356 innerObject = objectVal->getObject("d"); | 356 innerObject = objectVal->getObject("d"); |
| 357 EXPECT_TRUE(innerObject); | 357 EXPECT_TRUE(innerObject); |
| 358 | 358 |
| 359 // Test keys with periods | 359 // Test keys with periods |
| 360 root = parseJSON("{\"a.b\":3,\"c\":2,\"d.e.f\":{\"g.h.i.j\":1}}"); | 360 root = parseJSON("{\"a.b\":3,\"c\":2,\"d.e.f\":{\"g.h.i.j\":1}}"); |
| 361 ASSERT_TRUE(root.get()); | 361 ASSERT_TRUE(root.get()); |
| 362 EXPECT_EQ(Value::TypeObject, root->type()); | 362 EXPECT_EQ(Value::TypeObject, root->type()); |
| 363 objectVal = DictionaryValue::cast(root.get()); | 363 objectVal = DictionaryValue::cast(root.get()); |
| 364 ASSERT_TRUE(objectVal); | 364 ASSERT_TRUE(objectVal); |
| 365 int integerValue = 0; | 365 int integerValue = 0; |
| 366 EXPECT_TRUE(objectVal->getNumber("a.b", &integerValue)); | 366 EXPECT_TRUE(objectVal->getInteger("a.b", &integerValue)); |
| 367 EXPECT_EQ(3, integerValue); | 367 EXPECT_EQ(3, integerValue); |
| 368 EXPECT_TRUE(objectVal->getNumber("c", &integerValue)); | 368 EXPECT_TRUE(objectVal->getInteger("c", &integerValue)); |
| 369 EXPECT_EQ(2, integerValue); | 369 EXPECT_EQ(2, integerValue); |
| 370 innerObject = objectVal->getObject("d.e.f"); | 370 innerObject = objectVal->getObject("d.e.f"); |
| 371 ASSERT_TRUE(innerObject); | 371 ASSERT_TRUE(innerObject); |
| 372 EXPECT_EQ(1U, innerObject->size()); | 372 EXPECT_EQ(1U, innerObject->size()); |
| 373 EXPECT_TRUE(innerObject->getNumber("g.h.i.j", &integerValue)); | 373 EXPECT_TRUE(innerObject->getInteger("g.h.i.j", &integerValue)); |
| 374 EXPECT_EQ(1, integerValue); | 374 EXPECT_EQ(1, integerValue); |
| 375 | 375 |
| 376 root = parseJSON("{\"a\":{\"b\":2},\"a.b\":1}"); | 376 root = parseJSON("{\"a\":{\"b\":2},\"a.b\":1}"); |
| 377 ASSERT_TRUE(root.get()); | 377 ASSERT_TRUE(root.get()); |
| 378 EXPECT_EQ(Value::TypeObject, root->type()); | 378 EXPECT_EQ(Value::TypeObject, root->type()); |
| 379 objectVal = DictionaryValue::cast(root.get()); | 379 objectVal = DictionaryValue::cast(root.get()); |
| 380 ASSERT_TRUE(objectVal); | 380 ASSERT_TRUE(objectVal); |
| 381 innerObject = objectVal->getObject("a"); | 381 innerObject = objectVal->getObject("a"); |
| 382 ASSERT_TRUE(innerObject); | 382 ASSERT_TRUE(innerObject); |
| 383 EXPECT_TRUE(innerObject->getNumber("b", &integerValue)); | 383 EXPECT_TRUE(innerObject->getInteger("b", &integerValue)); |
| 384 EXPECT_EQ(2, integerValue); | 384 EXPECT_EQ(2, integerValue); |
| 385 EXPECT_TRUE(objectVal->getNumber("a.b", &integerValue)); | 385 EXPECT_TRUE(objectVal->getInteger("a.b", &integerValue)); |
| 386 EXPECT_EQ(1, integerValue); | 386 EXPECT_EQ(1, integerValue); |
| 387 | 387 |
| 388 // Invalid, no closing brace | 388 // Invalid, no closing brace |
| 389 root = parseJSON("{\"a\": true"); | 389 root = parseJSON("{\"a\": true"); |
| 390 EXPECT_FALSE(root.get()); | 390 EXPECT_FALSE(root.get()); |
| 391 | 391 |
| 392 // Invalid, keys must be quoted | 392 // Invalid, keys must be quoted |
| 393 root = parseJSON("{foo:true}"); | 393 root = parseJSON("{foo:true}"); |
| 394 EXPECT_FALSE(root.get()); | 394 EXPECT_FALSE(root.get()); |
| 395 | 395 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 462 root = parseJSON("null"); | 462 root = parseJSON("null"); |
| 463 EXPECT_EQ(Value::TypeNull, root->type()); | 463 EXPECT_EQ(Value::TypeNull, root->type()); |
| 464 | 464 |
| 465 root = parseJSON("true"); | 465 root = parseJSON("true"); |
| 466 ASSERT_TRUE(root.get()); | 466 ASSERT_TRUE(root.get()); |
| 467 EXPECT_TRUE(root->asBoolean(&boolValue)); | 467 EXPECT_TRUE(root->asBoolean(&boolValue)); |
| 468 EXPECT_TRUE(boolValue); | 468 EXPECT_TRUE(boolValue); |
| 469 | 469 |
| 470 root = parseJSON("10"); | 470 root = parseJSON("10"); |
| 471 ASSERT_TRUE(root.get()); | 471 ASSERT_TRUE(root.get()); |
| 472 EXPECT_TRUE(root->asNumber(&integerValue)); | 472 EXPECT_TRUE(root->asInteger(&integerValue)); |
| 473 EXPECT_EQ(10, integerValue); | 473 EXPECT_EQ(10, integerValue); |
| 474 | 474 |
| 475 root = parseJSON("\"root\""); | 475 root = parseJSON("\"root\""); |
| 476 ASSERT_TRUE(root.get()); | 476 ASSERT_TRUE(root.get()); |
| 477 EXPECT_TRUE(root->asString(&strVal)); | 477 EXPECT_TRUE(root->asString(&strVal)); |
| 478 EXPECT_EQ("root", strVal); | 478 EXPECT_EQ("root", strVal); |
| 479 } | 479 } |
| 480 | 480 |
| 481 TEST(ParserTest, InvalidSanity) | 481 TEST(ParserTest, InvalidSanity) |
| 482 { | 482 { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 495 }; | 495 }; |
| 496 | 496 |
| 497 for (size_t i = 0; i < 11; ++i) { | 497 for (size_t i = 0; i < 11; ++i) { |
| 498 std::unique_ptr<protocol::Value> result = parseJSON(invalidJson[i]); | 498 std::unique_ptr<protocol::Value> result = parseJSON(invalidJson[i]); |
| 499 EXPECT_FALSE(result.get()); | 499 EXPECT_FALSE(result.get()); |
| 500 } | 500 } |
| 501 } | 501 } |
| 502 | 502 |
| 503 } // namespace protocol | 503 } // namespace protocol |
| 504 } // namespace blink | 504 } // namespace blink |
| OLD | NEW |