8000 [AssetMapper] Allow DirectoryResource for cache · symfony/symfony@d2d1476 · GitHub
[go: up one dir, main page]

Skip to content

Commit d2d1476

Browse files
weaverryanfabpot
authored andcommitted
[AssetMapper] Allow DirectoryResource for cache
1 parent 15f384c commit d2d1476

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/Symfony/Component/AssetMapper/Factory/CachedMappedAssetFactory.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use Symfony\Component\AssetMapper\MappedAsset;
1515
use Symfony\Component\Config\ConfigCache;
16+
use Symfony\Component\Config\Resource\DirectoryResource;
1617
use Symfony\Component\Config\Resource\FileResource;
1718
use Symfony\Component\Config\Resource\ResourceInterface;
1819

@@ -59,7 +60,7 @@ private function getCacheFilePath(string $logicalPath, string $sourcePath): stri
5960
*/
6061
private function collectResourcesFromAsset(MappedAsset $mappedAsset): array
6162
{
62-
$resources = array_map(fn (string $path) => new FileResource($path), $mappedAsset->getFileDependencies());
63+
$resources = array_map(fn (string $path) => is_dir($path) ? new DirectoryResource($path) : new FileResource($path), $mappedAsset->getFileDependencies());
6364
$resources[] = new FileResource($mappedAsset->sourcePath);
6465

6566
foreach ($mappedAsset->getDependencies() as $dependency) {

src/Symfony/Component/AssetMapper/Tests/Factory/CachedMappedAssetFactoryTest.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDi 10000 ff line change
@@ -17,6 +17,7 @@
1717
use Symfony\Component\AssetMapper\Factory\MappedAssetFactoryInterface;
1818
use Symfony\Component\AssetMapper\MappedAsset;
1919
use Symfony\Component\Config\ConfigCache;
20+
use Symfony\Component\Config\Resource\DirectoryResource;
2021
use Symfony\Component\Config\Resource\FileResource;
2122
use Symfony\Component\Filesystem\Filesystem;
2223

@@ -103,6 +104,7 @@ public function testAssetConfigCacheResourceContainsDependencies()
103104

104105
// just adding any file as an example
105106
$mappedAsset->addFileDependency(__DIR__.'/../fixtures/importmap.php');
107+
$mappedAsset->addFileDependency(__DIR__.'/../fixtures/dir3');
106108

107109
$factory = $this->createMock(MappedAssetFactoryInterface::class);
108110
$factory->expects($this->once())
@@ -117,13 +119,14 @@ public function testAssetConfigCacheResourceContainsDependencies()
117119
$cachedFactory->createMappedAsset('file1.css', $sourcePath);
118120

119121
$configCacheMetadata = $this->loadConfigCacheMetadataFor($mappedAsset);
120-
$this->assertCount(4, $configCacheMetadata);
122+
$this->assertCount(5, $configCacheMetadata);
121123
$this->assertInstanceOf(FileResource::class, $configCacheMetadata[0]);
122-
$this->assertInstanceOf(FileResource::class, $configCacheMetadata[1]);
124+
$this->assertInstanceOf(DirectoryResource::class, $configCacheMetadata[1]);
125+
$this->assertInstanceOf(FileResource::class, $configCacheMetadata[2]);
123126
$this->assertSame(realpath(__DIR__.'/../fixtures/importmap.php'), $configCacheMetadata[0]->getResource());
124-
$this->assertSame($mappedAsset->sourcePath, $configCacheMetadata[1]->getResource());
125-
$this->assertSame($dependentOnContentAsset->sourcePath, $configCacheMetadata[2]->getResource());
126-
$this->assertSame($deeplyNestedAsset->sourcePath, $configCacheMetadata[3]->getResource());
127+
$this->assertSame($mappedAsset->sourcePath, $configCacheMetadata[2]->getResource());
128+
$this->assertSame($dependentOnContentAsset->sourcePath, $configCacheMetadata[3]->getResource());
129+
$this->assertSame($deeplyNestedAsset->sourcePath, $configCacheMetadata[4]->getResource());
127130
}
128131

129132
private function loadConfigCacheMetadataFor(MappedAsset $mappedAsset): array

0 commit comments

Comments
 (0)
0