public function MachineNameControllerTest::providerTestMachineNameController in Drupal 9
Same name and namespace in other branches
- 8 core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php \Drupal\Tests\system\Unit\Transliteration\MachineNameControllerTest::providerTestMachineNameController()
Data provider for testMachineNameController().
Return value
array An array containing:
- An array of request parameters.
- The expected content of the JSONresponse.
See also
testMachineNameController()
File
- core/
modules/ system/ tests/ src/ Unit/ Transliteration/ MachineNameControllerTest.php, line 55
Class
- MachineNameControllerTest
- Tests that the machine name controller can transliterate strings as expected.
Namespace
Drupal\Tests\system\Unit\TransliterationCode
public function providerTestMachineNameController() {
$valid_data = [
[
[
'text' => 'Bob',
'langcode' => 'en',
],
'"Bob"',
],
[
[
'text' => 'Bob',
'langcode' => 'en',
'lowercase' => TRUE,
],
'"bob"',
],
[
[
'text' => 'Bob',
'langcode' => 'en',
'replace' => 'Alice',
'replace_pattern' => 'Bob',
],
'"Alice"',
],
[
[
'text' => 'Bob',
'langcode' => 'en',
'replace' => 'Alice',
'replace_pattern' => 'Tom',
],
'"Bob"',
],
[
[
'text' => 'Äwesome',
'langcode' => 'en',
'lowercase' => TRUE,
],
'"awesome"',
],
[
[
'text' => 'Äwesome',
'langcode' => 'de',
'lowercase' => TRUE,
],
'"aewesome"',
],
// Tests special characters replacement in the input text.
[
[
'text' => 'B?!"@\\/-ob@e',
'langcode' => 'en',
'lowercase' => TRUE,
'replace' => '_',
'replace_pattern' => '[^a-z0-9_.]+',
],
'"b_ob_e"',
],
// Tests @ character in the replace_pattern regex.
[
[
'text' => 'Bob@e\\0',
'langcode' => 'en',
'lowercase' => TRUE,
'replace' => '_',
'replace_pattern' => '[^a-z0-9_.@]+',
],
'"bob@e_0"',
],
// Tests null byte in the replace_pattern regex.
[
[
'text' => 'Bob',
'langcode' => 'en',
'lowercase' => TRUE,
'replace' => 'fail()',
'replace_pattern' => ".*@e\0",
],
'"bob"',
],
[
[
'text' => 'Bob@e',
'langcode' => 'en',
'lowercase' => TRUE,
'replace' => 'fail()',
'replace_pattern' => ".*@e\0",
],
'"fail()"',
],
];
$valid_data = array_map(function ($data) {
if (isset($data[0]['replace_pattern'])) {
$data[0]['replace_token'] = 'token-' . $data[0]['replace_pattern'];
}
return $data;
}, $valid_data);
return $valid_data;
}