spec\PhpSpec\CodeGenerator\Generator\ClassGeneratorSpec::it_generates_class_from_resource_and_puts_it_into_appropriate_folder PHP Method

it_generates_class_from_resource_and_puts_it_into_appropriate_folder() public method

public it_generates_class_from_resource_and_puts_it_into_appropriate_folder ( $io, $tpl, $fs, PhpSpec\Locator\Resource $resource )
$resource PhpSpec\Locator\Resource
    function it_generates_class_from_resource_and_puts_it_into_appropriate_folder($io, $tpl, $fs, Resource $resource)
    {
        $resource->getName()->willReturn('App');
        $resource->getSrcFilename()->willReturn('/project/src/Acme/App.php');
        $resource->getSrcNamespace()->willReturn('Acme');
        $resource->getSrcClassname()->willReturn('Acme\\App');
        $values = array('%filepath%' => '/project/src/Acme/App.php', '%name%' => 'App', '%namespace%' => 'Acme', '%namespace_block%' => "\n\nnamespace Acme;");
        $tpl->render('class', $values)->willReturn(null);
        $tpl->renderString(Argument::type('string'), $values)->willReturn('generated code');
        $fs->pathExists('/project/src/Acme/App.php')->willReturn(false);
        $fs->isDirectory('/project/src/Acme')->willReturn(true);
        $fs->putFileContents('/project/src/Acme/App.php', 'generated code')->shouldBeCalled();
        $this->generate($resource);
    }