class MachineNameTest
Same name in this branch
- 11.x core/modules/migrate/tests/src/Unit/process/MachineNameTest.php \Drupal\Tests\migrate\Unit\process\MachineNameTest
- 11.x core/tests/Drupal/KernelTests/Core/Render/Element/MachineNameTest.php \Drupal\KernelTests\Core\Render\Element\MachineNameTest
- 11.x core/tests/Drupal/FunctionalJavascriptTests/Core/MachineNameTest.php \Drupal\FunctionalJavascriptTests\Core\MachineNameTest
Same name in other branches
- 9 core/modules/migrate/tests/src/Unit/process/MachineNameTest.php \Drupal\Tests\migrate\Unit\process\MachineNameTest
- 9 core/tests/Drupal/KernelTests/Core/Render/Element/MachineNameTest.php \Drupal\KernelTests\Core\Render\Element\MachineNameTest
- 9 core/tests/Drupal/FunctionalJavascriptTests/Core/MachineNameTest.php \Drupal\FunctionalJavascriptTests\Core\MachineNameTest
- 9 core/tests/Drupal/Tests/Core/Render/Element/MachineNameTest.php \Drupal\Tests\Core\Render\Element\MachineNameTest
- 8.9.x core/modules/migrate/tests/src/Unit/process/MachineNameTest.php \Drupal\Tests\migrate\Unit\process\MachineNameTest
- 8.9.x core/tests/Drupal/FunctionalJavascriptTests/Core/MachineNameTest.php \Drupal\FunctionalJavascriptTests\Core\MachineNameTest
- 8.9.x core/tests/Drupal/Tests/Core/Render/Element/MachineNameTest.php \Drupal\Tests\Core\Render\Element\MachineNameTest
- 10 core/modules/migrate/tests/src/Unit/process/MachineNameTest.php \Drupal\Tests\migrate\Unit\process\MachineNameTest
- 10 core/tests/Drupal/KernelTests/Core/Render/Element/MachineNameTest.php \Drupal\KernelTests\Core\Render\Element\MachineNameTest
- 10 core/tests/Drupal/FunctionalJavascriptTests/Core/MachineNameTest.php \Drupal\FunctionalJavascriptTests\Core\MachineNameTest
- 10 core/tests/Drupal/Tests/Core/Render/Element/MachineNameTest.php \Drupal\Tests\Core\Render\Element\MachineNameTest
@coversDefaultClass \Drupal\Core\Render\Element\MachineName @group Render
Hierarchy
- class \Drupal\Tests\Core\Render\Element\MachineNameTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of MachineNameTest
File
-
core/
tests/ Drupal/ Tests/ Core/ Render/ Element/ MachineNameTest.php, line 21
Namespace
Drupal\Tests\Core\Render\ElementView source
class MachineNameTest extends UnitTestCase {
/**
* @covers ::valueCallback
*
* @dataProvider providerTestValueCallback
*/
public function testValueCallback($expected, $input) : void {
$element = [];
$form_state = $this->prophesize(FormStateInterface::class)
->reveal();
$this->assertSame($expected, MachineName::valueCallback($element, $input, $form_state));
}
/**
* Data provider for testValueCallback().
*/
public static function providerTestValueCallback() {
$data = [];
$data[] = [
NULL,
FALSE,
];
$data[] = [
NULL,
NULL,
];
$data[] = [
'',
[
'test',
],
];
$data[] = [
'test',
'test',
];
$data[] = [
'123',
123,
];
return $data;
}
/**
* @covers ::processMachineName
*/
public function testProcessMachineName() : void {
$form_state = new FormState();
$element = [
'#id' => 'test',
'#field_suffix' => 'test_suffix',
'#field_prefix' => 'test_prefix',
'#machine_name' => [
'source' => [
'test_source',
],
'maxlength' => 32,
'additional_property' => TRUE,
'#additional_property_with_hash' => TRUE,
],
// The process function requires these to be set. During regular form
// building they are always set.
'#name' => 'test_machine_name',
'#default_value' => NULL,
];
$complete_form = [
'test_source' => [
'#type' => 'textfield',
'#id' => 'source',
],
'test_machine_name' => $element,
];
$form_state->setCompleteForm($complete_form);
$language = $this->prophesize(LanguageInterface::class);
$language->getId()
->willReturn('xx-lolspeak');
$language_manager = $this->prophesize(LanguageManagerInterface::class);
$language_manager->getCurrentLanguage()
->willReturn($language);
$csrf_token = $this->prophesize(CsrfTokenGenerator::class);
$csrf_token->get('[^a-z0-9_]+')
->willReturn('tis-a-fine-token');
$moduleHandler = $this->prophesize(ModuleHandlerInterface::class);
$container = $this->prophesize(ContainerInterface::class);
$container->get('language_manager')
->willReturn($language_manager->reveal());
$container->get('csrf_token')
->willReturn($csrf_token->reveal());
$container->get('module_handler')
->willReturn($moduleHandler->reveal());
\Drupal::setContainer($container->reveal());
$element = MachineName::processMachineName($element, $form_state, $complete_form);
$settings = $element['#attached']['drupalSettings']['machineName']['#source'];
$allowed_options = [
'replace_pattern',
'replace',
'maxlength',
'target',
'label',
'field_prefix',
'field_suffix',
'suffix',
'replace_token',
];
$this->assertEmpty(array_diff_key($settings, array_flip($allowed_options)));
foreach ($allowed_options as $key) {
$this->assertArrayHasKey($key, $settings);
}
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
ExpectDeprecationTrait::expectDeprecation | public | function | Adds an expected deprecation. | |
ExpectDeprecationTrait::getCallableName | private static | function | Returns a callable as a string suitable for inclusion in a message. | |
ExpectDeprecationTrait::setUpErrorHandler | public | function | Sets up the test error handler. | |
ExpectDeprecationTrait::tearDownErrorHandler | public | function | Tears down the test error handler. | |
MachineNameTest::providerTestValueCallback | public static | function | Data provider for testValueCallback(). | |
MachineNameTest::testProcessMachineName | public | function | @covers ::processMachineName | |
MachineNameTest::testValueCallback | public | function | @covers ::valueCallback | |
RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |
RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | |
RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | |
RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | |
UnitTestCase::$root | protected | property | The app root. | |
UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |
UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase::getConfigStorageStub | public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase::setUp | protected | function | 358 | |
UnitTestCase::setUpBeforeClass | public static | function |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.