diff options
author | Dhruv <dhruv.goel92@gmail.com> | 2013-06-13 22:00:12 +0530 |
---|---|---|
committer | Dhruv <dhruv.goel92@gmail.com> | 2013-06-13 22:00:12 +0530 |
commit | e8b535bf9beda58ea8f75071ed31934534849cb1 (patch) | |
tree | 36de3a5c8f46dda54d593593f71cb221cd9085ec /tests/tree/nestedset_forum_test.php | |
parent | abd299b0a98be01499b31eb6901aca73d8c2b192 (diff) | |
parent | 6298cce464ea2035c107549dfed9bfcb2f985f9c (diff) | |
download | forums-e8b535bf9beda58ea8f75071ed31934534849cb1.tar forums-e8b535bf9beda58ea8f75071ed31934534849cb1.tar.gz forums-e8b535bf9beda58ea8f75071ed31934534849cb1.tar.bz2 forums-e8b535bf9beda58ea8f75071ed31934534849cb1.tar.xz forums-e8b535bf9beda58ea8f75071ed31934534849cb1.zip |
Merge branch 'develop' into ticket/10820-develop
# By Joas Schilling (146) and others
# Via Andreas Fischer (50) and others
* develop: (356 commits)
[ticket/11599] Copy the forums into a static array for later reuse
[ticket/11602] Do not call localize_errors() if avatars are disabled
[ticket/11601] Add protected method for database sync and call it
[ticket/11601] Split post_setup_synchronisation logic from xml parsing
[ticket/11550] Specify a valid path so it's clearer that it must be a path
[ticket/11550] Move comments to correct function
[ticket/11550] We use a different fixture set for extension_acp_test.php
[ticket/11550] Fixtures should only be directories not files
[ticket/11550] Use new functionality from the test case helpers
[ticket/11550] Move functionality for copying/restoring to test case helpers
[ticket/11550] Fix copying the fixtures in extension_permission_lang_test.php
[ticket/11543] Add more users so #hidden <> #normal
[ticket/11590] Close database connections when tearDown() is called
[ticket/develop/11543] Use plurals in develop
[ticket/11543] Use correct IP addresses and inject time for correct values
[ticket/11543] Add unit tests for obtain_users_online_string()
[ticket/11543] Add unit tests for obtain_users_online() with empty forum
[ticket/11543] Add unit tests for obtain_users_online()
[ticket/11543] Add unit tests for obtain_guest_count()
[ticket/11481] Move prepended slash from calls into function
...
Diffstat (limited to 'tests/tree/nestedset_forum_test.php')
-rw-r--r-- | tests/tree/nestedset_forum_test.php | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/tests/tree/nestedset_forum_test.php b/tests/tree/nestedset_forum_test.php new file mode 100644 index 0000000000..516c794ffc --- /dev/null +++ b/tests/tree/nestedset_forum_test.php @@ -0,0 +1,116 @@ +<?php +/** +* +* @package tree +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +require_once dirname(__FILE__) . '/nestedset_forum_base.php'; + +class pphpbb_tests_tree_nestedset_forum_test extends phpbb_tests_tree_nestedset_forum_base +{ + public function forum_constructor_data() + { + return array( + array(array( + array('forum_id' => 1, 'parent_id' => 0, 'left_id' => 1, 'right_id' => 6), + array('forum_id' => 2, 'parent_id' => 1, 'left_id' => 2, 'right_id' => 3), + array('forum_id' => 3, 'parent_id' => 1, 'left_id' => 4, 'right_id' => 5), + + array('forum_id' => 4, 'parent_id' => 0, 'left_id' => 7, 'right_id' => 12), + array('forum_id' => 5, 'parent_id' => 4, 'left_id' => 8, 'right_id' => 11), + array('forum_id' => 6, 'parent_id' => 5, 'left_id' => 9, 'right_id' => 10), + + array('forum_id' => 7, 'parent_id' => 0, 'left_id' => 13, 'right_id' => 22), + array('forum_id' => 8, 'parent_id' => 7, 'left_id' => 14, 'right_id' => 15), + array('forum_id' => 9, 'parent_id' => 7, 'left_id' => 16, 'right_id' => 19), + array('forum_id' => 10, 'parent_id' => 9, 'left_id' => 17, 'right_id' => 18), + array('forum_id' => 11, 'parent_id' => 7, 'left_id' => 20, 'right_id' => 21), + )), + ); + } + + /** + * @dataProvider forum_constructor_data + */ + public function test_forum_constructor($expected) + { + $result = $this->db->sql_query('SELECT forum_id, parent_id, left_id, right_id + FROM phpbb_forums + ORDER BY left_id, forum_id ASC'); + $this->assertEquals($expected, $this->db->sql_fetchrowset($result)); + } + + public function get_sql_where_data() + { + return array( + array('SELECT forum_id + FROM phpbb_forums + %s + ORDER BY forum_id ASC', + 'WHERE', '', array( + array('forum_id' => 1), + array('forum_id' => 2), + array('forum_id' => 3), + + array('forum_id' => 4), + array('forum_id' => 5), + array('forum_id' => 6), + + array('forum_id' => 7), + array('forum_id' => 8), + array('forum_id' => 9), + array('forum_id' => 10), + array('forum_id' => 11), + )), + array('SELECT f.forum_id + FROM phpbb_forums f + %s + ORDER BY f.forum_id ASC', + 'WHERE', 'f.', array( + array('forum_id' => 1), + array('forum_id' => 2), + array('forum_id' => 3), + + array('forum_id' => 4), + array('forum_id' => 5), + array('forum_id' => 6), + + array('forum_id' => 7), + array('forum_id' => 8), + array('forum_id' => 9), + array('forum_id' => 10), + array('forum_id' => 11), + )), + array('SELECT forum_id + FROM phpbb_forums + WHERE forum_id < 4 %s + ORDER BY forum_id ASC', + 'AND', '', array( + array('forum_id' => 1), + array('forum_id' => 2), + array('forum_id' => 3), + )), + array('SELECT f.forum_id + FROM phpbb_forums f + WHERE f.forum_id < 4 %s + ORDER BY f.forum_id ASC', + 'AND', 'f.', array( + array('forum_id' => 1), + array('forum_id' => 2), + array('forum_id' => 3), + )), + ); + } + + /** + * @dataProvider get_sql_where_data + */ + public function test_get_sql_where($sql_query, $operator, $column_prefix, $expected) + { + $result = $this->db->sql_query(sprintf($sql_query, $this->set->get_sql_where($operator, $column_prefix))); + $this->assertEquals($expected, $this->db->sql_fetchrowset($result)); + } +} |