Merge "Fix exception in Import, when import of a revision fails"
[lhc/web/wiklou.git] / tests / phpunit / includes / registration / CoreVersionCheckerTest.php
1 <?php
2
3 /**
4 * @covers CoreVersionChecker
5 */
6 class CoreVersionCheckerTest extends PHPUnit_Framework_TestCase {
7 /**
8 * @dataProvider provideCheck
9 */
10 public function testCheck( $coreVersion, $constraint, $expected ) {
11 $checker = new CoreVersionChecker( $coreVersion );
12 $this->assertEquals( $expected, $checker->check( $constraint ) );
13 }
14
15 public static function provideCheck() {
16 return array(
17 // array( $wgVersion, constraint, expected )
18 array( '1.25alpha', '>= 1.26', false ),
19 array( '1.25.0', '>= 1.26', false ),
20 array( '1.26alpha', '>= 1.26', true ),
21 array( '1.26alpha', '>= 1.26.0', true ),
22 array( '1.26alpha', '>= 1.26.0-stable', false ),
23 array( '1.26.0', '>= 1.26.0-stable', true ),
24 array( '1.26.1', '>= 1.26.0-stable', true ),
25 array( '1.27.1', '>= 1.26.0-stable', true ),
26 array( '1.26alpha', '>= 1.26.1', false ),
27 array( '1.26alpha', '>= 1.26alpha', true ),
28 array( '1.26alpha', '>= 1.25', true ),
29 array( '1.26.0-alpha.14', '>= 1.26.0-alpha.15', false ),
30 array( '1.26.0-alpha.14', '>= 1.26.0-alpha.10', true ),
31 array( '1.26.1', '>= 1.26.2, <=1.26.0', false ),
32 array( '1.26.1', '^1.26.2', false ),
33 // Accept anything for un-parsable version strings
34 array( '1.26mwf14', '== 1.25alpha', true ),
35 array( 'totallyinvalid', '== 1.0', true ),
36 );
37 }
38 }