From 7ccb6389124c5e990abaa917a6684fc3f4d072db Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Mon, 6 Jul 2015 01:43:43 +0200 Subject: [ticket/13987] Add --dry-run option to reparser CLI PHPBB3-13987 --- .../plugins/test_row_based_plugin.php | 40 +++++++++++++++------- 1 file changed, 28 insertions(+), 12 deletions(-) (limited to 'tests/text_reparser/plugins/test_row_based_plugin.php') diff --git a/tests/text_reparser/plugins/test_row_based_plugin.php b/tests/text_reparser/plugins/test_row_based_plugin.php index befcb48bda..9f9ecc609a 100644 --- a/tests/text_reparser/plugins/test_row_based_plugin.php +++ b/tests/text_reparser/plugins/test_row_based_plugin.php @@ -20,6 +20,21 @@ abstract class phpbb_textreparser_test_row_based_plugin extends phpbb_database_t abstract protected function get_reparser(); + protected function get_rows(array $ids) + { + $reparser = $this->get_reparser(); + $columns = $reparser->get_columns(); + $sql = 'SELECT ' . $columns['id'] . ' AS id, ' . $columns['text'] . ' AS text + FROM ' . $reparser->get_table_name() . ' + WHERE ' . $this->db->sql_in_set($columns['id'], $ids) . ' + ORDER BY id'; + $result = $this->db->sql_query($sql); + $rows = $this->db->sql_fetchrowset($result); + $this->db->sql_freeresult($result); + + return $rows; + } + public function setUp() { global $config; @@ -38,10 +53,19 @@ abstract class phpbb_textreparser_test_row_based_plugin extends phpbb_database_t $this->assertEquals(1000, $reparser->get_max_id()); } + public function test_dry_run() + { + $old_rows = $this->get_rows(array(1)); + $reparser = $this->get_reparser(); + $reparser->reparse_range(1, 1, true); + $new_rows = $this->get_rows(array(1)); + $this->assertEquals($old_rows, $new_rows); + } + /** - * @dataProvider getReparseTests + * @dataProvider get_reparse_tests */ - public function testReparse($min_id, $max_id, $expected) + public function test_reparse($min_id, $max_id, $expected) { $reparser = $this->get_reparser(); $reparser->reparse_range($min_id, $max_id); @@ -52,18 +76,10 @@ abstract class phpbb_textreparser_test_row_based_plugin extends phpbb_database_t $ids[] = $row['id']; } - $columns = $reparser->get_columns(); - $sql = 'SELECT ' . $columns['id'] . ' AS id, ' . $columns['text'] . ' AS text - FROM ' . $reparser->get_table_name() . ' - WHERE ' . $this->db->sql_in_set($columns['id'], $ids) . ' - ORDER BY id'; - $result = $this->db->sql_query($sql); - $rows = $this->db->sql_fetchrowset($result); - $this->db->sql_freeresult($result); - $this->assertEquals($expected, $rows); + $this->assertEquals($expected, $this->get_rows($ids)); } - public function getReparseTests() + public function get_reparse_tests() { return array( array( -- cgit v1.2.1 From cf4cdcda586a2371aa92ae452951f9660737ae09 Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Mon, 6 Jul 2015 01:57:54 +0200 Subject: [ticket/13987] Replaced optional parameter with explicit API Added disable_save() and enable_save() to toggle a dry run PHPBB3-13987 --- tests/text_reparser/plugins/test_row_based_plugin.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tests/text_reparser/plugins/test_row_based_plugin.php') diff --git a/tests/text_reparser/plugins/test_row_based_plugin.php b/tests/text_reparser/plugins/test_row_based_plugin.php index 9f9ecc609a..bbae44c8e0 100644 --- a/tests/text_reparser/plugins/test_row_based_plugin.php +++ b/tests/text_reparser/plugins/test_row_based_plugin.php @@ -57,7 +57,8 @@ abstract class phpbb_textreparser_test_row_based_plugin extends phpbb_database_t { $old_rows = $this->get_rows(array(1)); $reparser = $this->get_reparser(); - $reparser->reparse_range(1, 1, true); + $reparser->disable_save(); + $reparser->reparse_range(1, 1); $new_rows = $this->get_rows(array(1)); $this->assertEquals($old_rows, $new_rows); } -- cgit v1.2.1