diff options
Diffstat (limited to 'tests/dbal/migrator_test.php')
| -rw-r--r-- | tests/dbal/migrator_test.php | 52 | 
1 files changed, 51 insertions, 1 deletions
| diff --git a/tests/dbal/migrator_test.php b/tests/dbal/migrator_test.php index 372b2dbe1e..7d6b100449 100644 --- a/tests/dbal/migrator_test.php +++ b/tests/dbal/migrator_test.php @@ -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/revert_table.php'; @@ -42,7 +44,7 @@ class phpbb_dbal_migrator_test extends phpbb_database_test_case  		return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/migrator.xml');  	} -	public function setUp() +	public function setUp(): void  	{  		parent::setUp(); @@ -196,6 +198,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; | 
