forked from zendframework/zf1
-
Notifications
You must be signed in to change notification settings - Fork 199
/
Copy pathVersionTest.php
116 lines (106 loc) · 3.96 KB
/
VersionTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
use Yoast\PHPUnitPolyfills\TestCases\TestCase;
use PHPUnit\Framework\TestSuite;
use PHPUnit\TextUI\TestRunner;
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Version
* @subpackage UnitTests
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
if (!defined('PHPUnit_MAIN_METHOD')) {
define('PHPUnit_MAIN_METHOD', 'Zend_VersionTest::main');
}
/**
* @see Zend_Version
*/
require_once 'Zend/Version.php';
/**
* @category Zend
* @package Zend_Version
* @subpackage UnitTests
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @group Zend_Version
*/
class Zend_VersionTest extends TestCase
{
public static function main()
{
$suite = new TestSuite(__CLASS__);
$result = (new resources_Runner())->run($suite);
}
/**
* Tests that version_compare() and its "proxy"
* Zend_Version::compareVersion() work as expected.
*/
public function testVersionCompare()
{
$expect = -1;
// unit test breaks if ZF version > 1.x
for ($i = 0; $i <= 1; $i++) {
for ($j = 0; $j <= 99; $j++) {
for ($k = 0; $k <= 99; $k++) {
foreach (['dev', 'pr', 'PR', 'alpha', 'a1', 'a2', 'beta', 'b1', 'b2', 'RC', 'RC1', 'RC2', 'RC3', '', 'pl1', 'PL1'] as $rel) {
$ver = "$i.$j.$k$rel";
$normalizedVersion = strtolower(Zend_Version::VERSION);
if (strtolower($ver) === $normalizedVersion
|| strtolower("$i.$j.$k-$rel") === $normalizedVersion
|| strtolower("$i.$j.$k.$rel") === $normalizedVersion
|| strtolower("$i.$j.$k $rel") === $normalizedVersion
) {
if ($expect == -1) {
$expect = 1;
}
} else {
$this->assertSame(
Zend_Version::compareVersion($ver),
$expect,
"For version '$ver' and Zend_Version::VERSION = '"
. Zend_Version::VERSION . "': result=" . (Zend_Version::compareVersion($ver))
. ', but expected ' . $expect
);
}
}
}
}
}
if ($expect === -1) {
$this->fail('Unable to recognize Zend_Version::VERSION (' . Zend_Version::VERSION . '); last version compared: ' . $ver);
}
}
/**
* @group ZF-10363
*/
public function testFetchLatestVersion()
{
if (!defined('TESTS_ZEND_VERSION_ONLINE_ENABLED')
|| !constant('TESTS_ZEND_VERSION_ONLINE_ENABLED')
) {
$this->markTestSkipped('Testing fetchLatersVersion only works when TESTS_ZEND_VERSION_ONLINE_ENABLED is set.');
return;
}
$actual = Zend_Version::getLatest();
if ('not available' === $actual) {
$this->markTestIncomplete('http://framework.zend.com/ may be down');
}
$this->assertMatchesRegularExpression('/^[1-2](\.[0-9]+){2}/', $actual);
}
}
if (PHPUnit_MAIN_METHOD === "Zend_VersionTest::main") {
Zend_VersionTest::main();
}