25 public function updateVersionMatrixStoresVersionMatrixInRegistry() {
27 $instance = $this->
getAccessibleMock(
'TYPO3\\CMS\\Install\\Service\\CoreVersionService', array(
'fetchVersionMatrixFromRemote'), array(),
'', FALSE);
28 $registry = $this->getMock(
'TYPO3\CMS\Core\Registry');
29 $versionArray = array(uniqId());
30 $registry->expects($this->once())->method(
'set')->with(
'TYPO3.CMS.Install',
'coreVersionMatrix', $versionArray);
32 $instance->expects($this->once())->method(
'fetchVersionMatrixFromRemote')->will($this->returnValue($versionArray));
33 $instance->updateVersionMatrix();
39 public function updateVersionMatrixRemovesOldReleasesFromMatrix() {
41 $instance = $this->
getAccessibleMock(
'TYPO3\\CMS\\Install\\Service\\CoreVersionService', array(
'fetchVersionMatrixFromRemote'), array(),
'', FALSE);
42 $registry = $this->getMock(
'TYPO3\CMS\Core\Registry');
43 $versionArray = array(
48 ->expects($this->once())
50 ->with(
'TYPO3.CMS.Install',
'coreVersionMatrix', $this->logicalNot($this->arrayHasKey(
'6.1')));
52 $instance->expects($this->once())->method(
'fetchVersionMatrixFromRemote')->will($this->returnValue($versionArray));
53 $instance->updateVersionMatrix();
59 public function isInstalledVersionAReleasedVersionReturnsTrueForNonDevelopmentVersion() {
61 $instance = $this->
getAccessibleMock(
'TYPO3\\CMS\\Install\\Service\\CoreVersionService', array(
'getInstalledVersion'), array(),
'', FALSE);
62 $instance->expects($this->once())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2.0'));
63 $this->assertTrue($instance->isInstalledVersionAReleasedVersion());
69 public function isInstalledVersionAReleasedVersionReturnsFalseForDevelopmentVersion() {
71 $instance = $this->
getAccessibleMock(
'TYPO3\\CMS\\Install\\Service\\CoreVersionService', array(
'getInstalledVersion'), array(),
'', FALSE);
72 $instance->expects($this->once())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2-dev'));
73 $this->assertFalse($instance->isInstalledVersionAReleasedVersion());
80 public function getTarGzSha1OfVersionThrowsExceptionIfSha1DoesNotExistInMatrix() {
83 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
84 array(
'getVersionMatrix',
'getMinorVersion',
'ensureVersionExistsInMatrix'),
89 $versionMatrix = array(
96 $instance->expects($this->once())->method(
'getMinorVersion')->will($this->returnValue(
'6.2'));
97 $instance->expects($this->any())->method(
'getVersionMatrix')->will($this->returnValue($versionMatrix));
98 $this->assertTrue($instance->getTarGzSha1OfVersion(
'6.2.42'));
104 public function getTarGzSha1OfVersionReturnsSha1OfSpecifiedVersion() {
105 $versionMatrixFixtureFile = __DIR__ .
'/Fixtures/VersionMatrixFixture.php';
108 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
109 array(
'getVersionMatrix',
'getMinorVersion',
'ensureVersionExistsInMatrix'),
114 $instance->expects($this->any())->method(
'getMinorVersion')->will($this->returnValue(
'6.2'));
115 $instance->expects($this->any())->method(
'getVersionMatrix')->will($this->returnValue(require($versionMatrixFixtureFile)));
116 $this->assertSame(
'3dc156eed4b99577232f537d798a8691493f8a83', $instance->getTarGzSha1OfVersion(
'6.2.0alpha3'));
124 public function isYoungerPatchReleaseAvailableReturnsTrueIfYoungerReleaseIsAvailable() {
127 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
128 array(
'getVersionMatrix',
'getInstalledVersion'),
133 $versionMatrix = array(
138 'date' =>
'2013-12-01 18:24:25 UTC',
142 'date' =>
'2013-11-01 18:24:25 UTC',
147 $instance->expects($this->any())->method(
'getVersionMatrix')->will($this->returnValue($versionMatrix));
148 $instance->expects($this->any())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2.41'));
149 $this->assertTrue($instance->isYoungerPatchReleaseAvailable());
157 public function isYoungerReleaseAvailableReturnsFalseIfNoYoungerReleaseExists() {
160 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
161 array(
'getVersionMatrix',
'getInstalledVersion'),
166 $versionMatrix = array(
171 'date' =>
'2013-12-01 18:24:25 UTC',
175 'date' =>
'2013-11-01 18:24:25 UTC',
180 $instance->expects($this->any())->method(
'getVersionMatrix')->will($this->returnValue($versionMatrix));
181 $instance->expects($this->any())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2.42'));
182 $this->assertFalse($instance->isYoungerPatchReleaseAvailable());
190 public function isYoungerReleaseAvailableReturnsFalseIfOnlyADevelopmentReleaseIsYounger() {
193 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
194 array(
'getVersionMatrix',
'getInstalledVersion'),
199 $versionMatrix = array(
203 'type' =>
'development',
204 'date' =>
'2013-12-01 18:24:25 UTC',
208 'date' =>
'2013-11-01 18:24:25 UTC',
213 $instance->expects($this->any())->method(
'getVersionMatrix')->will($this->returnValue($versionMatrix));
214 $instance->expects($this->any())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2.41'));
215 $this->assertFalse($instance->isYoungerPatchReleaseAvailable());
223 public function isYoungerDevelopmentReleaseAvailableReturnsTrueIfADevelopmentReleaseIsYounger() {
226 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
227 array(
'getVersionMatrix',
'getInstalledVersion'),
232 $versionMatrix = array(
236 'type' =>
'development',
237 'date' =>
'2013-12-01 18:24:25 UTC',
241 'date' =>
'2013-11-01 18:24:25 UTC',
246 $instance->expects($this->any())->method(
'getVersionMatrix')->will($this->returnValue($versionMatrix));
247 $instance->expects($this->any())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2.41'));
248 $this->assertTrue($instance->isYoungerPatchDevelopmentReleaseAvailable());
256 public function isUpdateSecurityRelevantReturnsTrueIfAnUpdateIsSecurityRelevant() {
259 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
260 array(
'getVersionMatrix',
'getInstalledVersion'),
265 $versionMatrix = array(
269 'type' =>
'security',
270 'date' =>
'2013-12-01 18:24:25 UTC',
274 'date' =>
'2013-11-01 18:24:25 UTC',
279 $instance->expects($this->any())->method(
'getVersionMatrix')->will($this->returnValue($versionMatrix));
280 $instance->expects($this->any())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2.41'));
281 $this->assertTrue($instance->isUpdateSecurityRelevant());
289 public function isUpdateSecurityRelevantReturnsFalseIfUpdateIsNotSecurityRelevant() {
292 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
293 array(
'getVersionMatrix',
'getInstalledVersion'),
298 $versionMatrix = array(
303 'date' =>
'2013-12-01 18:24:25 UTC',
307 'date' =>
'2013-11-01 18:24:25 UTC',
312 $instance->expects($this->any())->method(
'getVersionMatrix')->will($this->returnValue($versionMatrix));
313 $instance->expects($this->any())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2.41'));
314 $this->assertFalse($instance->isUpdateSecurityRelevant());
320 public function getInstalledMinorVersionFetchesInstalledVersionNumber() {
322 $instance = $this->
getAccessibleMock(
'TYPO3\\CMS\\Install\\Service\\CoreVersionService', array(
'getInstalledVersion'), array(),
'', FALSE);
323 $instance->expects($this->once())->method(
'getInstalledVersion')->will($this->returnValue(
'6.2.0'));
324 $this->assertSame(
'6.2', $instance->_call(
'getInstalledMinorVersion'));
340 '6.2.0alpha2' => array(
355 public function getMinorVersionReturnsCorrectMinorVersion($version, $expectedMajor) {
357 $instance = $this->
getAccessibleMock(
'TYPO3\\CMS\\Install\\Service\\CoreVersionService', array(
'dummy'), array(),
'', FALSE);
358 $this->assertSame($expectedMajor, $instance->_call(
'getMinorVersion', $version));
365 public function getVersionMatrixThrowsExceptionIfVersionMatrixIsNotYetSetInRegistry() {
367 $instance = $this->
getAccessibleMock(
'TYPO3\\CMS\\Install\\Service\\CoreVersionService', array(
'fetchVersionMatrixFromRemote'), array(),
'', FALSE);
368 $registry = $this->getMock(
'TYPO3\CMS\Core\Registry');
369 $registry->expects($this->once())->method(
'get')->will($this->returnValue(NULL));
371 $instance->_call(
'getVersionMatrix');
377 public function getVersionMatrixReturnsMatrixFromRegistry() {
379 $instance = $this->
getAccessibleMock(
'TYPO3\\CMS\\Install\\Service\\CoreVersionService', array(
'fetchVersionMatrixFromRemote'), array(),
'', FALSE);
380 $registry = $this->getMock(
'TYPO3\CMS\Core\Registry');
381 $versionArray = array(uniqId());
382 $registry->expects($this->once())->method(
'get')->will($this->returnValue($versionArray));
384 $this->assertSame($versionArray, $instance->_call(
'getVersionMatrix'));
391 public function getReleaseTimestampOfVersionThrowsExceptionIfReleaseDateIsNotDefined() {
392 $versionMatrix = array(
401 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
402 array(
'getVersionMatrix',
'getMinorVersion',
'ensureVersionExistsInMatrix'),
407 $instance->expects($this->once())->method(
'getMinorVersion')->will($this->returnValue(
'6.2'));
408 $instance->expects($this->once())->method(
'getVersionMatrix')->will($this->returnValue($versionMatrix));
409 $instance->_call(
'getReleaseTimestampOfVersion',
'6.2.42');
415 public function getReleaseTimestampOfVersionReturnsTimestamp() {
416 $versionMatrixFixtureFile = __DIR__ .
'/Fixtures/VersionMatrixFixture.php';
419 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
420 array(
'getVersionMatrix',
'getMinorVersion',
'ensureVersionExistsInMatrix'),
425 $instance->expects($this->once())->method(
'getMinorVersion')->will($this->returnValue(
'6.2'));
426 $instance->expects($this->once())->method(
'getVersionMatrix')->will($this->returnValue(require($versionMatrixFixtureFile)));
427 $this->assertSame(1380651865, $instance->_call(
'getReleaseTimestampOfVersion',
'6.2.0alpha3'));
434 public function ensureVersionExistsInMatrixThrowsExceptionIfMinorVersionDoesNotExist() {
435 $versionMatrixFixtureFile = __DIR__ .
'/Fixtures/VersionMatrixFixture.php';
438 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
439 array(
'getVersionMatrix',
'getMinorVersion'),
444 $instance->expects($this->once())->method(
'getMinorVersion')->will($this->returnValue(
'2.0'));
445 $instance->expects($this->once())->method(
'getVersionMatrix')->will($this->returnValue(require($versionMatrixFixtureFile)));
446 $instance->_call(
'ensureVersionExistsInMatrix',
'2.0.42');
453 public function ensureVersionExistsInMatrixThrowsExceptionIfPatchLevelDoesNotExist() {
454 $versionMatrixFixtureFile = __DIR__ .
'/Fixtures/VersionMatrixFixture.php';
457 'TYPO3\\CMS\\Install\\Service\\CoreVersionService',
458 array(
'getVersionMatrix',
'getMinorVersion'),
463 $instance->expects($this->once())->method(
'getMinorVersion')->will($this->returnValue(
'6.2'));
464 $instance->expects($this->once())->method(
'getVersionMatrix')->will($this->returnValue(require($versionMatrixFixtureFile)));
465 $instance->_call(
'ensureVersionExistsInMatrix',
'6.2.5');
getMinorVersionDataProvider()
getAccessibleMock( $originalClassName, array $methods=array(), array $arguments=array(), $mockClassName='', $callOriginalConstructor=TRUE, $callOriginalClone=TRUE, $callAutoload=TRUE)