function UpdateRegistryTest::testGetPendingUpdateFunctionsExistingUpdates

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

@covers ::getPendingUpdateFunctions

File

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

Class

UpdateRegistryTest
Tests UpdateRegistry.

Namespace

Drupal\Tests\Core\Update

Code

public function testGetPendingUpdateFunctionsExistingUpdates() : 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.
    $this->assertEquals(array_values([
        'module_a_post_update_b',
        'module_b_post_update_a',
        'theme_d_post_update_c',
    ]), array_values($update_registry->getPendingUpdateFunctions()));
}

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