/** * @test */ public function setControllerObjectNameAndSetControllerCommandNameUnsetTheBuiltCommandObject() { $request = new Request(); $request->setControllerObjectName(\TYPO3\Flow\Command\CacheCommandController::class); $request->setControllerCommandName('flush'); $request->getCommand(); $request->setControllerObjectName('TYPO3\\Flow\\Command\\BeerCommandController'); $request->setControllerCommandName('drink'); $command = $request->getCommand(); $this->assertEquals('typo3.flow:beer:drink', $command->getCommandIdentifier()); }
/** * Checks if compile time command was not recognized as such, then runlevel was * booted but it turned out that in fact the command is a compile time command. * * This happens if the user doesn't specify the full command identifier. * * @param string $runlevel * @return void * @throws \TYPO3\Flow\Mvc\Exception\InvalidCommandIdentifierException */ public function exitIfCompiletimeCommandWasNotCalledCorrectly($runlevel) { if ($runlevel === 'Runtime') { $command = $this->request->getCommand(); if ($this->bootstrap->isCompiletimeCommand($command->getCommandIdentifier())) { $this->response->appendContent(sprintf("<b>Unrecognized Command</b>\n\n" . "Sorry, but he command \"%s\" must be specified by its full command\n" . "identifier because it is a compile time command which cannot be resolved\n" . "from an abbreviated command identifier.\n\n", $command->getCommandIdentifier())); $this->response->send(); $this->shutdown($runlevel); exit(1); } } }