diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/dbal/migration/if.php | 4 | ||||
| -rw-r--r-- | tests/dbal/migrator_test.php | 8 | ||||
| -rw-r--r-- | tests/migrator/reverse_update_data_test.php | 56 | 
3 files changed, 66 insertions, 2 deletions
diff --git a/tests/dbal/migration/if.php b/tests/dbal/migration/if.php index 98a66526ed..481250ea77 100644 --- a/tests/dbal/migration/if.php +++ b/tests/dbal/migration/if.php @@ -36,13 +36,13 @@ class phpbb_dbal_migration_if extends \phpbb\db\migration\migration  	{  		global $migrator_test_if_true_failed; -		$migrator_test_if_true_failed = false; +		$migrator_test_if_true_failed = !$migrator_test_if_true_failed;  	}  	function test_false()  	{  		global $migrator_test_if_false_failed; -		$migrator_test_if_false_failed = true; +		$migrator_test_if_false_failed = !$migrator_test_if_false_failed;  	}  } diff --git a/tests/dbal/migrator_test.php b/tests/dbal/migrator_test.php index 4c4306888c..798200eef1 100644 --- a/tests/dbal/migrator_test.php +++ b/tests/dbal/migrator_test.php @@ -156,6 +156,14 @@ class phpbb_dbal_migrator_test extends phpbb_database_test_case  		$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') !== false) +		{ +			$this->migrator->revert('phpbb_dbal_migration_if'); +		} + +		$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() diff --git a/tests/migrator/reverse_update_data_test.php b/tests/migrator/reverse_update_data_test.php new file mode 100644 index 0000000000..b85e48c64c --- /dev/null +++ b/tests/migrator/reverse_update_data_test.php @@ -0,0 +1,56 @@ +<?php +/** + * + * This file is part of the phpBB Forum Software package. + * + * @copyright (c) phpBB Limited <https://www.phpbb.com> + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +class reverse_update_data_test extends phpbb_test_case +{ +	/** @var \phpbb\db\migration\helper */ +	protected $helper; + +	public function setUp() +	{ +		parent::setUp(); + +		$this->helper = new \phpbb\db\migration\helper(); +	} + +	public function update_data_provider() +	{ +		return array( +			array( +				array( +					array('config.add', array('foobar', 1)), +					array('if', array( +						(false === true), +						array('permission.add', array('some_data')), +					)), +					array('config.remove', array('foobar')), +					array('custom', array(array($this, 'foo_bar'))), +					array('tool.method', array('test_data')), +				), +				array( +					array('tool.reverse', array('method', 'test_data')), +					array('config.reverse', array('remove', 'foobar')), +					array('config.reverse', array('add', 'foobar', 1)), +				), +			), +		); +	} + +	/** +	 * @dataProvider update_data_provider +	 */ +	public function test_get_schema_steps($data_changes, $expected) +	{ +		$this->assertEquals($expected, $this->helper->reverse_update_data($data_changes)); +	} +}  | 
