diff --git a/core/modules/node/src/Tests/NodeTokenLanguageTest.php b/core/modules/node/src/Tests/NodeTokenLanguageTest.php index a7d6c5b..4cfb327 100644 --- a/core/modules/node/src/Tests/NodeTokenLanguageTest.php +++ b/core/modules/node/src/Tests/NodeTokenLanguageTest.php @@ -94,30 +94,8 @@ public function testMultilingualNodeTokens() { $this->assertEqual($node->changed->value, $fields['changed'], 'Changed value matches'); // Perform unsanitized replacement for easy comparison. - $options = [ - 'langcode' => $langcode, - 'sanitize' => FALSE, - ]; - $token = '[node:title]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $node], $options); - $this->assertEqual($token_replacement, $node->title->value, $token . ' replaced successfully'); - - $token = '[node:body]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $node], $options); - $this->assertEqual($token_replacement, $node->body->value, $token . ' replaced successfully'); - - $token = '[node:author]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $node], $options); - $this->assertEqual($token_replacement, $node->getOwner()->getUsername(), $token . ' replaced successfully'); - - $token = '[node:created]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $node], $options); - $this->assertEqual($token_replacement, \Drupal::service('date.formatter')->format($node->created->value, 'medium', '', NULL, $langcode), $token . ' replaced successfully'); - - $token = '[node:changed]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $node], $options); - $this->assertEqual($token_replacement, \Drupal::service('date.formatter')->format($node->changed->value, 'medium', '', NULL, $langcode), $token . ' replaced successfully'); - + $token_options = ['langcode' => $langcode, 'sanitize' => FALSE]; + $this->verifyTokensCorrectlyReplaced($node, $token_options, $token_options); // Create italian translation with new field values. $langcode = 'it'; @@ -135,30 +113,8 @@ public function testMultilingualNodeTokens() { $this->assertEqual($translation->changed->value, $fields['changed'], 'Changed value matches'); // Perform unsanitized replacement for easy comparison. - $options = [ - 'langcode' => $langcode, - 'sanitize' => FALSE, - ]; - $token = '[node:title]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $translation], $options); - - $this->assertEqual($token_replacement, $translation->title->value, $token . ' replaced successfully'); - - $token = '[node:body]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $translation], $options); - $this->assertEqual($token_replacement, $translation->body->value, $token . ' replaced successfully'); - - $token = '[node:author]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $translation], $options); - $this->assertEqual($token_replacement, $translation->getOwner()->getUsername(), $token . ' replaced successfully'); - - $token = '[node:created]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $translation], $options); - $this->assertEqual($token_replacement, \Drupal::service('date.formatter')->format($translation->created->value, 'medium', '', NULL, $langcode), $token . ' replaced successfully'); - - $token = '[node:changed]'; - $token_replacement = \Drupal::token()->replace($token, ['node' => $translation], $options); - $this->assertEqual($token_replacement, \Drupal::service('date.formatter')->format($translation->changed->value, 'medium', '', NULL, $langcode), $token . ' replaced successfully'); + $token_options = ['langcode' => $langcode, 'sanitize' => FALSE]; + $this->verifyTokensCorrectlyReplaced($translation, $token_options, $token_options); } /** @@ -178,4 +134,33 @@ protected function getFieldsArray($langcode) { ]; } + protected function verifyTokensCorrectlyReplaced(Node $node, Array $tokens, Array $options) { + $tokens = [ + '[node:title]' => [ + 'expected' => $node->title->value, + 'actual' => \Drupal::token()->replace('[node:title]', ['node' => $node], $options) + ], + '[node:body]' => [ + 'expected' => $node->body->value, + 'actual' => $token_replacement = \Drupal::token()->replace('[node:body]', ['node' => $node], $options) + ], + '[node:author]' => [ + 'expected' => $node->getOwner()->getUsername(), + 'actual' => \Drupal::token()->replace('[node:author]', ['node' => $node], $options) + ], + '[node:created]' => [ + 'expected' => \Drupal::service('date.formatter')->format($node->created->value, 'medium', '', NULL, $options['langcode']), + 'actual' => \Drupal::token()->replace('[node:created]', ['node' => $node], $options) + ], + '[node:changed]' => [ + 'expected' => \Drupal::service('date.formatter')->format($node->changed->value, 'medium', '', NULL, $options['langcode']), + 'actual' => \Drupal::token()->replace('[node:changed]', ['node' => $node], $options), + ], + ]; + + foreach ($tokens as $token => $replacements) { + $this->assertEqual($replacements['expected'], $replacements['actual'], $token . ' replaced successfully'); + } + } + }