class FormStateValuesTraitTest
Same name in other branches
- 9 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
- 11.x 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
- 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 13
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() {
$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) {
$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 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() {
$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) {
$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 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) {
$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 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) {
$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 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 | Deprecated | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|---|
FormStateValuesTraitTest::providerGetValue | public | function | Provides data to self::testGetValue(). | ||
FormStateValuesTraitTest::providerHasValue | public | function | Provides data to self::testHasValue(). | ||
FormStateValuesTraitTest::providerIsValueEmpty | public | function | Provides data to self::testIsValueEmpty(). | ||
FormStateValuesTraitTest::providerSetValue | public | 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. | ||
PhpunitCompatibilityTrait::getMock | Deprecated | public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait::setExpectedException | Deprecated | public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase::$randomGenerator | protected | property | The random generator. | ||
UnitTestCase::$root | protected | property | The app root. | 1 | |
UnitTestCase::assertArrayEquals | protected | function | Asserts if two arrays are equal by sorting them first. | ||
UnitTestCase::getBlockMockWithMachineName | Deprecated | protected | function | Mocks a block with a block plugin. | 1 |
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::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | ||
UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | ||
UnitTestCase::randomMachineName | public | function | Generates a unique random string containing letters and numbers. | ||
UnitTestCase::setUp | protected | function | 340 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.