function ProjectReleaseTest::testCreateFromArray

Same name and namespace in other branches
  1. 9 core/modules/update/tests/src/Unit/ProjectReleaseTest.php \Drupal\Tests\update\Unit\ProjectReleaseTest::testCreateFromArray()
  2. 10 core/modules/update/tests/src/Unit/ProjectReleaseTest.php \Drupal\Tests\update\Unit\ProjectReleaseTest::testCreateFromArray()

Tests creating with valid data.

@covers ::createFromArray @covers ::isInsecure @covers ::isSecurityRelease @covers ::isPublished @covers ::isUnsupported @covers ::isUnsupported

@dataProvider providerCreateFromArray

Parameters

mixed[] $data: The data to test. It will be combined with ::getValidData() results.

mixed[] $expected: The values expected to be returned from the object methods.

File

core/modules/update/tests/src/Unit/ProjectReleaseTest.php, line 34

Class

ProjectReleaseTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21update%21src%21ProjectRelease.php/class/ProjectRelease/11.x" title="Provides a project release value object." class="local">\Drupal\update\ProjectRelease</a>

Namespace

Drupal\Tests\update\Unit

Code

public function testCreateFromArray(array $data, array $expected = []) : void {
    $data += $this->getValidData();
    $expected += $data;
    // If not set provide default values that match ::getValidData().
    $expected += [
        'is_published' => TRUE,
        'is_unsupported' => TRUE,
        'is_security_release' => TRUE,
        'is_insecure' => TRUE,
    ];
    $release = ProjectRelease::createFromArray($data);
    $this->assertInstanceOf(ProjectRelease::class, $release);
    $this->assertSame($expected['version'], $release->getVersion());
    $this->assertSame($expected['date'], $release->getDate());
    $this->assertSame($expected['download_link'], $release->getDownloadUrl());
    $this->assertSame($expected['release_link'], $release->getReleaseUrl());
    $this->assertSame($expected['core_compatibility_message'], $release->getCoreCompatibilityMessage());
    $this->assertSame($expected['core_compatible'], $release->isCoreCompatible());
    $this->assertSame($expected['is_published'], $release->isPublished());
    $this->assertSame($expected['is_unsupported'], $release->isUnsupported());
    $this->assertSame($expected['is_security_release'], $release->isSecurityRelease());
    $this->assertSame($expected['is_insecure'], $release->isInsecure());
}

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