Merge pull request #17348 from owncloud/fix-lower-than

Correct lower than wording
This commit is contained in:
Morris Jobke 2015-07-03 14:42:08 +02:00
commit 838ddc72c1
2 changed files with 64 additions and 12 deletions

View File

@ -30,9 +30,10 @@ class DependencyAnalyzer {
/** @var Platform */
private $platform;
/** @var \OCP\IL10N */
private $l;
/** @var array */
private $appInfo;
/**
* @param Platform $platform
@ -47,7 +48,7 @@ class DependencyAnalyzer {
* @param array $app
* @returns array of missing dependencies
*/
public function analyze($app) {
public function analyze(array $app) {
$this->appInfo = $app;
if (isset($app['dependencies'])) {
$dependencies = $app['dependencies'];
@ -61,11 +62,12 @@ class DependencyAnalyzer {
$this->analyzeCommands($dependencies),
$this->analyzeLibraries($dependencies),
$this->analyzeOS($dependencies),
$this->analyzeOC($dependencies, $app));
$this->analyzeOC($dependencies, $app)
);
}
/**
* Truncates both verions to the lowest common version, e.g.
* Truncates both versions to the lowest common version, e.g.
* 5.1.2.3 and 5.1 will be turned into 5.1 and 5.1,
* 5.2.6.5 and 5.1 will be turned into 5.2 and 5.1
* @param string $first
@ -124,7 +126,11 @@ class DependencyAnalyzer {
return $this->compare($first, $second, '<');
}
private function analyzePhpVersion($dependencies) {
/**
* @param array $dependencies
* @return array
*/
private function analyzePhpVersion(array $dependencies) {
$missing = [];
if (isset($dependencies['php']['@attributes']['min-version'])) {
$minVersion = $dependencies['php']['@attributes']['min-version'];
@ -141,7 +147,11 @@ class DependencyAnalyzer {
return $missing;
}
private function analyzeDatabases($dependencies) {
/**
* @param array $dependencies
* @return array
*/
private function analyzeDatabases(array $dependencies) {
$missing = [];
if (!isset($dependencies['database'])) {
return $missing;
@ -164,7 +174,11 @@ class DependencyAnalyzer {
return $missing;
}
private function analyzeCommands($dependencies) {
/**
* @param array $dependencies
* @return array
*/
private function analyzeCommands(array $dependencies) {
$missing = [];
if (!isset($dependencies['command'])) {
return $missing;
@ -187,7 +201,11 @@ class DependencyAnalyzer {
return $missing;
}
private function analyzeLibraries($dependencies) {
/**
* @param array $dependencies
* @return array
*/
private function analyzeLibraries(array $dependencies) {
$missing = [];
if (!isset($dependencies['lib'])) {
return $missing;
@ -225,7 +243,11 @@ class DependencyAnalyzer {
return $missing;
}
private function analyzeOS($dependencies) {
/**
* @param array $dependencies
* @return array
*/
private function analyzeOS(array $dependencies) {
$missing = [];
if (!isset($dependencies['os'])) {
return $missing;
@ -249,7 +271,12 @@ class DependencyAnalyzer {
return $missing;
}
private function analyzeOC($dependencies, $appInfo) {
/**
* @param array $dependencies
* @param array $appInfo
* @return array
*/
private function analyzeOC(array $dependencies, array $appInfo) {
$missing = [];
$minVersion = null;
if (isset($dependencies['owncloud']['@attributes']['min-version'])) {
@ -273,7 +300,7 @@ class DependencyAnalyzer {
}
if (!is_null($maxVersion)) {
if ($this->compareBigger($this->platform->getOcVersion(), $maxVersion)) {
$missing[] = (string)$this->l->t('ownCloud with a version lower than %s is required.', $maxVersion);
$missing[] = (string)$this->l->t('ownCloud %s or lower is required.', $maxVersion);
}
}
return $missing;

View File

@ -68,6 +68,10 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
/**
* @dataProvider providesPhpVersion
*
* @param string $expectedMissing
* @param string $minVersion
* @param string $maxVersion
*/
public function testPhpVersion($expectedMissing, $minVersion, $maxVersion) {
$app = array(
@ -106,6 +110,9 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
/**
* @dataProvider providesCommands
*
* @param string $expectedMissing
* @param string|null $commands
*/
public function testCommand($expectedMissing, $commands) {
$app = array(
@ -179,6 +186,9 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
$this->assertEquals($expectedMissing, $missing);
}
/**
* @return array
*/
function providesOC() {
return array(
// no version -> no missing dependency
@ -188,10 +198,13 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
array(array(), array('@attributes' => array('min-version' => '8.0.2', 'max-version' => '8.0.2'))),
array(array('ownCloud 8.0.3 or higher is required.'), array('@attributes' => array('min-version' => '8.0.3'))),
array(array('ownCloud 9 or higher is required.'), array('@attributes' => array('min-version' => '9'))),
array(array('ownCloud with a version lower than 8.0.1 is required.'), array('@attributes' => array('max-version' => '8.0.1'))),
[['ownCloud 8.0.1 or lower is required.'], ['@attributes' => ['max-version' => '8.0.1']]],
);
}
/**
* @return array
*/
function providesOS() {
return array(
array(array(), null),
@ -201,6 +214,9 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
);
}
/**
* @return array
*/
function providesLibs() {
return array(
// we expect curl to exist
@ -226,6 +242,9 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
);
}
/**
* @return array
*/
function providesCommands() {
return array(
array(array(), null),
@ -240,6 +259,9 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
);
}
/**
* @return array
*/
function providesDatabases() {
return array(
// non BC - in case on databases are defined -> all are supported
@ -250,6 +272,9 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
);
}
/**
* @return array
*/
function providesPhpVersion() {
return array(
array(array(), null, null),