Merge branch 'develop-ascraeus' into develop

# By Nicofuma
# Via Nathaniel Guse (1) and Nicofuma (1)
* develop-ascraeus:
  [ticket/12432] Correcting the assertion
  [ticket/12432] Adding unit test
  [ticket/12432] Migrator should not revert custom functions
This commit is contained in:
Nathaniel Guse 2014-05-01 22:16:07 -05:00
commit bf32b31f8a
3 changed files with 25 additions and 4 deletions

View file

@ -509,10 +509,17 @@ class migrator
throw new \phpbb\db\migration\exception('MIGRATION_INVALID_DATA_CUSTOM_NOT_CALLABLE', $step); throw new \phpbb\db\migration\exception('MIGRATION_INVALID_DATA_CUSTOM_NOT_CALLABLE', $step);
} }
return array( if ($reverse)
$parameters[0], {
array($last_result), return false;
); }
else
{
return array(
$parameters[0],
array($last_result),
);
}
break; break;
default: default:

View file

@ -35,6 +35,14 @@ class phpbb_dbal_migration_revert extends \phpbb\db\migration\migration
{ {
return array( return array(
array('config.add', array('foobartest', 0)), array('config.add', array('foobartest', 0)),
array('custom', array(array(&$this, 'my_custom_function'))),
); );
} }
function my_custom_function()
{
global $migrator_test_revert_counter;
$migrator_test_revert_counter += 1;
}
} }

View file

@ -174,10 +174,14 @@ class phpbb_dbal_migrator_test extends phpbb_database_test_case
public function test_revert() public function test_revert()
{ {
global $migrator_test_revert_counter;
// Make sure there are no other migrations in the db, this could cause issues // Make sure there are no other migrations in the db, this could cause issues
$this->db->sql_query("DELETE FROM phpbb_migrations"); $this->db->sql_query("DELETE FROM phpbb_migrations");
$this->migrator->load_migration_state(); $this->migrator->load_migration_state();
$migrator_test_revert_counter = 0;
$this->migrator->set_migrations(array('phpbb_dbal_migration_revert', 'phpbb_dbal_migration_revert_with_dependency')); $this->migrator->set_migrations(array('phpbb_dbal_migration_revert', 'phpbb_dbal_migration_revert_with_dependency'));
$this->assertFalse($this->migrator->migration_state('phpbb_dbal_migration_revert')); $this->assertFalse($this->migrator->migration_state('phpbb_dbal_migration_revert'));
@ -219,6 +223,8 @@ class phpbb_dbal_migrator_test extends phpbb_database_test_case
{ {
$this->fail('Revert did not remove test_column.'); $this->fail('Revert did not remove test_column.');
} }
$this->assertEquals(1, $migrator_test_revert_counter, 'Revert did call custom function again');
} }
public function test_fail() public function test_fail()