当前位置: 首页>>代码示例>>PHP>>正文


PHP ResourceInterface::getSpecClassname方法代码示例

本文整理汇总了PHP中PhpSpec\Locator\ResourceInterface::getSpecClassname方法的典型用法代码示例。如果您正苦于以下问题:PHP ResourceInterface::getSpecClassname方法的具体用法?PHP ResourceInterface::getSpecClassname怎么用?PHP ResourceInterface::getSpecClassname使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PhpSpec\Locator\ResourceInterface的用法示例。


在下文中一共展示了ResourceInterface::getSpecClassname方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generateCodeForResource

    protected function generateCodeForResource(ResourceInterface $resource, array $data)
    {
        /** @var Object $structure */
        $structure = Object::make($resource->getSpecClassname());
        $structure->extend(Object::make('PhpSpec\\ObjectBehavior'));
        $methodBody = <<<BODY
        \$this->shouldHaveType('{$resource->getSrcClassname()}');
BODY;
        $structure->addMethod(Method::make('it_is_initializable')->setBody($methodBody));
        foreach ($data['params'] as $param) {
            $specExample = sprintf('it_should_retrieve_%s_getter_value', $param);
            $specMethodBody = "";
            $specMethodBody .= "        throw new PendingException('pending implementation');" . "\n";
            $specMethodBody .= "        \$expectation = 'put value here';" . "\n";
            $specMethodBody .= "        \$this->{$param}()->shouldBeLike(\$expectation);";
            $specExampleMethod = Method::make($specExample)->setBody($specMethodBody);
            $structure->addMethod($specExampleMethod);
        }
        $file = File::make($resource->getSpecFilename());
        $file->addFullyQualifiedName(new FullyQualifiedName('PhpSpec\\ObjectBehavior'));
        $file->addFullyQualifiedName(new FullyQualifiedName('Prophecy\\Argument'));
        $file->addFullyQualifiedName(new FullyQualifiedName('PhpSpec\\Exception\\Example\\PendingException'));
        $file->setStructure($structure);
        $prettyPrinter = Build::prettyPrinter();
        return $prettyPrinter->generateCode($file);
    }
开发者ID:ulabox,项目名称:bus-spec,代码行数:26,代码来源:CommandSpecGenerator.php

示例2: generateCodeForResource

    protected function generateCodeForResource(ResourceInterface $resource, array $data)
    {
        /** @var Object $structure */
        $structure = Object::make($resource->getSpecClassname());
        $handledClass = $data['handles'];
        $pieces = explode("\\", $handledClass);
        $handledClassShortName = end($pieces);
        $arguments = '$' . implode(', $', $data['params']);
        $structure->extend(Object::make('PhpSpec\\ObjectBehavior'));
        $methodBody = <<<BODY
        \$this->shouldHaveType('{$resource->getSrcClassname()}');
BODY;
        $structure->addMethod(Method::make('it_is_initializable')->setBody($methodBody));
        $methodBody = <<<BODY
        throw new PendingException('Pending implementation');
        \$command = new {$handledClassShortName}({$arguments});
        \$this->handle(\$command);
BODY;
        $structure->addMethod(Method::make('it_should_handle')->setBody($methodBody));
        $file = File::make($resource->getSpecFilename());
        $file->addFullyQualifiedName(new FullyQualifiedName('PhpSpec\\ObjectBehavior'));
        $file->addFullyQualifiedName(new FullyQualifiedName('Prophecy\\Argument'));
        $file->addFullyQualifiedName(new FullyQualifiedName('PhpSpec\\Exception\\Example\\PendingException'));
        $file->addFullyQualifiedName(new FullyQualifiedName($handledClass));
        $file->setStructure($structure);
        $prettyPrinter = Build::prettyPrinter();
        return $prettyPrinter->generateCode($file);
    }
开发者ID:ulabox,项目名称:bus-spec,代码行数:28,代码来源:HandlerSpecGenerator.php

示例3:

 function it_uses_the_resource_from_the_highest_priority_locator_when_duplicates_occur($locator1, $locator2, ResourceInterface $resource1, ResourceInterface $resource2)
 {
     $locator1->getPriority()->willReturn(2);
     $locator2->getPriority()->willReturn(1);
     $this->registerLocator($locator1);
     $this->registerLocator($locator2);
     $resource1->getSpecClassname()->willReturn('Some\\Spec');
     $resource2->getSpecClassname()->willReturn('Some\\Spec');
     $locator1->getAllResources()->willReturn(array($resource1));
     $locator2->getAllResources()->willReturn(array($resource2));
     $this->locateResources('')->shouldReturn(array($resource1));
 }
开发者ID:edwardricardo,项目名称:zenska,代码行数:12,代码来源:ResourceManagerSpec.php

示例4: importResource

 private function importResource(Suite $suite, ResourceInterface $resource, $line = null)
 {
     if (!class_exists($resource->getSpecClassname()) && is_file($resource->getSpecFilename())) {
         require_once $resource->getSpecFilename();
     }
     if (!class_exists($resource->getSpecClassname())) {
         return;
     }
     $reflection = new ReflectionClass($resource->getSpecClassname());
     if ($reflection->isAbstract()) {
         return;
     }
     if (!$reflection->implementsInterface('PhpSpec\\SpecificationInterface')) {
         return;
     }
     $spec = new SpecificationNode($resource->getSrcClassname(), $reflection, $resource);
     foreach ($reflection->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
         if (!preg_match('/^(it|its)[^a-zA-Z]/', $method->getName())) {
             continue;
         }
         if (null !== $line && !$this->lineIsInsideMethod($line, $method)) {
             continue;
         }
         $example = new ExampleNode(str_replace('_', ' ', $method->getName()), $method);
         if ($this->methodIsEmpty($method)) {
             $example->markAsPending();
         }
         $spec->addExample($example);
     }
     $suite->addSpecification($spec);
 }
开发者ID:phpguard,项目名称:plugin-phpspec,代码行数:31,代码来源:ResourceLoader.php


注:本文中的PhpSpec\Locator\ResourceInterface::getSpecClassname方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。