Issue #3496319 by spokje: [random test failure] CommentPreviewTest::testCommentPreview

(cherry picked from commit 2ba2f9f3fe)
merge-requests/10881/head
catch 2025-01-10 12:26:34 +00:00
parent a2d4afd162
commit 590371cadd
5 changed files with 9 additions and 14 deletions

View File

@ -45,7 +45,7 @@ class CommentPreviewTest extends CommentTestBase {
// Test escaping of the username on the preview form.
\Drupal::service('module_installer')->install(['user_hooks_test']);
\Drupal::state()->set('user_hooks_test_user_format_name_alter', TRUE);
\Drupal::keyValue('user_hooks_test')->set('user_format_name_alter', TRUE);
$edit = [];
$edit['subject[0][value]'] = $this->randomMachineName(8);
$edit['comment_body[0][value]'] = $this->randomMachineName(16);
@ -53,7 +53,7 @@ class CommentPreviewTest extends CommentTestBase {
$this->submitForm($edit, 'Preview');
$this->assertSession()->assertEscaped('<em>' . $this->webUser->id() . '</em>');
\Drupal::state()->set('user_hooks_test_user_format_name_alter_safe', TRUE);
\Drupal::keyValue('user_hooks_test')->set('user_format_name_alter_safe', TRUE);
$this->drupalGet('node/' . $this->node->id());
$this->submitForm($edit, 'Preview');
$this->assertInstanceOf(MarkupInterface::class, $this->webUser->getDisplayName());

View File

@ -7,16 +7,12 @@ namespace Drupal\user_hooks_test\Hook;
use Drupal\Component\Render\FormattableMarkup;
use Drupal\Core\Hook\Attribute\Hook;
use Drupal\Core\Session\AccountInterface;
use Drupal\Core\State\StateInterface;
/**
* Contains hook implementations.
*/
class UserHooksTest {
public function __construct(protected StateInterface $state) {
}
/**
* Alters the username.
*
@ -29,8 +25,8 @@ class UserHooksTest {
*/
#[Hook('user_format_name_alter')]
public function userFormatNameAlter(&$name, AccountInterface $account): void {
if ($this->state->get('user_hooks_test_user_format_name_alter', FALSE)) {
if ($this->state->get('user_hooks_test_user_format_name_alter_safe', FALSE)) {
if (\Drupal::keyValue('user_hooks_test')->get('user_format_name_alter', FALSE)) {
if (\Drupal::keyValue('user_hooks_test')->get('user_format_name_alter_safe', FALSE)) {
$name = new FormattableMarkup('<em>@uid</em>', ['@uid' => $account->id()]);
}
else {

View File

@ -36,7 +36,7 @@ class UserEditTest extends BrowserTestBase {
// Check that the default value in user name field
// is the raw value and not a formatted one.
\Drupal::state()->set('user_hooks_test_user_format_name_alter', TRUE);
\Drupal::keyValue('user_hooks_test')->set('user_format_name_alter', TRUE);
\Drupal::service('module_installer')->install(['user_hooks_test']);
Cache::invalidateTags(['rendered']);
$this->drupalGet('user/' . $user1->id() . '/edit');

View File

@ -51,8 +51,8 @@ class UserTokenReplaceTest extends BrowserTestBase {
'language' => $language_interface,
];
\Drupal::state()->set('user_hooks_test_user_format_name_alter', TRUE);
\Drupal::state()->set('user_hooks_test_user_format_name_alter_safe', TRUE);
\Drupal::keyValue('user_hooks_test')->set('user_format_name_alter', TRUE);
\Drupal::keyValue('user_hooks_test')->set('user_format_name_alter_safe', TRUE);
// Create two users and log them in one after another.
$user1 = $this->drupalCreateUser([]);
@ -173,8 +173,7 @@ class UserTokenReplaceTest extends BrowserTestBase {
}
// Generate user display name tokens when safe markup is returned.
// @see user_hooks_test_user_format_name_alter()
\Drupal::state()->set('user_hooks_test_user_format_name_alter_safe', TRUE);
\Drupal::keyValue('user_hooks_test')->set('user_format_name_alter_safe', TRUE);
$input = '[user:display-name] [current-user:display-name]';
$expected = "<em>{$user1->id()}</em> <em>{$user2->id()}</em>";
$output = $token_service->replace($input, ['user' => $user1]);

View File

@ -46,7 +46,7 @@ class UserEntityLabelTest extends KernelTestBase {
$this->assertEmpty($anonymous->getAccountName());
// Set to test the altered username.
\Drupal::state()->set('user_hooks_test_user_format_name_alter', TRUE);
\Drupal::keyValue('user_hooks_test')->set('user_format_name_alter', TRUE);
// The user display name should be altered.
$this->assertEquals('<em>' . $account->id() . '</em>', $account->getDisplayName());