Unverified Commit 76b1a8ba authored by Lee Rowlands's avatar Lee Rowlands
Browse files

Issue #3236789 by alexpott: Drupal\Core\Controller\TitleResolver::getTitle()...

Issue #3236789 by alexpott: Drupal\Core\Controller\TitleResolver::getTitle() can result in PHP 8.1 deprecation notices due to NULL being set as placeholder values
parent 217f555b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -65,8 +65,8 @@ public function getTitle(Request $request, Route $route) {
      $args = [];
      if (($raw_parameters = $request->attributes->get('_raw_variables'))) {
        foreach ($raw_parameters->all() as $key => $value) {
          $args['@' . $key] = $value;
          $args['%' . $key] = $value;
          $args['@' . $key] = $value ?? '';
          $args['%' . $key] = $value ?? '';
        }
      }
      if ($title_arguments = $route->getDefault('_title_arguments')) {
+18 −0
Original line number Diff line number Diff line
@@ -102,6 +102,24 @@ public function providerTestStaticTitleWithParameter() {
    ];
  }

  /**
   * Tests a static title with a NULL value parameter.
   *
   * @see \Drupal\Core\Controller\TitleResolver::getTitle()
   */
  public function testStaticTitleWithNullValueParameter() {
    $raw_variables = new ParameterBag(['test' => NULL, 'test2' => 'value']);
    $request = new Request();
    $request->attributes->set('_raw_variables', $raw_variables);

    $route = new Route('/test-route', ['_title' => 'static title %test @test']);
    $translatable_markup = $this->titleResolver->getTitle($request, $route);
    $this->assertSame('', $translatable_markup->getArguments()['@test']);
    $this->assertSame('', $translatable_markup->getArguments()['%test']);
    $this->assertSame('value', $translatable_markup->getArguments()['@test2']);
    $this->assertSame('value', $translatable_markup->getArguments()['%test2']);
  }

  /**
   * Tests a dynamic title.
   *