@@ -38,11 +38,20 @@ public function testCompileFindsCorrectImports(string $input, array $expectedJav
3838 ->willReturnCallback (function ($ importName ) {
3939 return match ($ importName ) {
4040 'module_in_importmap_local_asset ' => ImportMapEntry::createLocal ('module_in_importmap_local_asset ' , ImportMapType::JS , 'module_in_importmap_local_asset.js ' , false ),
41- 'module_in_importmap_remote ' => ImportMapEntry::createRemote ('module_in_importmap_remote ' , ImportMapType::JS , '/path/to /vendor/module_in_importmap_remote.js ' , '1.2.3 ' , 'could_be_anything ' , false ),
42- '@popperjs/core ' => ImportMapEntry::createRemote ('@popperjs/core ' , ImportMapType::JS , '/path/to /vendor/@popperjs/core.js ' , '1.2.3 ' , 'could_be_anything ' , false ),
41+ 'module_in_importmap_remote ' => ImportMapEntry::createRemote ('module_in_importmap_remote ' , ImportMapType::JS , '. /vendor/module_in_importmap_remote.js ' , '1.2.3 ' , 'could_be_anything ' , false ),
42+ '@popperjs/core ' => ImportMapEntry::createRemote ('@popperjs/core ' , ImportMapType::JS , '/project/assets /vendor/@popperjs/core.js ' , '1.2.3 ' , 'could_be_anything ' , false ),
4343 default => null ,
4444 };
4545 });
46+ $ importMapConfigReader ->expects ($ this ->any ())
47+ ->method ('convertPathToFilesystemPath ' )
48+ ->willReturnCallback (function ($ path ) {
49+ return match ($ path ) {
50+ './vendor/module_in_importmap_remote.js ' => '/project/assets/vendor/module_in_importmap_remote.js ' ,
51+ '/project/assets/vendor/@popperjs/core.js ' => '/project/assets/vendor/@popperjs/core.js ' ,
52+ default => throw new \RuntimeException (sprintf ('Unexpected path "%s" ' , $ path )),
53+ };
54+ });
4655
4756 $ assetMapper = $ this ->createMock (AssetMapperInterface::class);
4857 $ assetMapper ->expects ($ this ->any ())
@@ -61,8 +70,8 @@ public function testCompileFindsCorrectImports(string $input, array $expectedJav
6170 '/project/assets/other.js ' => new MappedAsset ('other.js ' , publicPathWithoutDigest: '/assets/other.js ' ),
6271 '/project/assets/subdir/foo.js ' => new MappedAsset ('subdir/foo.js ' , publicPathWithoutDigest: '/assets/subdir/foo.js ' ),
6372 '/project/assets/styles.css ' => new MappedAsset ('styles.css ' , publicPathWithoutDigest: '/assets/styles.css ' ),
64- '/path/to /vendor/module_in_importmap_remote.js ' => new MappedAsset ('module_in_importmap_remote.js ' , publicPathWithoutDigest: '/assets/module_in_importmap_remote.js ' ),
65- '/path/to /vendor/@popperjs/core.js ' => new MappedAsset ('assets/vendor/@popperjs/core.js ' , publicPathWithoutDigest: '/assets/@popperjs/core.js ' ),
73+ '/project/assets /vendor/module_in_importmap_remote.js ' => new MappedAsset ('module_in_importmap_remote.js ' , publicPathWithoutDigest: '/assets/module_in_importmap_remote.js ' ),
74+ '/project/assets /vendor/@popperjs/core.js ' => new MappedAsset ('assets/vendor/@popperjs/core.js ' , publicPathWithoutDigest: '/assets/@popperjs/core.js ' ),
6675 default => null ,
6776 };
6877 });
@@ -439,7 +448,12 @@ public function testCompileHandlesCircularBareImportAssets()
439448 $ importMapConfigReader ->expects ($ this ->once ())
440449 ->method ('findRootImportMapEntry ' )
441450 ->with ('@popperjs/core ' )
442- ->willReturn (ImportMapEntry::createRemote ('@popperjs/core ' , ImportMapType::JS , '/path/to/vendor/@popperjs/core.js ' , '1.2.3 ' , 'could_be_anything ' , false ));
451+ ->willReturn (ImportMapEntry::createRemote ('@popperjs/core ' , ImportMapType::JS , './vendor/@popperjs/core.js ' , '1.2.3 ' , 'could_be_anything ' , false ));
452+ $ importMapConfigReader ->expects ($ this ->any ())
453+ ->method ('convertPathToFilesystemPath ' )
454+ ->with ('./vendor/@popperjs/core.js ' )
455+ ->willReturn ('/path/to/vendor/@popperjs/core.js ' );
456+
443457 $ assetMapper = $ this ->createMock (AssetMapperInterface::class);
444458 $ assetMapper ->expects ($ this ->once ())
445459 ->method ('getAssetFromSourcePath ' )
0 commit comments