[ticket/10411] Add return value to move functions

PHPBB3-10411
This commit is contained in:
Joas Schilling 2013-02-25 20:58:12 +01:00
parent b0dc5925b9
commit 1d7b082a6f
5 changed files with 413 additions and 253 deletions

View file

@ -59,7 +59,7 @@ interface phpbb_groupposition_interface
* Moves a group up by group_id * Moves a group up by group_id
* *
* @param int $group_id group_id of the group to be moved * @param int $group_id group_id of the group to be moved
* @return null * @return bool True if the group was moved successfully
*/ */
public function move_up($group_id); public function move_up($group_id);
@ -67,7 +67,7 @@ interface phpbb_groupposition_interface
* Moves a group down by group_id * Moves a group down by group_id
* *
* @param int $group_id group_id of the group to be moved * @param int $group_id group_id of the group to be moved
* @return null * @return bool True if the group was moved successfully
*/ */
public function move_down($group_id); public function move_down($group_id);
@ -78,7 +78,7 @@ interface phpbb_groupposition_interface
* @param int $delta number of steps: * @param int $delta number of steps:
* - positive = move up * - positive = move up
* - negative = move down * - negative = move down
* @return null * @return bool True if the group was moved successfully
*/ */
public function move($group_id, $delta); public function move($group_id, $delta);
} }

View file

