class FormStateValuesTraitTest
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Form/FormStateValuesTraitTest.php \Drupal\Tests\Core\Form\FormStateValuesTraitTest
- 8.9.x core/tests/Drupal/Tests/Core/Form/FormStateValuesTraitTest.php \Drupal\Tests\Core\Form\FormStateValuesTraitTest
- 10 core/tests/Drupal/Tests/Core/Form/FormStateValuesTraitTest.php \Drupal\Tests\Core\Form\FormStateValuesTraitTest
@coversDefaultClass \Drupal\Core\Form\FormStateValuesTrait
@group Form
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait
- class \Drupal\Tests\Core\Form\FormStateValuesTraitTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of FormStateValuesTraitTest
File
-
core/
tests/ Drupal/ Tests/ Core/ Form/ FormStateValuesTraitTest.php, line 15
Namespace
Drupal\Tests\Core\FormView source
class FormStateValuesTraitTest extends UnitTestCase {
/**
* Tests that setting the value for an element adds to the values.
*
* @covers ::setValueForElement
*/
public function testSetValueForElement() : void {
$element = [
'#parents' => [
'foo',
'bar',
],
];
$value = $this->randomMachineName();
$form_state = new FormStateValuesTraitStub();
$form_state->setValueForElement($element, $value);
$expected = [
'foo' => [
'bar' => $value,
],
];
$this->assertSame($expected, $form_state->getValues());
}
/**
* @covers ::getValue
*
* @dataProvider providerGetValue
*/
public function testGetValue($key, $expected, $default = NULL) : void {
$form_state = (new FormStateValuesTraitStub())->setValues([
'foo' => 'one',
'bar' => [
'baz' => 'two',
],
]);
$this->assertSame($expected, $form_state->getValue($key, $default));
}
/**
* Provides data to self::testGetValue().
*
* @return array[]
* Items are arrays of two items:
* - The key for which to get the value (string)
* - The expected value (mixed).
* - The default value (mixed).
*/
public static function providerGetValue() {
$data = [];
$data[] = [
'foo',
'one',
];
$data[] = [
[
'bar',
'baz',
],
'two',
];
$data[] = [
[
'foo',
'bar',
'baz',
],
NULL,
];
$data[] = [
'baz',
'baz',
'baz',
];
$data[] = [
NULL,
[
'foo' => 'one',
'bar' => [
'baz' => 'two',
],
],
];
return $data;
}
/**
* @covers ::getValue
*/
public function testGetValueModifyReturn() : void {
$initial_values = $values = [
'foo' => 'one',
'bar' => [
'baz' => 'two',
],
];
$form_state = (new FormStateValuesTraitStub())->setValues($values);
$value =& $form_state->getValue(NULL);
$this->assertSame($initial_values, $value);
$value = [
'bing' => 'bang',
];
$this->assertSame([
'bing' => 'bang',
], $form_state->getValues());
$this->assertSame('bang', $form_state->getValue('bing'));
$this->assertSame([
'bing' => 'bang',
], $form_state->getValue(NULL));
}
/**
* @covers ::setValue
*
* @dataProvider providerSetValue
*/
public function testSetValue($key, $value, $expected) : void {
$form_state = (new FormStateValuesTraitStub())->setValues([
'bar' => 'wrong',
]);
$form_state->setValue($key, $value);
$this->assertSame($expected, $form_state->getValues());
}
/**
* Provides data to self::testSetValue().
*
* @return array[]
* Items are arrays of two items:
* - The key for which to set a new value (string)
* - The new value to set (mixed).
* - The expected form state values after setting the new value (mixed[]).
*/
public static function providerSetValue() {
$data = [];
$data[] = [
'foo',
'one',
[
'bar' => 'wrong',
'foo' => 'one',
],
];
$data[] = [
[
'bar',
'baz',
],
'two',
[
'bar' => [
'baz' => 'two',
],
],
];
$data[] = [
[
'foo',
'bar',
'baz',
],
NULL,
[
'bar' => 'wrong',
'foo' => [
'bar' => [
'baz' => NULL,
],
],
],
];
return $data;
}
/**
* @covers ::hasValue
*
* @dataProvider providerHasValue
*/
public function testHasValue($key, $expected) : void {
$form_state = (new FormStateValuesTraitStub())->setValues([
'foo' => 'one',
'bar' => [
'baz' => 'two',
],
'true' => TRUE,
'false' => FALSE,
'null' => NULL,
]);
$this->assertSame($expected, $form_state->hasValue($key));
}
/**
* Provides data to self::testHasValue().
*
* @return array[]
* Items are arrays of two items:
* - The key to check for in the form state (string)
* - Whether the form state has an item with that key (bool).
*/
public static function providerHasValue() {
$data = [];
$data[] = [
'foo',
TRUE,
];
$data[] = [
[
'bar',
'baz',
],
TRUE,
];
$data[] = [
[
'foo',
'bar',
'baz',
],
FALSE,
];
$data[] = [
'true',
TRUE,
];
$data[] = [
'false',
TRUE,
];
$data[] = [
'null',
FALSE,
];
return $data;
}
/**
* @covers ::isValueEmpty
*
* @dataProvider providerIsValueEmpty
*/
public function testIsValueEmpty($key, $expected) : void {
$form_state = (new FormStateValuesTraitStub())->setValues([
'foo' => 'one',
'bar' => [
'baz' => 'two',
],
'true' => TRUE,
'false' => FALSE,
'null' => NULL,
]);
$this->assertSame($expected, $form_state->isValueEmpty($key));
}
/**
* Provides data to self::testIsValueEmpty().
*
* @return array[]
* Items are arrays of two items:
* - The key to check for in the form state (string)
* - Whether the value is empty or not (bool).
*/
public static function providerIsValueEmpty() {
$data = [];
$data[] = [
'foo',
FALSE,
];
$data[] = [
[
'bar',
'baz',
],
FALSE,
];
$data[] = [
[
'foo',
'bar',
'baz',
],
TRUE,
];
$data[] = [
'true',
FALSE,
];
$data[] = [
'false',
TRUE,
];
$data[] = [
'null',
TRUE,
];
return $data;
}
}
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. | |
FormStateValuesTraitTest::providerGetValue | public static | function | Provides data to self::testGetValue(). | |
FormStateValuesTraitTest::providerHasValue | public static | function | Provides data to self::testHasValue(). | |
FormStateValuesTraitTest::providerIsValueEmpty | public static | function | Provides data to self::testIsValueEmpty(). | |
FormStateValuesTraitTest::providerSetValue | public static | function | Provides data to self::testSetValue(). | |
FormStateValuesTraitTest::testGetValue | public | function | @covers ::getValue | |
FormStateValuesTraitTest::testGetValueModifyReturn | public | function | @covers ::getValue | |
FormStateValuesTraitTest::testHasValue | public | function | @covers ::hasValue | |
FormStateValuesTraitTest::testIsValueEmpty | public | function | @covers ::isValueEmpty | |
FormStateValuesTraitTest::testSetValue | public | function | @covers ::setValue | |
FormStateValuesTraitTest::testSetValueForElement | public | function | Tests that setting the value for an element adds to the values. | |
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 | 355 | |
UnitTestCase::setUpBeforeClass | public static | function |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.