function FormStateValuesTraitTest::testGetValueModifyReturn

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Form/FormStateValuesTraitTest.php \Drupal\Tests\Core\Form\FormStateValuesTraitTest::testGetValueModifyReturn()
  2. 10 core/tests/Drupal/Tests/Core/Form/FormStateValuesTraitTest.php \Drupal\Tests\Core\Form\FormStateValuesTraitTest::testGetValueModifyReturn()
  3. 11.x core/tests/Drupal/Tests/Core/Form/FormStateValuesTraitTest.php \Drupal\Tests\Core\Form\FormStateValuesTraitTest::testGetValueModifyReturn()

@covers ::getValue

File

core/tests/Drupal/Tests/Core/Form/FormStateValuesTraitTest.php, line 92

Class

FormStateValuesTraitTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Form%21FormStateValuesTrait.php/trait/FormStateValuesTrait/8.9.x" title="Provides methods to manage form state values." class="local">\Drupal\Core\Form\FormStateValuesTrait</a>

Namespace

Drupal\Tests\Core\Form

Code

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));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.