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:
@@ -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;
|
||||
|
Reference in New Issue
Block a user