function it_inserts_method_in_class_with_stuff(Editor $editor, File $file, Method $method, PrettyPrinter $prettyPrinter) { $insertMethod = new InsertMethod($file->getWrappedObject(), $method->getWrappedObject()); $method->getName()->willReturn(self::METHOD_NAME); $editor->hasBelow($file, self::METHOD_PATTERN, 0)->willReturn(false); $editor->jumpBelow($file, InsertMethodHandler::CLASS_ENDING, 0)->shouldBeCalled(); $file->decrementCurrentLineNumber(1)->shouldBeCalled(); $file->getLine()->willReturn(' }'); $editor->insertBelow($file, '')->shouldBeCalled(); $prettyPrinter->generateCode($method)->willReturn(self::GENERATED_CODE); $editor->insertBelow($file, self::GENERATED_CODE)->shouldBeCalled(); $this->handle($insertMethod); }
function it_inserts_constructor_in_class_with_methods_and_other_stuff(Editor $editor, File $file, Method $method, PrettyPrinter $prettyPrinter) { $insertConstructor = new InsertConstructor($file->getWrappedObject(), $method->getWrappedObject()); $editor->hasBelow($file, InsertConstructorHandler::CONSTRUCTOR, 0)->willReturn(false); $editor->hasBelow($file, InsertConstructorHandler::METHOD, 0)->willReturn(true); $editor->jumpBelow($file, InsertConstructorHandler::METHOD, 0)->shouldBeCalled(); $editor->insertAbove($file, '')->shouldBeCalled(); $prettyPrinter->generateCode($method)->willReturn(self::GENERATED_CODE); $editor->insertAbove($file, self::GENERATED_CODE)->shouldBeCalled(); $file->decrementCurrentLineNumber(1)->shouldBeCalled(); $file->getLine()->willReturn(' const CONSTANT = 42;'); $editor->insertBelow($file, '')->shouldBeCalled(); $this->handle($insertConstructor); }