diff options
author | Marc Alexander <admin@m-a-styles.de> | 2013-07-04 00:14:48 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2013-07-04 00:14:48 +0200 |
commit | 68f001aaaf761268975d38d7ddcbdf024bb26def (patch) | |
tree | afa75c51f61239f8ed842de8a8487a1b155ca69d /tests/tree/nestedset_forum_base.php | |
parent | 6fc997924c2c9792c8151db67e3273202951de3e (diff) | |
parent | b3487b3167632f47d98eef25692924aa7ab25863 (diff) | |
download | forums-68f001aaaf761268975d38d7ddcbdf024bb26def.tar forums-68f001aaaf761268975d38d7ddcbdf024bb26def.tar.gz forums-68f001aaaf761268975d38d7ddcbdf024bb26def.tar.bz2 forums-68f001aaaf761268975d38d7ddcbdf024bb26def.tar.xz forums-68f001aaaf761268975d38d7ddcbdf024bb26def.zip |
Merge branch 'develop' of https://github.com/phpbb/phpbb3 into ticket/11600
Diffstat (limited to 'tests/tree/nestedset_forum_base.php')
-rw-r--r-- | tests/tree/nestedset_forum_base.php | 59 |
1 files changed, 42 insertions, 17 deletions
diff --git a/tests/tree/nestedset_forum_base.php b/tests/tree/nestedset_forum_base.php index 776e822280..43680609f8 100644 --- a/tests/tree/nestedset_forum_base.php +++ b/tests/tree/nestedset_forum_base.php @@ -59,27 +59,52 @@ class phpbb_tests_tree_nestedset_forum_base extends phpbb_database_test_case $this->set = new phpbb_tree_nestedset_forum($this->db, $this->lock, 'phpbb_forums'); $this->set_up_forums(); - - $sql = "UPDATE phpbb_forums - SET forum_parents = 'a:0:{}'"; - $this->db->sql_query($sql); } protected function set_up_forums() { - $this->create_forum('Parent with two flat children'); - $this->create_forum('Flat child #1', 1); - $this->create_forum('Flat child #2', 1); - - $this->create_forum('Parent with two nested children'); - $this->create_forum('Nested child #1', 4); - $this->create_forum('Nested child #2', 5); - - $this->create_forum('Parent with flat and nested children'); - $this->create_forum('Mixed child #1', 7); - $this->create_forum('Mixed child #2', 7); - $this->create_forum('Nested child #1 of Mixed child #2', 9); - $this->create_forum('Mixed child #3', 7); + static $forums; + + if (empty($forums)) + { + $this->create_forum('Parent with two flat children'); + $this->create_forum('Flat child #1', 1); + $this->create_forum('Flat child #2', 1); + + $this->create_forum('Parent with two nested children'); + $this->create_forum('Nested child #1', 4); + $this->create_forum('Nested child #2', 5); + + $this->create_forum('Parent with flat and nested children'); + $this->create_forum('Mixed child #1', 7); + $this->create_forum('Mixed child #2', 7); + $this->create_forum('Nested child #1 of Mixed child #2', 9); + $this->create_forum('Mixed child #3', 7); + + // Updating forum_parents column here so it's not empty + // This is required, so we can see whether the methods + // correctly clear the values. + $sql = "UPDATE phpbb_forums + SET forum_parents = 'a:0:{}'"; + $this->db->sql_query($sql); + + // Copy the forums into a static array, so we can reuse the list later + $sql = 'SELECT * + FROM phpbb_forums'; + $result = $this->db->sql_query($sql); + $forums = $this->db->sql_fetchrowset($result); + $this->db->sql_freeresult($result); + } + else + { + $buffer = new phpbb_db_sql_insert_buffer($this->db, 'phpbb_forums'); + $buffer->insert_all($forums); + $buffer->flush(); + + $this->database_synchronisation(array( + 'phpbb_forums' => array('forum_id'), + )); + } } protected function create_forum($name, $parent_id = 0) |