public function RandomGeneratorTrait::randomString in Drupal 10
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/RandomGeneratorTrait.php \Drupal\Tests\RandomGeneratorTrait::randomString()
- 9 core/tests/Drupal/Tests/RandomGeneratorTrait.php \Drupal\Tests\RandomGeneratorTrait::randomString()
Generates a pseudo-random string of ASCII characters of codes 32 to 126.
Do not use this method when special characters are not possible (e.g., in machine or file names that have already been validated); instead, use \Drupal\Tests\RandomGeneratorTrait::randomMachineName(). If $length is greater than 3 the random string will include at least one ampersand ('&') and at least one greater than ('>') character to ensure coverage for special characters and avoid the introduction of random test failures.
Parameters
int $length: Length of random string to generate.
Return value
string Pseudo-randomly generated unique string including special characters.
See also
\Drupal\Component\Utility\Random::string()
69 calls to RandomGeneratorTrait::randomString()
- AssertMailTraitTest::testAssertMailTrait in core/
tests/ Drupal/ KernelTests/ Core/ Test/ AssertMailTraitTest.php - Tests that the maintenance theme initializes the theme and its base themes.
- CacheCollectorTest::providerTestInvalidCharacters in core/
tests/ Drupal/ KernelTests/ Core/ Cache/ CacheCollectorTest.php - Data provider for ::testCacheCollector().
- CommentDepthTest::testCommentDepth in core/
modules/ comment/ tests/ src/ Kernel/ Views/ CommentDepthTest.php - Test the comment depth.
- CommentLinksTest::testLinkApprove in core/
modules/ comment/ tests/ src/ Kernel/ Views/ CommentLinksTest.php - Tests the comment approve link.
- CommentLinksTest::testLinkReply in core/
modules/ comment/ tests/ src/ Kernel/ Views/ CommentLinksTest.php - Tests the comment reply link.
File
- core/
tests/ Drupal/ Tests/ RandomGeneratorTrait.php, line 37
Class
- RandomGeneratorTrait
- Provides random generator utility methods.
Namespace
Drupal\TestsCode
public function randomString($length = 8) {
if ($length < 4) {
return $this
->getRandomGenerator()
->string($length, TRUE, [
$this,
'randomStringValidate',
]);
}
// To prevent the introduction of random test failures, ensure that the
// returned string contains a character that needs to be escaped in HTML by
// injecting an ampersand into it.
$replacement_pos = floor($length / 2);
// Remove 2 from the length to account for the ampersand and greater than
// characters.
$string = $this
->getRandomGenerator()
->string($length - 2, TRUE, [
$this,
'randomStringValidate',
]);
return substr_replace($string, '>&', $replacement_pos, 0);
}