class WebformFormHelperTest in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Unit/Utility/WebformFormHelperTest.php \Drupal\Tests\webform\Unit\Utility\WebformFormHelperTest
Tests webform helper utility.
@group webform
@coversDefaultClass \Drupal\webform\Utility\WebformFormHelper
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\webform\Unit\Utility\WebformFormHelperTest
Expanded class hierarchy of WebformFormHelperTest
File
- tests/
src/ Unit/ Utility/ WebformFormHelperTest.php, line 15
Namespace
Drupal\Tests\webform\Unit\UtilityView source
class WebformFormHelperTest extends UnitTestCase {
/**
* Tests WebformFormHelper::cleanupFormStateValues().
*
* @param array $values
* The array to run through WebformFormHelper::cleanupFormStateValues().
* @param array $keys
* (optional) An array of custom keys to be removed.
* @param string $expected
* The expected result from calling the function.
*
* @see WebformFormHelper::cleanupFormStateValues()
*
* @dataProvider providerCleanupFormStateValues
*/
public function testCleanupFormStateValues(array $values, array $keys, $expected) {
$result = WebformFormHelper::cleanupFormStateValues($values, $keys);
$this
->assertEquals($expected, $result);
}
/**
* Data provider for testCleanupFormStateValues().
*
* @see testCleanupFormStateValues()
*/
public function providerCleanupFormStateValues() {
$tests[] = [
[
'key' => 'value',
],
[],
[
'key' => 'value',
],
];
$tests[] = [
[
'key' => 'value',
'form_token' => 'ignored',
],
[],
[
'key' => 'value',
],
];
$tests[] = [
[
'key' => 'value',
'form_token' => 'ignored',
],
[
'key',
],
[],
];
return $tests;
}
/**
* Tests WebformFormHelper::flattenElements().
*
* @see WebformFormHelper::flattenElements()
*/
public function testFlattenElements() {
$elements = [
'one' => [
'#title' => 'one',
'two' => [
'#title' => 'two',
],
],
];
$flattened_elements = WebformFormHelper::flattenElements($elements);
// Check flattened elements.
$this
->assertEquals($flattened_elements, [
'one' => [
'#title' => 'one',
'two' => [
'#title' => 'two',
],
],
'two' => [
'#title' => 'two',
],
]);
// Check flattened elements references.
$elements['one']['#title'] .= '-UPDATED';
$elements['one']['two']['#title'] .= '-UPDATED';
$elements['one']['two']['#type'] = 'textfield';
$this
->assertEquals($flattened_elements, [
'one' => [
'#title' => 'one-UPDATED',
'two' => [
'#title' => 'two-UPDATED',
'#type' => 'textfield',
],
],
'two' => [
'#title' => 'two-UPDATED',
'#type' => 'textfield',
],
]);
// Check flattened elements with duplicate keys.
$elements = [
'one' => [
'#title' => 'one',
'two' => [
'#title' => 'two-FIRST',
],
],
'two' => [
'#title' => 'two-SECOND',
],
];
$flattened_elements = WebformFormHelper::flattenElements($elements);
$this
->assertEquals($flattened_elements, [
'one' => [
'#title' => 'one',
'two' => [
'#title' => 'two-FIRST',
],
],
'two' => [
[
'#title' => 'two-FIRST',
],
[
'#title' => 'two-SECOND',
],
],
]);
// Check flattened elements references with duplicate keys.
$elements['one']['#title'] .= '-UPDATED';
$elements['one']['two']['#title'] .= '-UPDATED';
$elements['one']['two']['#type'] = 'textfield';
$this
->assertEquals($flattened_elements, [
'one' => [
'#title' => 'one-UPDATED',
'two' => [
'#title' => 'two-FIRST-UPDATED',
'#type' => 'textfield',
],
],
'two' => [
[
'#title' => 'two-FIRST-UPDATED',
'#type' => 'textfield',
],
[
'#title' => 'two-SECOND',
],
],
]);
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. | |
UnitTestCase:: |
protected | function | 340 | |
WebformFormHelperTest:: |
public | function | Data provider for testCleanupFormStateValues(). | |
WebformFormHelperTest:: |
public | function | Tests WebformFormHelper::cleanupFormStateValues(). | |
WebformFormHelperTest:: |
public | function | Tests WebformFormHelper::flattenElements(). |