spec\PhpSpec\CodeGenerator\Generator\SpecificationGeneratorSpec::it_uses_template_provided_by_templating_system_if_there_is_one PHP Method

it_uses_template_provided_by_templating_system_if_there_is_one() public method

public it_uses_template_provided_by_templating_system_if_there_is_one ( $io, $tpl, $fs, PhpSpec\Locator\Resource $resource )
$resource PhpSpec\Locator\Resource
    function it_uses_template_provided_by_templating_system_if_there_is_one($io, $tpl, $fs, Resource $resource)
    {
        $resource->getSpecName()->willReturn('AppSpec');
        $resource->getSpecFilename()->willReturn('/project/spec/Acme/AppSpec.php');
        $resource->getSpecNamespace()->willReturn('spec\\Acme');
        $resource->getSrcClassname()->willReturn('Acme\\App');
        $resource->getName()->willReturn('App');
        $values = array('%filepath%' => '/project/spec/Acme/AppSpec.php', '%name%' => 'AppSpec', '%namespace%' => 'spec\\Acme', '%subject%' => 'Acme\\App', '%subject_class%' => 'App');
        $tpl->render('specification', $values)->willReturn('template code');
        $tpl->renderString(Argument::type('string'), $values)->willReturn('generated code');
        $fs->pathExists('/project/spec/Acme/AppSpec.php')->willReturn(false);
        $fs->isDirectory('/project/spec/Acme')->willReturn(true);
        $fs->putFileContents('/project/spec/Acme/AppSpec.php', 'template code')->shouldBeCalled();
        $this->generate($resource);
    }