TYPO3 CMS  TYPO3_7-6
RequestTest.php
Go to the documentation of this file.
1 <?php
3 
4 /* *
5  * This script belongs to the Extbase framework. *
6  * *
7  * It is free software; you can redistribute it and/or modify it under *
8  * the terms of the GNU Lesser General Public License as published by the *
9  * Free Software Foundation, either version 3 of the License, or (at your *
10  * option) any later version. *
11  * *
12  * This script is distributed in the hope that it will be useful, but *
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- *
14  * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser *
15  * General Public License for more details. *
16  * *
17  * You should have received a copy of the GNU Lesser General Public *
18  * License along with the script. *
19  * If not, see http://www.gnu.org/licenses/lgpl.html *
20  * *
21  * The TYPO3 project - inspiring people to share! *
22  * */
23 
28 {
32  protected $request;
33 
37  protected $mockObjectManager;
38 
42  protected function setUp()
43  {
44  $this->request = $this->getAccessibleMock(\TYPO3\CMS\Extbase\Mvc\Cli\Request::class, ['dummy']);
45  $this->mockObjectManager = $this->getMock(\TYPO3\CMS\Extbase\Object\ObjectManagerInterface::class);
46  $this->request->_set('objectManager', $this->mockObjectManager);
47  }
48 
53  {
54  $this->request->setControllerObjectName('Tx_Extbase_Command_CacheCommandController');
55  $this->request->setControllerCommandName('flush');
56  $this->mockObjectManager->expects($this->once())->method('get')->with(\TYPO3\CMS\Extbase\Mvc\Cli\Command::class, 'Tx_Extbase_Command_CacheCommandController', 'flush');
57  $this->request->getCommand();
58  }
59 
64  {
65  $this->request->setControllerObjectName('Tx_Extbase_Command_CacheCommandController');
66  $this->request->setControllerCommandName('flush');
67  $this->request->getCommand();
68  $this->request->setControllerObjectName('Tx_SomeExtension_Command_BeerCommandController');
69  $this->request->setControllerCommandName('drink');
70  $this->mockObjectManager->expects($this->once())->method('get')->with(\TYPO3\CMS\Extbase\Mvc\Cli\Command::class, 'Tx_SomeExtension_Command_BeerCommandController', 'drink');
71  $this->request->getCommand();
72  }
73 
78  {
79  $mockCliRequest = new \TYPO3\CMS\Extbase\Mvc\Cli\Request;
80  $mockCliRequest->setControllerObjectName(\TYPO3\CMS\Extbase\Command\NamespacedMockCommandController::class);
81 
82  $this->assertSame('Extbase', $mockCliRequest->getControllerExtensionName());
83  }
84 
89  {
90  $mockCliRequest = new \TYPO3\CMS\Extbase\Mvc\Cli\Request;
91  $mockCliRequest->setControllerObjectName('Tx_Extbase_Command_OldschoolMockCommandController');
92 
93  $this->assertSame('Extbase', $mockCliRequest->getControllerExtensionName());
94  }
95 }
getAccessibleMock( $originalClassName, $methods=[], array $arguments=[], $mockClassName='', $callOriginalConstructor=true, $callOriginalClone=true, $callAutoload=true)