diff --git a/src/Symfony/XmlServiceMapFactory.php b/src/Symfony/XmlServiceMapFactory.php
index ad52c373..1cae5d97 100644
--- a/src/Symfony/XmlServiceMapFactory.php
+++ b/src/Symfony/XmlServiceMapFactory.php
@@ -48,11 +48,11 @@ public function create(): ServiceMap
}
$service = new Service(
- strpos((string) $attrs->id, '.') === 0 ? substr((string) $attrs->id, 1) : (string) $attrs->id,
+ $this->cleanServiceId((string) $attrs->id),
isset($attrs->class) ? (string) $attrs->class : null,
isset($attrs->public) && (string) $attrs->public === 'true',
isset($attrs->synthetic) && (string) $attrs->synthetic === 'true',
- isset($attrs->alias) ? (string) $attrs->alias : null
+ isset($attrs->alias) ? $this->cleanServiceId((string) $attrs->alias) : null
);
if ($service->getAlias() !== null) {
@@ -79,4 +79,9 @@ public function create(): ServiceMap
return new DefaultServiceMap($services);
}
+ private function cleanServiceId(string $id): string
+ {
+ return strpos($id, '.') === 0 ? substr($id, 1) : $id;
+ }
+
}
diff --git a/tests/Symfony/DefaultServiceMapTest.php b/tests/Symfony/DefaultServiceMapTest.php
index dc8487e5..a0a27d98 100644
--- a/tests/Symfony/DefaultServiceMapTest.php
+++ b/tests/Symfony/DefaultServiceMapTest.php
@@ -113,6 +113,17 @@ static function (?Service $service): void {
self::assertSame('withClass', $service->getAlias());
},
];
+ yield [
+ 'aliasForInlined',
+ static function (?Service $service): void {
+ self::assertNotNull($service);
+ self::assertSame('aliasForInlined', $service->getId());
+ self::assertNull($service->getClass());
+ self::assertFalse($service->isPublic());
+ self::assertFalse($service->isSynthetic());
+ self::assertSame('inlined', $service->getAlias());
+ },
+ ];
}
}
diff --git a/tests/Symfony/container.xml b/tests/Symfony/container.xml
index 4be3bd98..f456ab51 100644
--- a/tests/Symfony/container.xml
+++ b/tests/Symfony/container.xml
@@ -41,5 +41,7 @@
+
+