Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 10 |
DbUpdatesTrait | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
20 | |
0.00% |
0 / 10 |
enableUpdates | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
applyUpdates | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 4 |
|||
includeUpdates | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 4 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\system\Tests\Update\DbUpdatesTrait. | |
*/ | |
namespace Drupal\system\Tests\Update; | |
use Drupal\Core\StringTranslation\StringTranslationTrait; | |
use Drupal\Core\Url; | |
/** | |
* Provides methods to conditionally enable db update functions and apply | |
* pending db updates through the Update UI. | |
* | |
* This should be used only by classes extending \Drupal\simpletest\WebTestBase. | |
*/ | |
trait DbUpdatesTrait { | |
use StringTranslationTrait; | |
/** | |
* Enables db updates until the specified index. | |
* | |
* @param string $module | |
* The name of the module defining the update functions. | |
* @param string $group | |
* A name identifying the group of update functions to enable. | |
* @param $index | |
* The index of the last update function to run. | |
*/ | |
protected function enableUpdates($module, $group, $index) { | |
$this->container->get('state')->set($module . '.db_updates.' . $group, $index); | |
} | |
/** | |
* Applies any pending DB updates through the Update UI. | |
*/ | |
protected function applyUpdates() { | |
$this->drupalGet(Url::fromRoute('system.db_update')); | |
$this->clickLink($this->t('Continue')); | |
$this->clickLink($this->t('Apply pending updates')); | |
} | |
/** | |
* Conditionally load Update API functions for the specified group. | |
* | |
* @param string $module | |
* The name of the module defining the update functions. | |
* @param string $group | |
* A name identifying the group of update functions to enable. | |
*/ | |
public static function includeUpdates($module, $group) { | |
if ($index = \Drupal::state()->get($module . '.db_updates.' . $group)) { | |
module_load_include('inc', $module, 'update/' . $group . '_' . $index); | |
} | |
} | |
} |