diff --git a/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php b/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php
index 163c2b87504b6..f4406ade4923e 100644
--- a/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php
+++ b/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php
@@ -159,7 +159,7 @@ private function createWelcomeResponse(): Response
$docVersion = substr(Kernel::VERSION, 0, 3);
ob_start();
- include_once \dirname(__DIR__).'/Resources/welcome.html.php';
+ include \dirname(__DIR__).'/Resources/welcome.html.php';
return new Response(ob_get_clean(), Response::HTTP_NOT_FOUND);
}
diff --git a/src/Symfony/Component/HttpKernel/Resources/welcome.html.php b/src/Symfony/Component/HttpKernel/Resources/welcome.html.php
index 93df86a5ecd26..24f68806b8254 100644
--- a/src/Symfony/Component/HttpKernel/Resources/welcome.html.php
+++ b/src/Symfony/Component/HttpKernel/Resources/welcome.html.php
@@ -1,3 +1,118 @@
+
+SVG;
+
+// SVG icons from the Tabler Icons project
+// MIT License - Copyright (c) 2020-2023 Paweł Kuna
+// https://github.com/tabler/tabler-icons/blob/master/LICENSE
+
+$renderBoxIconSvg = <<
+SVG;
+
+$renderFolderIconSvg = <<
+SVG;
+
+$renderInfoIconSvg = <<
+SVG;
+
+$renderNextStepIconSvg = <<
+SVG;
+
+$renderLearnIconSvg = <<
+SVG;
+
+$renderCommunityIconSvg = <<
+SVG;
+
+$renderUpdatesIconSvg = <<
+SVG;
+
+$renderWavesSvg = <<
+SVG;
+?>
@@ -111,7 +226,7 @@
-
+
Welcome to
Symfony
@@ -121,24 +236,24 @@
-
-
+
You are using Symfony version
-
-
+
Your application is ready at:
-
-
+
You are seeing this page because the homepage URL is not configured and debug mode is enabled.
Next Step
-
+
Create your first page
to replace this placeholder page.
@@ -148,7 +263,7 @@
@@ -157,7 +272,7 @@
-
-
- SVG;
- }
-
- // SVG icons from the Tabler Icons project
- // MIT License - Copyright (c) 2020-2023 Paweł Kuna
- // https://github.com/tabler/tabler-icons/blob/master/LICENSE
-
- function renderBoxIconSvg()
- {
- return <<
- SVG;
- }
-
- function renderFolderIconSvg()
- {
- return <<
- SVG;
- }
-
- function renderInfoIconSvg()
- {
- return <<
- SVG;
- }
-
- function renderNextStepIconSvg()
- {
- return <<
- SVG;
- }
-
- function renderLearnIconSvg()
- {
- return <<
- SVG;
- }
-
- function renderCommunityIconSvg()
- {
- return <<
- SVG;
- }
-
- function renderUpdatesIconSvg()
- {
- return <<
- SVG;
- }
-
- function renderWavesSvg()
- {
- return <<
- SVG;
- }
- ?>
diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php
index 8c270a8e6e13e..209f2139ae206 100644
--- a/src/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php
+++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php
@@ -185,7 +185,7 @@ public function testNoRoutingConfigurationResponse()
$requestMatcher = $this->createMock(RequestMatcherInterface::class);
$requestMatcher
- ->expects($this->once())
+ ->expects($this->exactly(2))
->method('matchRequest')
->willThrowException(new NoConfigurationException())
;
@@ -196,6 +196,11 @@ public function testNoRoutingConfigurationResponse()
$kernel = new HttpKernel($dispatcher, new ControllerResolver(), $requestStack, new ArgumentResolver());
$request = Request::create('http://localhost/');
+
+ $response = $kernel->handle($request);
+ $this->assertSame(404, $response->getStatusCode());
+ $this->assertStringContainsString('Welcome', $response->getContent());
+
$response = $kernel->handle($request);
$this->assertSame(404, $response->getStatusCode());
$this->assertStringContainsString('Welcome', $response->getContent());