1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/14968] Add method for retrieving updates on current branch

PHPBB3-14968
This commit is contained in:
Marc Alexander
2017-01-22 16:09:51 +01:00
parent 3567f45e3d
commit 0572d6e33a
2 changed files with 239 additions and 0 deletions

View File

@@ -332,4 +332,204 @@ class phpbb_version_helper_test extends phpbb_test_case
$this->assertSame($expected, $version_helper->get_latest_on_current_branch());
}
public function get_update_on_branch_data()
{
return array(
array(
'1.0.0',
array(
'1.0' => array(
'current' => '1.0.1',
),
'1.1' => array(
'current' => '1.1.1',
),
),
array(
'current' => '1.0.1',
),
),
array(
'1.0.1',
array(
'1.0' => array(
'current' => '1.0.1',
),
'1.1' => array(
'current' => '1.1.1',
),
),
array(),
),
array(
'1.0.1-a1',
array(
'1.0' => array(
'current' => '1.0.1-a2',
),
'1.1' => array(
'current' => '1.1.0',
),
),
array(
'current' => '1.0.1-a2',
),
),
array(
'1.1.0',
array(
'1.0' => array(
'current' => '1.0.1',
),
'1.1' => array(
'current' => '1.1.1',
),
),
array(
'current' => '1.1.1',
),
),
array(
'1.1.1',
array(
'1.0' => array(
'current' => '1.0.1',
),
'1.1' => array(
'current' => '1.1.1',
),
),
array(),
),
array(
'1.1.0-a1',
array(
'1.0' => array(
'current' => '1.0.1',
),
'1.1' => array(
'current' => '1.1.0-a2',
),
),
array(
'current' => '1.1.0-a2',
),
),
array(
'1.1.0',
array(),
null,
),
// Latest safe release is 1.0.1
array(
'1.0.0',
array(
'1.0' => array(
'current' => '1.0.1',
'security' => '1.0.1',
),
'1.1' => array(
'current' => '1.1.1',
),
),
array(
'current' => '1.0.1',
'security' => '1.0.1',
),
),
// Latest safe release is 1.0.0
array(
'1.0.0',
array(
'1.0' => array(
'current' => '1.0.1',
'security' => '1.0.1',
),
'1.1' => array(
'current' => '1.1.1',
),
),
array(
'current' => '1.0.1',
'security' => '1.0.1',
),
),
// Latest safe release is 1.1.0
array(
'1.0.0',
array(
'1.0' => array(
'current' => '1.0.1',
'security' => '1.1.0',
),
'1.1' => array(
'current' => '1.1.1',
),
),
array(
'current' => '1.1.1',
),
),
// Latest 1.0 release is EOL
array(
'1.0.0',
array(
'1.0' => array(
'current' => '1.0.1',
'eol' => true,
),
'1.1' => array(
'current' => '1.1.1',
),
),
array(
'current' => '1.1.1',
),
),
// All are EOL -- somewhat undefined behavior
array(
'1.0.0',
array(
'1.0' => array(
'current' => '1.0.1',
'eol' => true,
),
'1.1' => array(
'current' => '1.1.1',
'eol' => true,
),
),
null,
),
);
}
/**
* @dataProvider get_update_on_branch_data
*/
public function test_get_update_on_branch($current_version, $versions, $expected)
{
$version_helper = $this
->getMockBuilder('\phpbb\version_helper')
->setMethods(array(
'get_versions_matching_stability',
))
->setConstructorArgs(array(
$this->cache,
new \phpbb\config\config(array(
'version' => $current_version,
)),
new \phpbb\file_downloader(),
new \phpbb\user('\phpbb\datetime'),
))
->getMock()
;
$version_helper->expects($this->any())
->method('get_versions_matching_stability')
->will($this->returnValue($versions));
$this->assertSame($expected, $version_helper->get_update_on_branch());
}
}