function it_prompts_and_warns_when_one_method_name_is_correct_but_other_reserved($exampleEvent, SuiteEvent $suiteEvent, IO $io, NameCheckerInterface $nameChecker) { $this->callAfterExample($exampleEvent, $nameChecker, 'throw', false); $this->callAfterExample($exampleEvent, $nameChecker, 'foo'); $io->writeBrokenCodeBlock("I cannot generate the method 'throw' for you because it is a reserved keyword", 2)->shouldBeCalled(); $io->askConfirmation('Do you want me to create `stdClass::foo()` for you?')->shouldBeCalled(); $suiteEvent->markAsNotWorthRerunning()->shouldBeCalled(); $this->afterSuite($suiteEvent); }
function it_prompts_and_warns_when_one_method_name_is_correct_but_other_reserved(ExampleEvent $event, SuiteEvent $suiteEvent, ConsoleIO $io, NameChecker $nameChecker) { $this->callAfterExample($event, $nameChecker, 'throw', false); $this->callAfterExample($event, $nameChecker, 'foo'); $io->writeBrokenCodeBlock("I cannot generate the method 'throw' for you because it is a reserved keyword", 2)->shouldBeCalled(); $io->askConfirmation(Argument::any())->shouldBeCalled(); $suiteEvent->markAsNotWorthRerunning()->shouldBeCalled(); $this->afterSuite($suiteEvent); }
/** * @param SuiteEvent $event */ public function afterSuite(SuiteEvent $event) { foreach ($this->interfaces as $interface => $methods) { try { $resource = $this->resources->createResource($interface); } catch (ResourceCreationException $e) { continue; } foreach ($methods as $method => $arguments) { if (in_array($method, $this->wrongMethodNames)) { continue; } if ($this->io->askConfirmation(sprintf(self::PROMPT, $interface, $method))) { $this->generator->generate($resource, 'method-signature', array('name' => $method, 'arguments' => $this->getRealArguments($arguments))); $event->markAsWorthRerunning(); } } } if ($this->wrongMethodNames) { $this->writeErrorMessage(); $event->markAsNotWorthRerunning(); } }
public function afterSuite(SuiteEvent $event) { if (!$this->io->isCodeGenerationEnabled()) { return; } foreach ($this->methods as $call => $arguments) { list($classname, $method) = explode('::', $call); if (in_array($method, $this->wrongMethodNames)) { continue; } $message = sprintf('Do you want me to create `%s()` for you?', $call); try { $resource = $this->resources->createResource($classname); } catch (\RuntimeException $e) { continue; } if ($this->io->askConfirmation($message)) { $this->generator->generate($resource, 'method', array('name' => $method, 'arguments' => $arguments)); $event->markAsWorthRerunning(); } } if ($this->wrongMethodNames) { $this->writeWrongMethodNameMessage(); $event->markAsNotWorthRerunning(); } }