function UpdateRegistryTest::testGetPendingUpdateInformationWithExistingUpdates

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Core/Update/UpdateRegistryTest.php \Drupal\Tests\Core\Update\UpdateRegistryTest::testGetPendingUpdateInformationWithExistingUpdates()
  2. 8.9.x core/tests/Drupal/Tests/Core/Update/UpdateRegistryTest.php \Drupal\Tests\Core\Update\UpdateRegistryTest::testGetPendingUpdateInformationWithExistingUpdates()
  3. 11.x core/tests/Drupal/Tests/Core/Update/UpdateRegistryTest.php \Drupal\Tests\Core\Update\UpdateRegistryTest::testGetPendingUpdateInformationWithExistingUpdates()

@covers ::getPendingUpdateInformation

File

core/tests/Drupal/Tests/Core/Update/UpdateRegistryTest.php, line 359

Class

UpdateRegistryTest
@coversDefaultClass \Drupal\Core\Update\UpdateRegistry @group Update

Namespace

Drupal\Tests\Core\Update

Code

public function testGetPendingUpdateInformationWithExistingUpdates() : void {
    $this->setupBasicExtensions();
    $key_value = $this->prophesize(KeyValueStoreInterface::class);
    $key_value->get('existing_updates', [])
        ->willReturn([
        'module_a_post_update_a',
        'theme_d_post_update_a',
        'theme_d_post_update_b',
    ]);
    $key_value = $key_value->reveal();
    $theme_handler = $this->prophesize(ThemeHandlerInterface::class);
    $theme_handler->listInfo()
        ->willReturn([
        'theme_d' => [
            'type' => 'theme_d',
            'pathname' => 'core/themes/theme_d/theme_d.info.yml',
        ],
    ]);
    $theme_handler = $theme_handler->reveal();
    $update_registry = new UpdateRegistry('vfs://drupal', 'sites/default', [
        'module_a' => [
            'type' => 'module',
            'pathname' => 'core/modules/module_a/module_a.info.yml',
            'filename' => 'module_a.module',
        ],
        'module_b' => [
            'type' => 'module',
            'pathname' => 'core/modules/module_b/module_b.info.yml',
            'filename' => 'module_b.module',
        ],
    ], $key_value, $theme_handler, 'post_update');
    // Confirm the updates are sorted alphabetically.
    $expected = [];
    $expected['module_a']['pending']['b'] = 'Module A update B.';
    $expected['module_a']['start'] = 'b';
    $expected['module_b']['pending']['a'] = 'Module B update A.';
    $expected['module_b']['start'] = 'a';
    $expected['theme_d']['pending']['c'] = 'Theme D update C.';
    $expected['theme_d']['start'] = 'c';
    $this->assertEquals($expected, $update_registry->getPendingUpdateInformation());
}

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