mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/10263] Adding unit tests for phpbb_version_compare().
PHPBB3-10263
This commit is contained in:
parent
f926acf1b8
commit
fdfd4ce5fd
1 changed files with 130 additions and 0 deletions
130
tests/wrapper/version_compare_test.php
Normal file
130
tests/wrapper/version_compare_test.php
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?php
|
||||
/**
|
||||
*
|
||||
* @package testing
|
||||
* @copyright (c) 2011 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
*
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
|
||||
|
||||
class phpbb_wrapper_version_compare_test extends phpbb_test_case
|
||||
{
|
||||
public function test_two_parameters()
|
||||
{
|
||||
$this->assertEquals(-1, phpbb_version_compare('1.0.0', '1.0.1'));
|
||||
$this->assertEquals(0, phpbb_version_compare('1.0.0', '1.0.0'));
|
||||
$this->assertEquals(1, phpbb_version_compare('1.0.1', '1.0.0'));
|
||||
}
|
||||
|
||||
public function test_three_parameters()
|
||||
{
|
||||
$this->assertEquals(true, phpbb_version_compare('1.0.0', '1.0.1', '<'));
|
||||
$this->assertEquals(true, phpbb_version_compare('1.0.0', '1.0.0', '<='));
|
||||
$this->assertEquals(true, phpbb_version_compare('1.0.0', '1.0.0', '='));
|
||||
$this->assertEquals(true, phpbb_version_compare('1.0.0', '1.0.0', '>='));
|
||||
$this->assertEquals(true, phpbb_version_compare('1.0.1', '1.0.0', '>'));
|
||||
}
|
||||
|
||||
public function test_strict_order()
|
||||
{
|
||||
$releases = array(
|
||||
'2.0.0',
|
||||
'2.0.1',
|
||||
// Those are not version_compare() compatible
|
||||
//'2.0.6a',
|
||||
//'2.0.6b',
|
||||
//'2.0.6c',
|
||||
//'2.0.6d',
|
||||
'2.0.7',
|
||||
'2.0.23',
|
||||
'3.0.A1',
|
||||
'3.0.A2',
|
||||
'3.0.A3',
|
||||
'3.0.B1',
|
||||
'3.0.B2',
|
||||
'3.0.B4',
|
||||
'3.0.B5',
|
||||
'3.0.RC1',
|
||||
'3.0.RC5',
|
||||
'3.0.0',
|
||||
'3.0.1',
|
||||
'3.0.2',
|
||||
'3.0.7',
|
||||
'3.0.7-PL1',
|
||||
'3.0.8-RC1',
|
||||
'3.0.8',
|
||||
'3.0.9-dev',
|
||||
'3.0.9-RC1',
|
||||
'3.0.9-RC2',
|
||||
'3.0.9-RC4',
|
||||
'3.0.10-RC1',
|
||||
'3.1-dev',
|
||||
'3.2-A1',
|
||||
);
|
||||
|
||||
for ($i = 0, $size = sizeof($releases); $i < $size - 1; ++$i)
|
||||
{
|
||||
$version1 = $releases[$i];
|
||||
$version2 = $releases[$i + 1];
|
||||
|
||||
$this->assertEquals(
|
||||
true,
|
||||
phpbb_version_compare($version1, $version2, '<'),
|
||||
"Result of version comparison $version1 < $version2 is incorrect."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider equality_test_data
|
||||
*/
|
||||
public function test_equality($version1, $version2)
|
||||
{
|
||||
$this->assertEquals(
|
||||
0,
|
||||
phpbb_version_compare($version1, $version2),
|
||||
"Result of version comparison $version1 = $version2 is incorrect."
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
true,
|
||||
phpbb_version_compare($version1, $version2, '='),
|
||||
"Result of version comparison $version1 = $version2 is incorrect."
|
||||
);
|
||||
}
|
||||
|
||||
public function equality_test_data()
|
||||
{
|
||||
return array(
|
||||
array('1.1.0-A2', '1.1.0-a2'),
|
||||
array('1.1.0-B1', '1.1.0-b1'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider alpha_beta_test_data
|
||||
*/
|
||||
public function test_alpha_beta($expected, $version1, $version2)
|
||||
{
|
||||
$this->assertEquals(
|
||||
$expected,
|
||||
phpbb_version_compare($version1, $version2),
|
||||
"Result of version comparison ($version1, $version2) = $expected is incorrect."
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function alpha_beta_test_data()
|
||||
{
|
||||
return array(
|
||||
array(-1, '1.1.0-A2', '1.1.0-B1'),
|
||||
array(-1, '1.1.0-a2', '1.1.0-b1'),
|
||||
|
||||
array(-1, '1.1.0-a2', '1.1.0-B1'),
|
||||
array(-1, '1.1.0-A2', '1.1.0-b1'),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue