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

Side by Side Diff: third_party/WebKit/Source/platform/inspector_protocol/ParserTest.cpp

Issue 1745423002: DevTools: migrate protocol values from RefPtr to OwnPtr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
OLDNEW
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/Values.h" 7 #include "platform/inspector_protocol/Values.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "wtf/text/StringBuilder.h" 9 #include "wtf/text/StringBuilder.h"
10 10
11 namespace blink { 11 namespace blink {
12 namespace protocol { 12 namespace protocol {
13 13
14 TEST(ParserTest, Reading) 14 TEST(ParserTest, Reading)
15 { 15 {
16 RefPtr<protocol::Value> tmpValue; 16 protocol::Value* tmpValue;
17 RefPtr<protocol::Value> root; 17 OwnPtr<protocol::Value> root;
18 RefPtr<protocol::Value> root2; 18 OwnPtr<protocol::Value> root2;
19 String strVal; 19 String strVal;
20 int intVal = 0; 20 int intVal = 0;
21 21
22 // some whitespace checking 22 // some whitespace checking
23 root = parseJSON(" null "); 23 root = parseJSON(" null ");
24 ASSERT_TRUE(root.get()); 24 ASSERT_TRUE(root.get());
25 EXPECT_EQ(Value::TypeNull, root->type()); 25 EXPECT_EQ(Value::TypeNull, root->type());
26 26
27 // Invalid JSON string 27 // Invalid JSON string
28 root = parseJSON("nu"); 28 root = parseJSON("nu");
(...skipping 22 matching lines...) Expand all
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 RefPtr<protocol::ListValue> list = ListValue::cast(root); 61 protocol::ListValue* list = ListValue::cast(root.get());
62 ASSERT_TRUE(list); 62 ASSERT_TRUE(list);
63 EXPECT_EQ(2u, list->length()); 63 EXPECT_EQ(2u, list->length());
64 tmpValue = list->get(0); 64 tmpValue = list->get(0);
65 ASSERT_TRUE(tmpValue.get()); 65 ASSERT_TRUE(tmpValue);
66 EXPECT_TRUE(tmpValue->asNumber(&intVal)); 66 EXPECT_TRUE(tmpValue->asNumber(&intVal));
67 EXPECT_EQ(1, intVal); 67 EXPECT_EQ(1, intVal);
68 tmpValue = list->get(1); 68 tmpValue = list->get(1);
69 ASSERT_TRUE(tmpValue.get()); 69 ASSERT_TRUE(tmpValue);
70 EXPECT_TRUE(tmpValue->asNumber(&intVal)); 70 EXPECT_TRUE(tmpValue->asNumber(&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); 74 list = ListValue::cast(root.get());
75 ASSERT_TRUE(list); 75 ASSERT_TRUE(list);
76 EXPECT_EQ(3u, list->length()); 76 EXPECT_EQ(3u, list->length());
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::TypeNumber, root->type());
80 EXPECT_TRUE(root->asNumber(&intVal)); 80 EXPECT_TRUE(root->asNumber(&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"
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 EXPECT_FALSE(root.get()); 247 EXPECT_FALSE(root.get());
248 root = parseJSON("\"not enough escape chars\\u123\""); 248 root = parseJSON("\"not enough escape chars\\u123\"");
249 EXPECT_FALSE(root.get()); 249 EXPECT_FALSE(root.get());
250 root = parseJSON("\"extra backslash at end of input\\\""); 250 root = parseJSON("\"extra backslash at end of input\\\"");
251 EXPECT_FALSE(root.get()); 251 EXPECT_FALSE(root.get());
252 252
253 // Basic array 253 // Basic array
254 root = parseJSON("[true, false, null]"); 254 root = parseJSON("[true, false, null]");
255 ASSERT_TRUE(root.get()); 255 ASSERT_TRUE(root.get());
256 EXPECT_EQ(Value::TypeArray, root->type()); 256 EXPECT_EQ(Value::TypeArray, root->type());
257 list = ListValue::cast(root); 257 list = ListValue::cast(root.get());
258 ASSERT_TRUE(list); 258 ASSERT_TRUE(list);
259 EXPECT_EQ(3U, list->length()); 259 EXPECT_EQ(3U, list->length());
260 260
261 // Empty array 261 // Empty array
262 root = parseJSON("[]"); 262 root = parseJSON("[]");
263 ASSERT_TRUE(root.get()); 263 ASSERT_TRUE(root.get());
264 EXPECT_EQ(Value::TypeArray, root->type()); 264 EXPECT_EQ(Value::TypeArray, root->type());
265 list = ListValue::cast(root); 265 list = ListValue::cast(root.get());
266 ASSERT_TRUE(list); 266 ASSERT_TRUE(list);
267 EXPECT_EQ(0U, list->length()); 267 EXPECT_EQ(0U, list->length());
268 268
269 // Nested arrays 269 // Nested arrays
270 root = parseJSON("[[true], [], [false, [], [null]], null]"); 270 root = parseJSON("[[true], [], [false, [], [null]], null]");
271 ASSERT_TRUE(root.get()); 271 ASSERT_TRUE(root.get());
272 EXPECT_EQ(Value::TypeArray, root->type()); 272 EXPECT_EQ(Value::TypeArray, root->type());
273 list = ListValue::cast(root); 273 list = ListValue::cast(root.get());
274 ASSERT_TRUE(list); 274 ASSERT_TRUE(list);
275 EXPECT_EQ(4U, list->length()); 275 EXPECT_EQ(4U, list->length());
276 276
277 // Invalid, missing close brace. 277 // Invalid, missing close brace.
278 root = parseJSON("[[true], [], [false, [], [null]], null"); 278 root = parseJSON("[[true], [], [false, [], [null]], null");
279 EXPECT_FALSE(root.get()); 279 EXPECT_FALSE(root.get());
280 280
281 // Invalid, too many commas 281 // Invalid, too many commas
282 root = parseJSON("[true,, null]"); 282 root = parseJSON("[true,, null]");
283 EXPECT_FALSE(root.get()); 283 EXPECT_FALSE(root.get());
284 284
285 // Invalid, no commas 285 // Invalid, no commas
286 root = parseJSON("[true null]"); 286 root = parseJSON("[true null]");
287 EXPECT_FALSE(root.get()); 287 EXPECT_FALSE(root.get());
288 288
289 // Invalid, trailing comma 289 // Invalid, trailing comma
290 root = parseJSON("[true,]"); 290 root = parseJSON("[true,]");
291 EXPECT_FALSE(root.get()); 291 EXPECT_FALSE(root.get());
292 292
293 root = parseJSON("[true]"); 293 root = parseJSON("[true]");
294 ASSERT_TRUE(root.get()); 294 ASSERT_TRUE(root.get());
295 EXPECT_EQ(Value::TypeArray, root->type()); 295 EXPECT_EQ(Value::TypeArray, root->type());
296 list = ListValue::cast(root); 296 list = ListValue::cast(root.get());
297 ASSERT_TRUE(list); 297 ASSERT_TRUE(list);
298 EXPECT_EQ(1U, list->length()); 298 EXPECT_EQ(1U, list->length());
299 tmpValue = list->get(0); 299 tmpValue = list->get(0);
300 ASSERT_TRUE(tmpValue.get()); 300 ASSERT_TRUE(tmpValue);
301 EXPECT_EQ(Value::TypeBoolean, tmpValue->type()); 301 EXPECT_EQ(Value::TypeBoolean, tmpValue->type());
302 bool boolValue = false; 302 bool boolValue = false;
303 EXPECT_TRUE(tmpValue->asBoolean(&boolValue)); 303 EXPECT_TRUE(tmpValue->asBoolean(&boolValue));
304 EXPECT_TRUE(boolValue); 304 EXPECT_TRUE(boolValue);
305 305
306 // Don't allow empty elements. 306 // Don't allow empty elements.
307 root = parseJSON("[,]"); 307 root = parseJSON("[,]");
308 EXPECT_FALSE(root.get()); 308 EXPECT_FALSE(root.get());
309 root = parseJSON("[true,,]"); 309 root = parseJSON("[true,,]");
310 EXPECT_FALSE(root.get()); 310 EXPECT_FALSE(root.get());
311 root = parseJSON("[,true,]"); 311 root = parseJSON("[,true,]");
312 EXPECT_FALSE(root.get()); 312 EXPECT_FALSE(root.get());
313 root = parseJSON("[true,,false]"); 313 root = parseJSON("[true,,false]");
314 EXPECT_FALSE(root.get()); 314 EXPECT_FALSE(root.get());
315 315
316 // Test objects 316 // Test objects
317 root = parseJSON("{}"); 317 root = parseJSON("{}");
318 ASSERT_TRUE(root.get()); 318 ASSERT_TRUE(root.get());
319 EXPECT_EQ(Value::TypeObject, root->type()); 319 EXPECT_EQ(Value::TypeObject, root->type());
320 320
321 root = parseJSON("{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\ " }"); 321 root = parseJSON("{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\ " }");
322 ASSERT_TRUE(root.get()); 322 ASSERT_TRUE(root.get());
323 EXPECT_EQ(Value::TypeObject, root->type()); 323 EXPECT_EQ(Value::TypeObject, root->type());
324 RefPtr<protocol::DictionaryValue> objectVal = DictionaryValue::cast(root); 324 protocol::DictionaryValue* objectVal = DictionaryValue::cast(root.get());
325 ASSERT_TRUE(objectVal); 325 ASSERT_TRUE(objectVal);
326 doubleVal = 0.0; 326 doubleVal = 0.0;
327 EXPECT_TRUE(objectVal->getNumber("number", &doubleVal)); 327 EXPECT_TRUE(objectVal->getNumber("number", &doubleVal));
328 EXPECT_DOUBLE_EQ(9.87654321, doubleVal); 328 EXPECT_DOUBLE_EQ(9.87654321, doubleVal);
329 RefPtr<protocol::Value> nullVal = objectVal->get("null"); 329 protocol::Value* nullVal = objectVal->get("null");
330 ASSERT_TRUE(nullVal.get()); 330 ASSERT_TRUE(nullVal);
331 EXPECT_EQ(Value::TypeNull, nullVal->type()); 331 EXPECT_EQ(Value::TypeNull, nullVal->type());
332 EXPECT_TRUE(objectVal->getString("S", &strVal)); 332 EXPECT_TRUE(objectVal->getString("S", &strVal));
333 EXPECT_EQ("str", strVal); 333 EXPECT_EQ("str", strVal);
334 334
335 // Test newline equivalence. 335 // Test newline equivalence.
336 root2 = parseJSON( 336 root2 = parseJSON(
337 "{\n" 337 "{\n"
338 " \"number\":9.87654321,\n" 338 " \"number\":9.87654321,\n"
339 " \"null\":null,\n" 339 " \"null\":null,\n"
340 " \"\\x53\":\"str\"\n" 340 " \"\\x53\":\"str\"\n"
341 "}\n"); 341 "}\n");
342 ASSERT_TRUE(root2.get()); 342 ASSERT_TRUE(root2.get());
343 EXPECT_EQ(root->toJSONString(), root2->toJSONString()); 343 EXPECT_EQ(root->toJSONString(), root2->toJSONString());
344 344
345 root2 = parseJSON( 345 root2 = parseJSON(
346 "{\r\n" 346 "{\r\n"
347 " \"number\":9.87654321,\r\n" 347 " \"number\":9.87654321,\r\n"
348 " \"null\":null,\r\n" 348 " \"null\":null,\r\n"
349 " \"\\x53\":\"str\"\r\n" 349 " \"\\x53\":\"str\"\r\n"
350 "}\r\n"); 350 "}\r\n");
351 ASSERT_TRUE(root2.get()); 351 ASSERT_TRUE(root2.get());
352 EXPECT_EQ(root->toJSONString(), root2->toJSONString()); 352 EXPECT_EQ(root->toJSONString(), root2->toJSONString());
353 353
354 // Test nesting 354 // Test nesting
355 root = parseJSON("{\"inner\":{\"array\":[true]},\"false\":false,\"d\":{}}"); 355 root = parseJSON("{\"inner\":{\"array\":[true]},\"false\":false,\"d\":{}}");
356 ASSERT_TRUE(root.get()); 356 ASSERT_TRUE(root.get());
357 EXPECT_EQ(Value::TypeObject, root->type()); 357 EXPECT_EQ(Value::TypeObject, root->type());
358 objectVal = DictionaryValue::cast(root); 358 objectVal = DictionaryValue::cast(root.get());
359 ASSERT_TRUE(objectVal); 359 ASSERT_TRUE(objectVal);
360 RefPtr<protocol::DictionaryValue> innerObject = objectVal->getObject("inner" ); 360 protocol::DictionaryValue* innerObject = objectVal->getObject("inner");
361 ASSERT_TRUE(innerObject.get()); 361 ASSERT_TRUE(innerObject);
362 RefPtr<protocol::ListValue> innerArray = innerObject->getArray("array"); 362 protocol::ListValue* innerArray = innerObject->getArray("array");
363 ASSERT_TRUE(innerArray.get()); 363 ASSERT_TRUE(innerArray);
364 EXPECT_EQ(1U, innerArray->length()); 364 EXPECT_EQ(1U, innerArray->length());
365 boolValue = true; 365 boolValue = true;
366 EXPECT_TRUE(objectVal->getBoolean("false", &boolValue)); 366 EXPECT_TRUE(objectVal->getBoolean("false", &boolValue));
367 EXPECT_FALSE(boolValue); 367 EXPECT_FALSE(boolValue);
368 innerObject = objectVal->getObject("d"); 368 innerObject = objectVal->getObject("d");
369 EXPECT_TRUE(innerObject.get()); 369 EXPECT_TRUE(innerObject);
370 370
371 // Test keys with periods 371 // Test keys with periods
372 root = parseJSON("{\"a.b\":3,\"c\":2,\"d.e.f\":{\"g.h.i.j\":1}}"); 372 root = parseJSON("{\"a.b\":3,\"c\":2,\"d.e.f\":{\"g.h.i.j\":1}}");
373 ASSERT_TRUE(root.get()); 373 ASSERT_TRUE(root.get());
374 EXPECT_EQ(Value::TypeObject, root->type()); 374 EXPECT_EQ(Value::TypeObject, root->type());
375 objectVal = DictionaryValue::cast(root); 375 objectVal = DictionaryValue::cast(root.get());
376 ASSERT_TRUE(objectVal); 376 ASSERT_TRUE(objectVal);
377 int integerValue = 0; 377 int integerValue = 0;
378 EXPECT_TRUE(objectVal->getNumber("a.b", &integerValue)); 378 EXPECT_TRUE(objectVal->getNumber("a.b", &integerValue));
379 EXPECT_EQ(3, integerValue); 379 EXPECT_EQ(3, integerValue);
380 EXPECT_TRUE(objectVal->getNumber("c", &integerValue)); 380 EXPECT_TRUE(objectVal->getNumber("c", &integerValue));
381 EXPECT_EQ(2, integerValue); 381 EXPECT_EQ(2, integerValue);
382 innerObject = objectVal->getObject("d.e.f"); 382 innerObject = objectVal->getObject("d.e.f");
383 ASSERT_TRUE(innerObject.get()); 383 ASSERT_TRUE(innerObject);
384 EXPECT_EQ(1, innerObject->size()); 384 EXPECT_EQ(1, innerObject->size());
385 EXPECT_TRUE(innerObject->getNumber("g.h.i.j", &integerValue)); 385 EXPECT_TRUE(innerObject->getNumber("g.h.i.j", &integerValue));
386 EXPECT_EQ(1, integerValue); 386 EXPECT_EQ(1, integerValue);
387 387
388 root = parseJSON("{\"a\":{\"b\":2},\"a.b\":1}"); 388 root = parseJSON("{\"a\":{\"b\":2},\"a.b\":1}");
389 ASSERT_TRUE(root.get()); 389 ASSERT_TRUE(root.get());
390 EXPECT_EQ(Value::TypeObject, root->type()); 390 EXPECT_EQ(Value::TypeObject, root->type());
391 objectVal = DictionaryValue::cast(root); 391 objectVal = DictionaryValue::cast(root.get());
392 ASSERT_TRUE(objectVal); 392 ASSERT_TRUE(objectVal);
393 innerObject = objectVal->getObject("a"); 393 innerObject = objectVal->getObject("a");
394 ASSERT_TRUE(innerObject.get()); 394 ASSERT_TRUE(innerObject);
395 EXPECT_TRUE(innerObject->getNumber("b", &integerValue)); 395 EXPECT_TRUE(innerObject->getNumber("b", &integerValue));
396 EXPECT_EQ(2, integerValue); 396 EXPECT_EQ(2, integerValue);
397 EXPECT_TRUE(objectVal->getNumber("a.b", &integerValue)); 397 EXPECT_TRUE(objectVal->getNumber("a.b", &integerValue));
398 EXPECT_EQ(1, integerValue); 398 EXPECT_EQ(1, integerValue);
399 399
400 // Invalid, no closing brace 400 // Invalid, no closing brace
401 root = parseJSON("{\"a\": true"); 401 root = parseJSON("{\"a\": true");
402 EXPECT_FALSE(root.get()); 402 EXPECT_FALSE(root.get());
403 403
404 // Invalid, keys must be quoted 404 // Invalid, keys must be quoted
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 // A few thousand adjacent lists is fine. 440 // A few thousand adjacent lists is fine.
441 StringBuilder notEvil; 441 StringBuilder notEvil;
442 notEvil.reserveCapacity(15010); 442 notEvil.reserveCapacity(15010);
443 notEvil.append('['); 443 notEvil.append('[');
444 for (int i = 0; i < 5000; ++i) 444 for (int i = 0; i < 5000; ++i)
445 notEvil.append("[],"); 445 notEvil.append("[],");
446 notEvil.append("[]]"); 446 notEvil.append("[]]");
447 root = parseJSON(notEvil.toString()); 447 root = parseJSON(notEvil.toString());
448 ASSERT_TRUE(root.get()); 448 ASSERT_TRUE(root.get());
449 EXPECT_EQ(Value::TypeArray, root->type()); 449 EXPECT_EQ(Value::TypeArray, root->type());
450 list = ListValue::cast(root); 450 list = ListValue::cast(root.get());
451 ASSERT_TRUE(list); 451 ASSERT_TRUE(list);
452 EXPECT_EQ(5001U, list->length()); 452 EXPECT_EQ(5001U, list->length());
453 453
454 // Test utf8 encoded input 454 // Test utf8 encoded input
455 root = parseJSON("\"\\xe7\\xbd\\x91\\xe9\\xa1\\xb5\""); 455 root = parseJSON("\"\\xe7\\xbd\\x91\\xe9\\xa1\\xb5\"");
456 ASSERT_TRUE(root.get()); 456 ASSERT_TRUE(root.get());
457 EXPECT_EQ(Value::TypeString, root->type()); 457 EXPECT_EQ(Value::TypeString, root->type());
458 EXPECT_TRUE(root->asString(&strVal)); 458 EXPECT_TRUE(root->asString(&strVal));
459 UChar tmp4[] = {0x7f51, 0x9875}; 459 UChar tmp4[] = {0x7f51, 0x9875};
460 EXPECT_EQ(String(tmp4, WTF_ARRAY_LENGTH(tmp4)), strVal); 460 EXPECT_EQ(String(tmp4, WTF_ARRAY_LENGTH(tmp4)), strVal);
461 461
462 root = parseJSON("{\"path\": \"/tmp/\\xc3\\xa0\\xc3\\xa8\\xc3\\xb2.png\"}"); 462 root = parseJSON("{\"path\": \"/tmp/\\xc3\\xa0\\xc3\\xa8\\xc3\\xb2.png\"}");
463 ASSERT_TRUE(root.get()); 463 ASSERT_TRUE(root.get());
464 EXPECT_EQ(Value::TypeObject, root->type()); 464 EXPECT_EQ(Value::TypeObject, root->type());
465 objectVal = DictionaryValue::cast(root); 465 objectVal = DictionaryValue::cast(root.get());
466 ASSERT_TRUE(objectVal); 466 ASSERT_TRUE(objectVal);
467 EXPECT_TRUE(objectVal->getString("path", &strVal)); 467 EXPECT_TRUE(objectVal->getString("path", &strVal));
468 UChar tmp5[] = {0x2f, 0x74, 0x6d, 0x70, 0x2f, 0xe0, 0xe8, 0xf2, 0x2e, 0x70, 0x6e, 0x67}; 468 UChar tmp5[] = {0x2f, 0x74, 0x6d, 0x70, 0x2f, 0xe0, 0xe8, 0xf2, 0x2e, 0x70, 0x6e, 0x67};
469 EXPECT_EQ(String(tmp5, WTF_ARRAY_LENGTH(tmp5)), strVal); 469 EXPECT_EQ(String(tmp5, WTF_ARRAY_LENGTH(tmp5)), strVal);
470 470
471 // Test invalid utf8 encoded input 471 // Test invalid utf8 encoded input
472 root = parseJSON("\"345\\xb0\\xa1\\xb0\\xa2\""); 472 root = parseJSON("\"345\\xb0\\xa1\\xb0\\xa2\"");
473 ASSERT_FALSE(root.get()); 473 ASSERT_FALSE(root.get());
474 root = parseJSON("\"123\\xc0\\x81\""); 474 root = parseJSON("\"123\\xc0\\x81\"");
475 ASSERT_FALSE(root.get()); 475 ASSERT_FALSE(root.get());
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 "\"\\u123g\"", 537 "\"\\u123g\"",
538 "{\n\"eh:\n}", 538 "{\n\"eh:\n}",
539 "////", 539 "////",
540 "*/**/", 540 "*/**/",
541 "/**/", 541 "/**/",
542 "/*/", 542 "/*/",
543 "//**/" 543 "//**/"
544 }; 544 };
545 545
546 for (size_t i = 0; i < WTF_ARRAY_LENGTH(invalidJson); ++i) { 546 for (size_t i = 0; i < WTF_ARRAY_LENGTH(invalidJson); ++i) {
547 RefPtr<protocol::Value> result = parseJSON(invalidJson[i]); 547 OwnPtr<protocol::Value> result = parseJSON(invalidJson[i]);
548 EXPECT_FALSE(result.get()); 548 EXPECT_FALSE(result.get());
549 } 549 }
550 } 550 }
551 551
552 } // namespace protocol 552 } // namespace protocol
553 } // namespace blink 553 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698