|
14 | 14 | use PHPUnit\Framework\TestCase;
|
15 | 15 | use Symfony\Component\Yaml\Dumper;
|
16 | 16 | use Symfony\Component\Yaml\Parser;
|
| 17 | +use Symfony\Component\Yaml\Tag\TaggedValue; |
17 | 18 | use Symfony\Component\Yaml\Yaml;
|
18 | 19 |
|
19 | 20 | class DumperTest extends TestCase
|
@@ -434,6 +435,94 @@ public function testDumpingStdClassInstancesRespectsInlineLevel()
|
434 | 435 | inner2: c
|
435 | 436 | inner3: { deep1: d, deep2: e }
|
436 | 437 |
|
| 438 | +YAML; |
| 439 | + $this->assertSame($expected, $yaml); |
| 440 | + } |
| 441 | + |
| 442 | + public function testDumpingTaggedValueSequenceRespectsInlineLevel() |
| 443 | + { |
| 444 | + $data = [ |
| 445 | + new TaggedValue('user', [ |
| 446 | + 'username' => 'jane', |
| 447 | + ]), |
| 448 | + new TaggedValue('user', [ |
| 449 | + 'username' => 'john', |
| 450 | + ]), |
| 451 | + ]; |
| 452 | + |
| 453 | + $yaml = $this->dumper->dump($data, 2); |
| 454 | + |
| 455 | + $expected = <<<YAML |
| 456 | +- !user |
| 457 | + username: jane |
| 458 | +- !user |
| 459 | + username: john |
| 460 | +
|
| 461 | +YAML; |
| 462 | + $this->assertSame($expected, $yaml); |
| 463 | + } |
| 464 | + |
| 465 | + public function testDumpingTaggedValueSequenceWithInlinedTagValues() |
| 466 | + { |
| 467 | + $data = [ |
| 468 | + new TaggedValue('user', [ |
| 469 | + 'username' => 'jane', |
| 470 | + ]), |
| 471 | + new TaggedValue('user', [ |
| 472 | + 'username' => 'john', |
| 473 | + ]), |
| 474 | + ]; |
| 475 | + |
| 476 | + $yaml = $this->dumper->dump($data, 1); |
| 477 | + |
| 478 | + $expected = <<<YAML |
| 479 | +- !user { username: jane } |
| 480 | +- !user { username: john } |
| 481 | +
|
| 482 | +YAML; |
| 483 | + $this->assertSame($expected, $yaml); |
| 484 | + } |
| 485 | + |
| 486 | + public function testDumpingTaggedValueMapRespectsInlineLevel() |
| 487 | + { |
| 488 | + $data = [ |
| 489 | + 'user1' => new TaggedValue('user', [ |
| 490 | + 'username' => 'jane', |
| 491 | + ]), |
| 492 | + 'user2' => new TaggedValue('user', [ |
| 493 | + 'username' => 'john', |
| 494 | + ]), |
| 495 | + ]; |
| 496 | + |
| 497 | + $yaml = $this->dumper->dump($data, 2); |
| 498 | + |
| 499 | + $expected = <<<YAML |
| 500 | +user1: !user |
| 501 | + username: jane |
| 502 | +user2: !user |
| 503 | + username: john |
| 504 | +
|
| 505 | +YAML; |
| 506 | + $this->assertSame($expected, $yaml); |
| 507 | + } |
| 508 | + |
| 509 | + public function testDumpingTaggedValueMapWithInlinedTagValues() |
| 510 | + { |
| 511 | + $data = [ |
| 512 | + 'user1' => new TaggedValue('user', [ |
| 513 | + 'username' => 'jane', |
| 514 | + ]), |
| 515 | + 'user2' => new TaggedValue('user', [ |
| 516 | + 'username' => 'john', |
| 517 | + ]), |
| 518 | + ]; |
| 519 | + |
| 520 | + $yaml = $this->dumper->dump($data, 1); |
| 521 | + |
| 522 | + $expected = <<<YAML |
| 523 | +user1: !user { username: jane } |
| 524 | +user2: !user { username: john } |
| 525 | +
|
437 | 526 | YAML;
|
438 | 527 | $this->assertSame($expected, $yaml);
|
439 | 528 | }
|
|
0 commit comments