2015-05-14 05:51:55 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @covers CoreVersionChecker
|
|
|
|
|
*/
|
|
|
|
|
class CoreVersionCheckerTest extends PHPUnit_Framework_TestCase {
|
|
|
|
|
/**
|
|
|
|
|
* @dataProvider provideCheck
|
|
|
|
|
*/
|
|
|
|
|
public function testCheck( $coreVersion, $constraint, $expected ) {
|
2016-12-03 18:06:46 +00:00
|
|
|
$checker = new VersionChecker();
|
|
|
|
|
$checker->setCoreVersion( $coreVersion );
|
|
|
|
|
$this->assertEquals( $expected, !(bool)$checker->checkArray( [
|
|
|
|
|
'FakeExtension' => [
|
|
|
|
|
'MediaWiki' => $constraint,
|
|
|
|
|
],
|
|
|
|
|
] )
|
|
|
|
|
);
|
2015-05-14 05:51:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static function provideCheck() {
|
2016-02-17 09:09:32 +00:00
|
|
|
return [
|
2016-07-10 15:23:29 +00:00
|
|
|
// [ $wgVersion, constraint, expected ]
|
2016-02-17 09:09:32 +00:00
|
|
|
[ '1.25alpha', '>= 1.26', false ],
|
|
|
|
|
[ '1.25.0', '>= 1.26', false ],
|
|
|
|
|
[ '1.26alpha', '>= 1.26', true ],
|
|
|
|
|
[ '1.26alpha', '>= 1.26.0', true ],
|
|
|
|
|
[ '1.26alpha', '>= 1.26.0-stable', false ],
|
|
|
|
|
[ '1.26.0', '>= 1.26.0-stable', true ],
|
|
|
|
|
[ '1.26.1', '>= 1.26.0-stable', true ],
|
|
|
|
|
[ '1.27.1', '>= 1.26.0-stable', true ],
|
|
|
|
|
[ '1.26alpha', '>= 1.26.1', false ],
|
|
|
|
|
[ '1.26alpha', '>= 1.26alpha', true ],
|
|
|
|
|
[ '1.26alpha', '>= 1.25', true ],
|
|
|
|
|
[ '1.26.0-alpha.14', '>= 1.26.0-alpha.15', false ],
|
|
|
|
|
[ '1.26.0-alpha.14', '>= 1.26.0-alpha.10', true ],
|
|
|
|
|
[ '1.26.1', '>= 1.26.2, <=1.26.0', false ],
|
|
|
|
|
[ '1.26.1', '^1.26.2', false ],
|
2015-05-14 05:51:55 +00:00
|
|
|
// Accept anything for un-parsable version strings
|
2016-02-17 09:09:32 +00:00
|
|
|
[ '1.26mwf14', '== 1.25alpha', true ],
|
|
|
|
|
[ 'totallyinvalid', '== 1.0', true ],
|
|
|
|
|
];
|
2015-05-14 05:51:55 +00:00
|
|
|
}
|
|
|
|
|
}
|