mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
85 lines
2.3 KiB
PHP
85 lines
2.3 KiB
PHP
<?php
|
|
|
|
class SilverStripeVersionProviderTest extends SapphireTest
|
|
{
|
|
/**
|
|
* @var SilverStripeVersionProvider
|
|
*/
|
|
protected $provider;
|
|
|
|
public function setUp()
|
|
{
|
|
parent::setUp();
|
|
$this->provider = new SilverStripeVersionProvider;
|
|
}
|
|
|
|
public function testGetModules()
|
|
{
|
|
Config::inst()->update('SilverStripeVersionProvider', 'modules', array(
|
|
'silverstripe/somepackage' => 'Some Package',
|
|
'silverstripe/hidden' => '',
|
|
'silverstripe/another' => 'Another'
|
|
));
|
|
|
|
$result = $this->provider->getModules();
|
|
$this->assertArrayHasKey('silverstripe/somepackage', $result);
|
|
$this->assertSame('Some Package', $result['silverstripe/somepackage']);
|
|
$this->assertArrayHasKey('silverstripe/another', $result);
|
|
$this->assertArrayNotHasKey('silverstripe/hidden', $result);
|
|
}
|
|
|
|
public function testGetModuleVersionFromComposer()
|
|
{
|
|
Config::inst()->update('SilverStripeVersionProvider', 'modules', array(
|
|
'silverstripe/framework' => 'Framework',
|
|
'silverstripe/siteconfig' => 'SiteConfig'
|
|
));
|
|
|
|
$result = $this->provider->getModules(array('silverstripe/framework'));
|
|
$this->assertArrayHasKey('silverstripe/framework', $result);
|
|
$this->assertNotEmpty($result['silverstripe/framework']);
|
|
}
|
|
|
|
public function testGetVersion()
|
|
{
|
|
Config::inst()->update('SilverStripeVersionProvider', 'modules', array(
|
|
'silverstripe/framework' => 'Framework',
|
|
'silverstripe/siteconfig' => 'SiteConfig'
|
|
));
|
|
|
|
$result = $this->provider->getVersion();
|
|
$this->assertContains('SiteConfig: ', $result);
|
|
$this->assertContains('Framework: ', $result);
|
|
$this->assertContains(', ', $result);
|
|
}
|
|
|
|
public function testGetModulesFromComposerLock()
|
|
{
|
|
$mock = $this->getMockBuilder('SilverStripeVersionProvider')
|
|
->setMethods(array('getComposerLock'))
|
|
->getMock();
|
|
|
|
$mock->expects($this->once())
|
|
->method('getComposerLock')
|
|
->will($this->returnValue(array(
|
|
'packages' => array(
|
|
array(
|
|
'name' => 'silverstripe/somepackage',
|
|
'version' => '1.2.3'
|
|
),
|
|
array(
|
|
'name' => 'silverstripe/another',
|
|
'version' => '2.3.4'
|
|
)
|
|
)
|
|
)));
|
|
|
|
Config::inst()->update('SilverStripeVersionProvider', 'modules', array(
|
|
'silverstripe/somepackage' => 'Some Package'
|
|
));
|
|
|
|
$result = $mock->getVersion();
|
|
$this->assertContains('Some Package: 1.2.3', $result);
|
|
}
|
|
}
|