Commit 90cbf90
authored
[java] Enforce commas between JSON elements; accept trailing commas (#17738)
`hasNext()` previously consumed a leading comma if present, but never
required one. That accepted spec-invalid inputs like '[1 2 3]' (missing
separator) and '[,1]' (leading comma). It also rejected trailing commas
like '[1,2,3,]' because it consumed the comma and then tried to read
another element.
Track whether the current container has seen an element (parallel deque
kept in sync with the container stack, marked in expect()) and use it
in hasNext() to require a comma between elements while allowing a
single trailing comma before the container's closer.1 parent 740b692 commit 90cbf90
2 files changed
Lines changed: 166 additions & 8 deletions
File tree
- java
- src/org/openqa/selenium/json
- test/org/openqa/selenium/json
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
52 | 56 | | |
53 | 57 | | |
54 | 58 | | |
| |||
353 | 357 | | |
354 | 358 | | |
355 | 359 | | |
| 360 | + | |
| 361 | + | |
356 | 362 | | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
357 | 366 | | |
358 | | - | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
359 | 374 | | |
360 | 375 | | |
361 | 376 | | |
362 | | - | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
363 | 384 | | |
364 | 385 | | |
365 | 386 | | |
| |||
370 | 391 | | |
371 | 392 | | |
372 | 393 | | |
| 394 | + | |
373 | 395 | | |
374 | 396 | | |
375 | 397 | | |
| |||
380 | 402 | | |
381 | 403 | | |
382 | 404 | | |
383 | | - | |
384 | | - | |
| 405 | + | |
385 | 406 | | |
386 | 407 | | |
387 | 408 | | |
388 | 409 | | |
| 410 | + | |
| 411 | + | |
389 | 412 | | |
390 | 413 | | |
391 | 414 | | |
| |||
397 | 420 | | |
398 | 421 | | |
399 | 422 | | |
| 423 | + | |
400 | 424 | | |
401 | 425 | | |
402 | 426 | | |
| |||
407 | 431 | | |
408 | 432 | | |
409 | 433 | | |
410 | | - | |
411 | | - | |
412 | | - | |
| 434 | + | |
413 | 435 | | |
414 | 436 | | |
| 437 | + | |
| 438 | + | |
415 | 439 | | |
416 | 440 | | |
417 | 441 | | |
| |||
565 | 589 | | |
566 | 590 | | |
567 | 591 | | |
568 | | - | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
569 | 597 | | |
570 | 598 | | |
571 | 599 | | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
572 | 617 | | |
573 | 618 | | |
574 | 619 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
384 | 384 | | |
385 | 385 | | |
386 | 386 | | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
387 | 500 | | |
388 | 501 | | |
389 | 502 | | |
| |||
0 commit comments