1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-11 19:24:01 +02:00

Merge pull request #4871 from javiexin/ticket/15274

[ticket/15274] Allow "custom" migrations to use parameters

* github.com:phpbb/phpbb:
  [ticket/15274] Allow "custom" migrations to use parameters
  [ticket/15274] Allow "custom" migrations to use parameters
This commit is contained in:
Tristan Darricau
2017-08-06 12:04:07 +02:00
6 changed files with 140 additions and 4 deletions

View File

@@ -15,6 +15,8 @@ require_once dirname(__FILE__) . '/migration/dummy.php';
require_once dirname(__FILE__) . '/migration/unfulfillable.php';
require_once dirname(__FILE__) . '/migration/if.php';
require_once dirname(__FILE__) . '/migration/recall.php';
require_once dirname(__FILE__) . '/migration/if_params.php';
require_once dirname(__FILE__) . '/migration/recall_params.php';
require_once dirname(__FILE__) . '/migration/revert.php';
require_once dirname(__FILE__) . '/migration/revert_with_dependency.php';
require_once dirname(__FILE__) . '/migration/fail.php';
@@ -185,6 +187,54 @@ class phpbb_dbal_migrator_test extends phpbb_database_test_case
$this->assertSame(10, $migrator_test_call_input);
}
public function test_if_params()
{
$this->migrator->set_migrations(array('phpbb_dbal_migration_if_params'));
// Don't like this, but I'm not sure there is any other way to do this
global $migrator_test_if_true_failed, $migrator_test_if_false_failed;
$migrator_test_if_true_failed = true;
$migrator_test_if_false_failed = false;
while (!$this->migrator->finished())
{
$this->migrator->update();
}
$this->assertFalse($migrator_test_if_true_failed, 'True test failed');
$this->assertFalse($migrator_test_if_false_failed, 'False test failed');
while ($this->migrator->migration_state('phpbb_dbal_migration_if_params') !== false)
{
$this->migrator->revert('phpbb_dbal_migration_if_params');
}
$this->assertFalse($migrator_test_if_true_failed, 'True test after revert failed');
$this->assertFalse($migrator_test_if_false_failed, 'False test after revert failed');
}
public function test_recall_params()
{
$this->migrator->set_migrations(array('phpbb_dbal_migration_recall_params'));
global $migrator_test_call_input;
// Run the schema first
$this->migrator->update();
$i = 0;
while (!$this->migrator->finished())
{
$this->migrator->update();
$this->assertSame($i, $migrator_test_call_input);
$i++;
}
$this->assertSame(5, $migrator_test_call_input);
}
public function test_revert()
{
global $migrator_test_revert_counter;