Test extra extension catalog against local sources

This commit is contained in:
Fabien Potencier
2026-08-23 09:10:03 +02:00
parent dba79330db
commit 4212ac1303
2 changed files with 36 additions and 0 deletions
@@ -55,6 +55,24 @@ class ExtensionsTest extends TestCase
$this->assertCatalogCovers($entry['tags'], array_map(static fn ($parser) => $parser->getTag(), $extension->getTokenParsers()), 'tag', $entry['package']);
}
public function testCatalogUsesExtensionsFromCurrentCheckout(): void
{
$extraDir = \dirname(__DIR__, 2);
if (!is_dir($extraDir.'/html-extra')) {
$this->markTestSkipped('The extra packages are not checked out locally.');
}
foreach (self::provideCatalog() as [$entry]) {
$extension = $this->loadExtension($entry);
$this->assertSame(
realpath($extraDir.'/'.$entry['name'].'-extra'),
realpath(\dirname((string) (new \ReflectionObject($extension))->getFileName())),
);
}
}
public static function provideCatalog(): iterable
{
// The catalog duplicates names owned by seven separate packages, so read it back from the constant.
+18
View File
@@ -6,6 +6,24 @@
"homepage": "https://twig.symfony.com",
"license": "MIT",
"minimum-stability": "dev",
"repositories": [
{
"type": "path",
"url": "../*-extra",
"options": {
"symlink": true,
"versions": {
"twig/cache-extra": "3.x-dev",
"twig/cssinliner-extra": "3.x-dev",
"twig/html-extra": "3.x-dev",
"twig/inky-extra": "3.x-dev",
"twig/intl-extra": "3.x-dev",
"twig/markdown-extra": "3.x-dev",
"twig/string-extra": "3.x-dev"
}
}
}
],
"authors": [
{
"name": "Fabien Potencier",