function ComputedFileUrlTest::testSetValue

Same name and namespace in other branches
  1. 9 core/modules/file/tests/src/Kernel/ComputedFileUrlTest.php \Drupal\Tests\file\Kernel\ComputedFileUrlTest::testSetValue()
  2. 8.9.x core/modules/file/tests/src/Kernel/ComputedFileUrlTest.php \Drupal\Tests\file\Kernel\ComputedFileUrlTest::testSetValue()
  3. 10 core/modules/file/tests/src/Kernel/ComputedFileUrlTest.php \Drupal\Tests\file\Kernel\ComputedFileUrlTest::testSetValue()

@covers ::setValue

File

core/modules/file/tests/src/Kernel/ComputedFileUrlTest.php, line 55

Class

ComputedFileUrlTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21file%21src%21ComputedFileUrl.php/class/ComputedFileUrl/11.x" title="Computed file URL property class." class="local">\Drupal\file\ComputedFileUrl</a>

Namespace

Drupal\Tests\file\Kernel

Code

public function testSetValue() : void {
    $name = $this->randomMachineName();
    $parent = $this->prophesize(FieldItemInterface::class);
    $parent->onChange($name)
        ->shouldBeCalled();
    $definition = $this->prophesize(DataDefinitionInterface::class);
    $typed_data = new ComputedFileUrl($definition->reveal(), $name, $parent->reveal());
    // Setting the value explicitly should mean the parent entity is never
    // called into.
    $typed_data->setValue($this->testUrl);
    $this->assertSame($this->testUrl, $typed_data->getValue());
    // Do this a second time to confirm the same value is returned but the value
    // isn't retrieved from the parent entity again.
    $this->assertSame($this->testUrl, $typed_data->getValue());
}

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