@ -168,7 +168,7 @@ class phpbb_groupposition_legend implements phpbb_groupposition_interface
*/ */
public function move_up($group_id) public function move_up($group_id)
{ {
$this->move($group_id, 1); return $this->move($group_id, 1);
} }
/** /**
@ -178,7 +178,7 @@ class phpbb_groupposition_legend implements phpbb_groupposition_interface
*/ */
public function move_down($group_id) public function move_down($group_id)
{ {
$this->move($group_id, -1); return $this->move($group_id, -1);
} }
/** /**
@ -188,9 +188,10 @@ class phpbb_groupposition_legend implements phpbb_groupposition_interface
*/ */
public function move($group_id, $delta) public function move($group_id, $delta)
{ {
if (!is_int($delta) || !$delta) $delta = (int) $delta;
if (!$delta)
{ {
return; return false;
} }
$move_up = ($delta > 0) ? true : false; $move_up = ($delta > 0) ? true : false;
@ -221,10 +222,16 @@ class phpbb_groupposition_legend implements phpbb_groupposition_interface
SET group_legend = group_legend ' . (($move_up) ? ' - ' : ' + ') . $delta . ' SET group_legend = group_legend ' . (($move_up) ? ' - ' : ' + ') . $delta . '
WHERE group_id = ' . (int) $group_id; WHERE group_id = ' . (int) $group_id;
$this->db->sql_query($sql); $this->db->sql_query($sql);
$this->db->sql_transaction('commit');
return true;
} }
$this->db->sql_transaction('commit'); $this->db->sql_transaction('commit');
} }
return false;
} }
/** /**

View file

@ -359,18 +359,18 @@ class phpbb_groupposition_teampage implements phpbb_groupposition_interface
*/ */
public function move_up($group_id) public function move_up($group_id)
{ {
$this->move($group_id, 1); return $this->move($group_id, 1);
} }
/** /**
* Moves an item up by teampage_id * Moves an item up by teampage_id
* *
* @param int $group_id group_id of the group to be moved * @param int $group_id group_id of the group to be moved
* @return null * @return bool True if the group was moved successfully
*/ */
public function move_up_teampage($teampage_id) public function move_up_teampage($teampage_id)
{ {
$this->move_teampage($teampage_id, 1); return $this->move_teampage($teampage_id, 1);
} }
/** /**
@ -380,18 +380,18 @@ class phpbb_groupposition_teampage implements phpbb_groupposition_interface
*/ */
public function move_down($group_id) public function move_down($group_id)
{ {
$this->move($group_id, -1); return $this->move($group_id, -1);
} }
/** /**
* Movesan item down by teampage_id * Movesan item down by teampage_id
* *
* @param int $group_id group_id of the group to be moved * @param int $group_id group_id of the group to be moved
* @return null * @return bool True if the group was moved successfully
*/ */
public function move_down_teampage($teampage_id) public function move_down_teampage($teampage_id)
{ {
$this->move_teampage($teampage_id, -1); return $this->move_teampage($teampage_id, -1);
} }
/** /**
@ -401,9 +401,10 @@ class phpbb_groupposition_teampage implements phpbb_groupposition_interface
*/ */
public function move($group_id, $delta) public function move($group_id, $delta)
{ {
if (!is_int($delta) || !$delta) $delta = (int) $delta;
if (!$delta)
{ {
return; return false;
} }
$move_up = ($delta > 0) ? true : false; $move_up = ($delta > 0) ? true : false;
@ -463,12 +464,18 @@ class phpbb_groupposition_teampage implements phpbb_groupposition_interface
SET teampage_position = teampage_position ' . (($move_up) ? ' - ' : ' + ') . abs($delta) . ' SET teampage_position = teampage_position ' . (($move_up) ? ' - ' : ' + ') . abs($delta) . '
WHERE group_id = ' . (int) $group_id; WHERE group_id = ' . (int) $group_id;
$this->db->sql_query($sql); $this->db->sql_query($sql);
$this->db->sql_transaction('commit');
$this->cache->destroy('sql', TEAMPAGE_TABLE);
return true;
} }
$this->db->sql_transaction('commit'); $this->db->sql_transaction('commit');
} }
$this->cache->destroy('sql', TEAMPAGE_TABLE); $this->cache->destroy('sql', TEAMPAGE_TABLE);
return false;
} }
/** /**
@ -478,13 +485,14 @@ class phpbb_groupposition_teampage implements phpbb_groupposition_interface
* @param int $delta number of steps: * @param int $delta number of steps:
* - positive = move up * - positive = move up
* - negative = move down * - negative = move down
* @return null * @return bool True if the group was moved successfully
*/ */
public function move_teampage($teampage_id, $delta) public function move_teampage($teampage_id, $delta)
{ {
if (!is_int($delta) || !$delta) $delta = (int) $delta;
if (!$delta)
{ {
return; return false;
} }
$move_up = ($delta > 0) ? true : false; $move_up = ($delta > 0) ? true : false;
@ -559,12 +567,18 @@ class phpbb_groupposition_teampage implements phpbb_groupposition_interface
WHERE teampage_id = ' . (int) $teampage_id . ' WHERE teampage_id = ' . (int) $teampage_id . '
OR teampage_parent = ' . (int) $teampage_id; OR teampage_parent = ' . (int) $teampage_id;
$this->db->sql_query($sql); $this->db->sql_query($sql);
$this->db->sql_transaction('commit');
$this->cache->destroy('sql', TEAMPAGE_TABLE);
return true;
} }
$this->db->sql_transaction('commit'); $this->db->sql_transaction('commit');
} }
$this->cache->destroy('sql', TEAMPAGE_TABLE); $this->cache->destroy('sql', TEAMPAGE_TABLE);
return false;
} }
/** /**

View file

@ -151,28 +151,40 @@ class phpbb_groupposition_legend_test extends phpbb_database_test_case
public function move_up_data() public function move_up_data()
{ {
return array( return array(
array(1, array( array(
array('group_id' => 1, 'group_legend' => 0), 1,
array('group_id' => 2, 'group_legend' => 1), false,
array('group_id' => 3, 'group_legend' => 2), array(
)), array('group_id' => 1, 'group_legend' => 0),
array(2, array( array('group_id' => 2, 'group_legend' => 1),
array('group_id' => 1, 'group_legend' => 0), array('group_id' => 3, 'group_legend' => 2),
array('group_id' => 2, 'group_legend' => 1), ),
array('group_id' => 3, 'group_legend' => 2), ),
)), array(
array(3, array( 2,
array('group_id' => 1, 'group_legend' => 0), false,
array('group_id' => 2, 'group_legend' => 2), array(
array('group_id' => 3, 'group_legend' => 1), array('group_id' => 1, 'group_legend' => 0),
)), array('group_id' => 2, 'group_legend' => 1),
array('group_id' => 3, 'group_legend' => 2),
),
),
array(
3,
true,
array(
array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 2, 'group_legend' => 2),
array('group_id' => 3, 'group_legend' => 1),
),
),
); );
} }
/** /**
* @dataProvider move_up_data * @dataProvider move_up_data
*/ */
public function test_move_up($group_id, $expected) public function test_move_up($group_id, $excepted_moved, $expected)
{ {
global $cache; global $cache;
@ -182,7 +194,7 @@ class phpbb_groupposition_legend_test extends phpbb_database_test_case
$user->lang = array(); $user->lang = array();
$test_class = new phpbb_groupposition_legend($db, $user); $test_class = new phpbb_groupposition_legend($db, $user);
$test_class->move_up($group_id); $this->assertEquals($excepted_moved, $test_class->move_up($group_id));
$result = $db->sql_query('SELECT group_id, group_legend $result = $db->sql_query('SELECT group_id, group_legend
FROM ' . GROUPS_TABLE . ' FROM ' . GROUPS_TABLE . '
@ -194,28 +206,40 @@ class phpbb_groupposition_legend_test extends phpbb_database_test_case
public function move_down_data() public function move_down_data()
{ {
return array( return array(
array(1, array( array(
array('group_id' => 1, 'group_legend' => 0), 1,
array('group_id' => 2, 'group_legend' => 1), false,
array('group_id' => 3, 'group_legend' => 2), array(
)), array('group_id' => 1, 'group_legend' => 0),
array(2, array( array('group_id' => 2, 'group_legend' => 1),
array('group_id' => 1, 'group_legend' => 0), array('group_id' => 3, 'group_legend' => 2),
array('group_id' => 2, 'group_legend' => 2), ),
array('group_id' => 3, 'group_legend' => 1), ),
)), array(
array(3, array( 2,
array('group_id' => 1, 'group_legend' => 0), true,
array('group_id' => 2, 'group_legend' => 1), array(
array('group_id' => 3, 'group_legend' => 2), array('group_id' => 1, 'group_legend' => 0),
)), array('group_id' => 2, 'group_legend' => 2),
array('group_id' => 3, 'group_legend' => 1),
),
),
array(
3,
false,
array(
array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 2, 'group_legend' => 1),
array('group_id' => 3, 'group_legend' => 2),
),
),
); );
} }
/** /**
* @dataProvider move_down_data * @dataProvider move_down_data
*/ */
public function test_move_down($group_id, $expected) public function test_move_down($group_id, $excepted_moved, $expected)
{ {
global $cache; global $cache;
@ -225,7 +249,7 @@ class phpbb_groupposition_legend_test extends phpbb_database_test_case
$user->lang = array(); $user->lang = array();
$test_class = new phpbb_groupposition_legend($db, $user); $test_class = new phpbb_groupposition_legend($db, $user);
$test_class->move_down($group_id); $this->assertEquals($excepted_moved, $test_class->move_down($group_id));
$result = $db->sql_query('SELECT group_id, group_legend $result = $db->sql_query('SELECT group_id, group_legend
FROM ' . GROUPS_TABLE . ' FROM ' . GROUPS_TABLE . '
@ -237,48 +261,83 @@ class phpbb_groupposition_legend_test extends phpbb_database_test_case
public function move_data() public function move_data()
{ {
return array( return array(
array(1, 1, array( array(
array('group_id' => 1, 'group_legend' => 0), 1,
array('group_id' => 2, 'group_legend' => 1), 1,
array('group_id' => 3, 'group_legend' => 2), false,
)), array(
array(1, -1, array( array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 1, 'group_legend' => 0), array('group_id' => 2, 'group_legend' => 1),
array('group_id' => 2, 'group_legend' => 1), array('group_id' => 3, 'group_legend' => 2),
array('group_id' => 3, 'group_legend' => 2), ),
)), ),
array(3, 3, array( array(
array('group_id' => 1, 'group_legend' => 0), 1,
array('group_id' => 2, 'group_legend' => 2), -1,
array('group_id' => 3, 'group_legend' => 1), false,
)), array(
array(2, 0, array( array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 1, 'group_legend' => 0), array('group_id' => 2, 'group_legend' => 1),
array('group_id' => 2, 'group_legend' => 1), array('group_id' => 3, 'group_legend' => 2),
array('group_id' => 3, 'group_legend' => 2), ),
)), ),
array(2, -1, array( array(
array('group_id' => 1, 'group_legend' => 0), 3,
array('group_id' => 2, 'group_legend' => 2), 3,
array('group_id' => 3, 'group_legend' => 1), true,
)), array(
array(2, -3, array( array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 1, 'group_legend' => 0), array('group_id' => 2, 'group_legend' => 2),
array('group_id' => 2, 'group_legend' => 2), array('group_id' => 3, 'group_legend' => 1),
array('group_id' => 3, 'group_legend' => 1), ),
)), ),
array(3, -1, array( array(
array('group_id' => 1, 'group_legend' => 0), 2,
array('group_id' => 2, 'group_legend' => 1), 0,
array('group_id' => 3, 'group_legend' => 2), false,
)), array(
array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 2, 'group_legend' => 1),
array('group_id' => 3, 'group_legend' => 2),
),
),
array(
2,
-1,
true,
array(
array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 2, 'group_legend' => 2),
array('group_id' => 3, 'group_legend' => 1),
),
),
array(
2,
-3,
true,
array(
array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 2, 'group_legend' => 2),
array('group_id' => 3, 'group_legend' => 1),
),
),
array(
3,
-1,
false,
array(
array('group_id' => 1, 'group_legend' => 0),
array('group_id' => 2, 'group_legend' => 1),
array('group_id' => 3, 'group_legend' => 2),
),
),
); );
} }
/** /**
* @dataProvider move_data * @dataProvider move_data
*/ */
public function test_move($group_id, $increment, $expected) public function test_move($group_id, $increment, $excepted_moved, $expected)
{ {
global $cache; global $cache;
@ -288,7 +347,7 @@ class phpbb_groupposition_legend_test extends phpbb_database_test_case
$user->lang = array(); $user->lang = array();
$test_class = new phpbb_groupposition_legend($db, $user); $test_class = new phpbb_groupposition_legend($db, $user);
$test_class->move($group_id, $increment); $this->assertEquals($excepted_moved, $test_class->move($group_id, $increment));
$result = $db->sql_query('SELECT group_id, group_legend $result = $db->sql_query('SELECT group_id, group_legend
FROM ' . GROUPS_TABLE . ' FROM ' . GROUPS_TABLE . '

View file

@ -265,93 +265,133 @@ class phpbb_groupposition_teampage_test extends phpbb_database_test_case
public function move_data() public function move_data()
{ {
return array( return array(
array(1, 1, array( array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), 1,
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), 1,
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), false,
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array(
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
)), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array(2, 1, array( array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array(
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), 2,
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), 1,
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), false,
)), array(
array(5, 1, array( array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 6, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), ),
)), ),
array(6, 1, array( array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), 5,
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), 1,
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), true,
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array(
array('teampage_position' => 5, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 6, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 7, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
)), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array(1, -1, array( array('teampage_position' => 6, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 7, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 4, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), ),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array(
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), 6,
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), 1,
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), true,
)), array(
array(2, -1, array( array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 5, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 6, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 7, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 8, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), ),
)), ),
array(5, -1, array( array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), 1,
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), -1,
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), true,
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array(
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 1, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 2, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 3, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
)), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array(6, -1, array( array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array(
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), 2,
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), -1,
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), true,
)), array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 3, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
),
),
array(
5,
-1,
false,
array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
),
),
array(
6,
-1,
false,
array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
),
),
); );
} }
/** /**
* @dataProvider move_data * @dataProvider move_data
*/ */
public function test_move($group_id, $move_delta, $expected) public function test_move($group_id, $move_delta, $excepted_moved, $expected)
{ {
global $cache; global $cache;
@ -361,7 +401,7 @@ class phpbb_groupposition_teampage_test extends phpbb_database_test_case
$user->lang = array(); $user->lang = array();
$test_class = new phpbb_groupposition_teampage($db, $user, $cache); $test_class = new phpbb_groupposition_teampage($db, $user, $cache);
$test_class->move($group_id, $move_delta); $this->assertEquals($excepted_moved, $test_class->move($group_id, $move_delta));
$result = $db->sql_query('SELECT teampage_position, group_id, teampage_parent, teampage_name $result = $db->sql_query('SELECT teampage_position, group_id, teampage_parent, teampage_name
FROM ' . TEAMPAGE_TABLE . ' FROM ' . TEAMPAGE_TABLE . '
@ -373,93 +413,133 @@ class phpbb_groupposition_teampage_test extends phpbb_database_test_case
public function move_teampage_data() public function move_teampage_data()
{ {
return array( return array(
array(1, 1, array( array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), 1,
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), 1,
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), false,
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array(
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
)), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array(2, 1, array( array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 4, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), ),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array(
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), 2,
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), 1,
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), true,
)), array(
array(5, 1, array( array('teampage_position' => 1, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 2, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 3, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 6, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), ),
)), ),
array(6, 1, array( array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), 5,
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), 1,
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), true,
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array(
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 3, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
)), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array(1, -1, array( array('teampage_position' => 6, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 7, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 4, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), ),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array(
array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), 6,
array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), 1,
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), false,
)), array(
array(2, -1, array( array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 6, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), ),
)), ),
array(5, -1, array( array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), 1,
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), -1,
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), true,
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), array(
array('teampage_position' => 5, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 1, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 6, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array('teampage_position' => 2, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 3, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), array('teampage_position' => 4, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
)), array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array(6, -1, array( array('teampage_position' => 6, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''), array('teampage_position' => 7, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'), array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''), ),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'), array(
array('teampage_position' => 6, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''), 2,
array('teampage_position' => 7, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''), -1,
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''), true,
)), array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 3, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 6, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
),
),
array(
5,
-1,
true,
array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 5, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 6, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 7, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
),
),
array(
6,
-1,
true,
array(
array('teampage_position' => 1, 'group_id' => 1, 'teampage_parent' => 0, 'teampage_name' => ''),
array('teampage_position' => 2, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category - 2 children'),
array('teampage_position' => 3, 'group_id' => 2, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 4, 'group_id' => 3, 'teampage_parent' => 2, 'teampage_name' => ''),
array('teampage_position' => 5, 'group_id' => 0, 'teampage_parent' => 0, 'teampage_name' => 'category2 - 2 children'),
array('teampage_position' => 6, 'group_id' => 5, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 7, 'group_id' => 4, 'teampage_parent' => 5, 'teampage_name' => ''),
array('teampage_position' => 8, 'group_id' => 6, 'teampage_parent' => 0, 'teampage_name' => ''),
),
),
); );
} }
/** /**
* @dataProvider move_teampage_data * @dataProvider move_teampage_data
*/ */
public function test_move_teampage($teampage_id, $move_delta, $expected) public function test_move_teampage($teampage_id, $move_delta, $excepted_moved, $expected)
{ {
global $cache; global $cache;
@ -469,7 +549,7 @@ class phpbb_groupposition_teampage_test extends phpbb_database_test_case
$user->lang = array(); $user->lang = array();
$test_class = new phpbb_groupposition_teampage($db, $user, $cache); $test_class = new phpbb_groupposition_teampage($db, $user, $cache);
$test_class->move_teampage($teampage_id, $move_delta); $this->assertEquals($excepted_moved, $test_class->move_teampage($teampage_id, $move_delta));
$result = $db->sql_query('SELECT teampage_position, group_id, teampage_parent, teampage_name $result = $db->sql_query('SELECT teampage_position, group_id, teampage_parent, teampage_name
FROM ' . TEAMPAGE_TABLE . ' FROM ' . TEAMPAGE_TABLE . '