|
15 | 15 | use Symfony\Component\JsonEncoder\CacheWarmer\EncoderDecoderCacheWarmer;
|
16 | 16 | use Symfony\Component\JsonEncoder\Mapping\PropertyMetadataLoader;
|
17 | 17 | use Symfony\Component\JsonEncoder\Tests\Fixtures\Model\ClassicDummy;
|
| 18 | +use Symfony\Component\JsonEncoder\Tests\Fixtures\Model\DummyWithNameAttributes; |
18 | 19 | use Symfony\Component\TypeInfo\TypeResolver\TypeResolver;
|
19 | 20 |
|
20 | 21 | class EncoderDecoderCacheWarmerTest extends TestCase
|
@@ -42,24 +43,36 @@ protected function setUp(): void
|
42 | 43 |
|
43 | 44 | public function testWarmUp()
|
44 | 45 | {
|
45 |
| - $this->cacheWarmer()->warmUp('useless'); |
| 46 | + $this->cacheWarmer([ |
| 47 | + ClassicDummy::class => ['object' => true, 'list' => true], |
| 48 | + DummyWithNameAttributes::class => ['object' => true, 'list' => false], |
| 49 | + ])->warmUp('useless'); |
46 | 50 |
|
47 | 51 | $this->assertSame([
|
| 52 | + \sprintf('%s/5acb3571777e02a2712fb9a9126a338f.json.php', $this->encodersDir), |
48 | 53 | \sprintf('%s/d147026bb5d25e5012afcdc1543cf097.json.php', $this->encodersDir),
|
| 54 | + \sprintf('%s/de878efdd0bf652bdd72d1dc95f6d80d.json.php', $this->encodersDir), |
49 | 55 | ], glob($this->encodersDir.'/*'));
|
50 | 56 |
|
51 | 57 | $this->assertSame([
|
| 58 | + \sprintf('%s/5acb3571777e02a2712fb9a9126a338f.json.php', $this->decodersDir), |
| 59 | + \sprintf('%s/5acb3571777e02a2712fb9a9126a338f.json.stream.php', $this->decodersDir), |
52 | 60 | \sprintf('%s/d147026bb5d25e5012afcdc1543cf097.json.php', $this->decodersDir),
|
53 | 61 | \sprintf('%s/d147026bb5d25e5012afcdc1543cf097.json.stream.php', $this->decodersDir),
|
| 62 | + \sprintf('%s/de878efdd0bf652bdd72d1dc95f6d80d.json.php', $this->decodersDir), |
| 63 | + \sprintf('%s/de878efdd0bf652bdd72d1dc95f6d80d.json.stream.php', $this->decodersDir), |
54 | 64 | ], glob($this->decodersDir.'/*'));
|
55 | 65 | }
|
56 | 66 |
|
57 |
| - private function cacheWarmer(): EncoderDecoderCacheWarmer |
| 67 | + /** |
| 68 | + * @param array<class-string, array{object: bool, list: bool}> $encodableClasses |
| 69 | + */ |
| 70 | + private function cacheWarmer(array $encodableClasses = []): EncoderDecoderCacheWarmer |
58 | 71 | {
|
59 | 72 | $typeResolver = TypeResolver::create();
|
60 | 73 |
|
61 | 74 | return new EncoderDecoderCacheWarmer(
|
62 |
| - [ClassicDummy::class], |
| 75 | + $encodableClasses, |
63 | 76 | new PropertyMetadataLoader($typeResolver),
|
64 | 77 | new PropertyMetadataLoader($typeResolver),
|
65 | 78 | $this->encodersDir,
|
|
0 commit comments