Offer the possibility to define version compatibility from plugins

This commit is contained in:
Frederic Guillot
2017-01-08 17:02:31 -05:00
parent 17ac414d74
commit 07f9700179
11 changed files with 186 additions and 28 deletions

View File

@@ -0,0 +1,29 @@
<?php
use Kanboard\Core\Plugin\Version;
require_once __DIR__.'/../../Base.php';
class VersionTest extends Base
{
public function testIsCompatible()
{
$this->assertFalse(Version::isCompatible('1.0.29', '1.0.28'));
$this->assertTrue(Version::isCompatible('1.0.28', '1.0.28'));
$this->assertTrue(Version::isCompatible('1.0.28', 'master.1234'));
$this->assertTrue(Version::isCompatible('>=1.0.32', 'master'));
$this->assertTrue(Version::isCompatible('>=1.0.32', '1.0.32'));
$this->assertTrue(Version::isCompatible('>=1.0.32', '1.0.33'));
$this->assertTrue(Version::isCompatible('>1.0.32', '1.0.33'));
$this->assertFalse(Version::isCompatible('>1.0.32', '1.0.32'));
$this->assertTrue(Version::isCompatible('1.0.32', 'v1.0.32'));
$this->assertTrue(Version::isCompatible('>=v1.0.32', 'v1.0.32'));
$this->assertTrue(Version::isCompatible('<=v1.0.36', 'v1.0.36'));
$this->assertFalse(Version::isCompatible('<1.0.36', 'v1.0.36'));
$this->assertTrue(Version::isCompatible('<1.0.40', '1.0.36'));
$this->assertTrue(Version::isCompatible('<=1.0.40', '1.0.36'));
$this->assertFalse(Version::isCompatible('<1.0.40', '1.0.40'));
$this->assertFalse(Version::isCompatible('1.0.40', 'v1.0.36'));
$this->assertTrue(Version::isCompatible('<1.1.0', 'v1.0.36'));
}
}