17 use PHPUnit\Framework\MockObject\MockObject;
18 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
32 'extension_0.0.0.zip',
35 'underscore in extension name' => [
36 'extension_key_10.100.356.zip',
39 'camel case file name' => [
40 'extensionName_1.1.1.zip',
43 'version with dashes' => [
44 'extension_1-2-3.zip',
47 'characters after version' => [
48 'extension_1-2-3(1).zip',
51 'characters after version with extra space' => [
52 'extension_1-2-3 (1).zip',
70 $managementServiceMock = $this->getMockBuilder(\
TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::class)
71 ->setMethods([
'isAvailable'])
72 ->disableOriginalConstructor()
74 $managementServiceMock->expects($this->once())
75 ->method(
'isAvailable')
77 ->will($this->returnValue(
false));
80 $fileHandlingUtilityMock = $this->createMock(\
TYPO3\CMS\Extensionmanager\Utility\FileHandlingUtility::class);
81 $fileHandlingUtilityMock->expects($this->once())->method(
'unzipExtensionFromFile');
83 $fixture = new \TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController();
84 $fixture->injectManagementService($managementServiceMock);
85 $fixture->injectFileHandlingUtility($fileHandlingUtilityMock);
87 $reflectionClass = new \ReflectionClass($fixture);
88 $reflectionMethod = $reflectionClass->getMethod(
'getExtensionFromZipFile');
89 $reflectionMethod->setAccessible(
true);
91 $extensionDetails = $reflectionMethod->invokeArgs($fixture, [
'', $filename]);
93 $this->assertEquals($expectedKey, $extensionDetails[
'extKey']);