diff options
| author | Marc Alexander <admin@m-a-styles.de> | 2016-08-13 23:13:07 +0200 |
|---|---|---|
| committer | Marc Alexander <admin@m-a-styles.de> | 2016-08-13 23:13:07 +0200 |
| commit | 4466ef1bc4b66a4396054aa5e3c4eec9c97f231b (patch) | |
| tree | dce8ad8a5dc05069ee1df7b5c08987129361d18e /tests | |
| parent | 55f98d0941e17b473015baf07026efabaf676916 (diff) | |
| parent | 758fe20f4be7178fd4b9fd6ce48c5342cfcbce27 (diff) | |
| download | forums-4466ef1bc4b66a4396054aa5e3c4eec9c97f231b.tar forums-4466ef1bc4b66a4396054aa5e3c4eec9c97f231b.tar.gz forums-4466ef1bc4b66a4396054aa5e3c4eec9c97f231b.tar.bz2 forums-4466ef1bc4b66a4396054aa5e3c4eec9c97f231b.tar.xz forums-4466ef1bc4b66a4396054aa5e3c4eec9c97f231b.zip | |
Merge pull request #4410 from Elsensee/ticket/14742-32x
[ticket/14742-32x] Improvements to migrator
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 48c99ad1d0..f7275a4bbe 100644 --- a/tests/dbal/migrator_test.php +++ b/tests/dbal/migrator_test.php @@ -154,6 +154,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)); + } +} |
