本文整理汇总了PHP中PhpSpec\Loader\Node\ExampleNode::getSpecification方法的典型用法代码示例。如果您正苦于以下问题:PHP ExampleNode::getSpecification方法的具体用法?PHP ExampleNode::getSpecification怎么用?PHP ExampleNode::getSpecification使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhpSpec\Loader\Node\ExampleNode
的用法示例。
在下文中一共展示了ExampleNode::getSpecification方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: prepare
/**
* @param ExampleNode $example
* @param SpecificationInterface $context
* @param MatcherManager $matchers
* @param CollaboratorManager $collaborators
*/
public function prepare(ExampleNode $example, SpecificationInterface $context, MatcherManager $matchers, CollaboratorManager $collaborators)
{
$spec = $example->getSpecification()->getClassReflection()->newInstance();
$beforeMethod = $example->getSpecification()->getClassReflection()->getMethod($this->beforeMethod);
$this->createMissingCollabolators($collaborators, $beforeMethod);
$beforeMethod->invokeArgs($spec, $collaborators->getArgumentsFor($beforeMethod));
}
示例2: teardown
/**
* @param ExampleNode $example
* @param SpecificationInterface $context
* @param MatcherManager $matchers
* @param CollaboratorManager $collaborators
*/
public function teardown(ExampleNode $example, SpecificationInterface $context, MatcherManager $matchers, CollaboratorManager $collaborators)
{
if (!$example->getSpecification()->getClassReflection()->hasMethod('letgo')) {
return;
}
$reflection = $example->getSpecification()->getClassReflection()->getMethod('letgo');
$reflection->invokeArgs($context, $collaborators->getArgumentsFor($reflection));
}
示例3: prepare
/**
* Generates DI related stuff via parameter validator
*
* @param ExampleNode $example
* @param Specification $context
* @param MatcherManager $matchers
* @param CollaboratorManager $collaborators
*
* @return $this
*/
public function prepare(ExampleNode $example, Specification $context, MatcherManager $matchers, CollaboratorManager $collaborators)
{
if ($example->getSpecification()->getClassReflection()->hasMethod('let')) {
$this->parameterValidator->validate($example->getSpecification()->getClassReflection()->getMethod('let'));
}
$this->parameterValidator->validate($example->getFunctionReflection());
return $this;
}
示例4: prepare
/**
* @param ExampleNode $example
* @param Specification $context
* @param MatcherManager $matchers
* @param CollaboratorManager $collaborators
*/
public function prepare(ExampleNode $example, Specification $context, MatcherManager $matchers, CollaboratorManager $collaborators)
{
$subjectFactory = new Wrapper($matchers, $this->presenter, $this->dispatcher, $example, $this->accessInspector);
$subject = $subjectFactory->wrap(null);
$subject->beAnInstanceOf($example->getSpecification()->getResource()->getSrcClassname());
$context->setSpecificationSubject($subject);
}
示例5: prepare
/**
* @param ExampleNode $example
* @param SpecificationInterface $context
* @param MatcherManager $matchers
* @param CollaboratorManager $collaborators
*/
public function prepare(ExampleNode $example, SpecificationInterface $context, MatcherManager $matchers, CollaboratorManager $collaborators)
{
$this->prophet = new Prophet(null, $this->unwrapper, null);
$classRefl = $example->getSpecification()->getClassReflection();
if ($classRefl->hasMethod('let')) {
$this->generateCollaborators($collaborators, $classRefl->getMethod('let'));
}
$this->generateCollaborators($collaborators, $example->getFunctionReflection());
}
示例6:
function it_prepares_the_subject(ExampleNode $example, ObjectBehavior $context, MatcherManager $matchers, CollaboratorManager $collaborators, SpecificationNode $specification, ResourceInterface $resource, VarienWrapper $wrapper, Subject $subject, $factory)
{
$factory->create(Argument::cetera())->willReturn($wrapper);
$wrapper->wrap(null)->willReturn($subject);
$subject->beAnInstanceOf('\\stdObject');
$subject = $subject->getWrappedObject();
$resource->getSrcClassname()->willReturn('\\stdObject');
$specification->getResource()->willReturn($resource);
$example->getSpecification()->willReturn($specification);
$context->setSpecificationSubject($subject)->shouldBeCalled();
$this->prepare($example, $context, $matchers, $collaborators);
}
示例7: prepareExampleBeforeAnnotation
function prepareExampleBeforeAnnotation(ExampleNode $exampleNode, \ReflectionMethod $method, SpecificationNode $specificationNode, \ReflectionClass $specClass)
{
$exampleNode->getFunctionReflection()->willReturn($method);
$method->getDocComment()->willReturn(<<<ANNOTATION
/**
* @before prepareMethod
*/
ANNOTATION
);
$exampleNode->getSpecification()->willReturn($specificationNode);
$specificationNode->getClassReflection()->willReturn($specClass);
}
示例8: let
function let(Laravel $laravel, ExampleNode $example, SpecificationInterface $context)
{
$this->beConstructedWith($laravel);
$p = new Prophet();
$this->refMethod = $p->prophesize('ReflectionMethod');
$this->refMethod->invokeArgs(Argument::type('PhpSpec\\SpecificationInterface'), Argument::type('array'))->shouldBeCalled();
$refClass = $p->prophesize('ReflectionClass');
$refClass->hasMethod('setLaravel')->willReturn(true);
$refClass->hasMethod('setLaravel')->shouldBeCalled();
$refClass->getMethod('setLaravel')->willReturn($this->refMethod->reveal());
$refClass->getMethod('setLaravel')->shouldBeCalled();
$specNode = $p->prophesize('PhpSpec\\Loader\\Node\\SpecificationNode');
$specNode->getClassReflection()->willReturn($refClass->reveal());
$example->getSpecification()->willReturn($specNode->reveal());
}
示例9:
function it_does_pass_regular_example_into_parameter_validator_and_let_method_if_they_are_defined(ExampleNode $example, Specification $context, MatcherManager $matchers, CollaboratorManager $collaborators, SpecificationNode $specificationNode, \ReflectionClass $reflectionClass)
{
$example->getSpecification()->willReturn($specificationNode);
$specificationNode->getClassReflection()->willReturn($reflectionClass);
$reflectionClass->hasMethod('let')->willReturn(true);
$exampleClosureReflection = new \ReflectionFunction(function () {
});
$letClosureReflection = new \ReflectionFunction(function () {
});
$reflectionClass->getMethod('let')->willReturn($letClosureReflection)->shouldBeCalled();
$example->getFunctionReflection()->willReturn($exampleClosureReflection)->shouldBeCalled();
$this->parameterValidator->validate($letClosureReflection)->shouldBeCalled();
$this->parameterValidator->validate($exampleClosureReflection)->shouldBeCalled();
$this->prepare($example, $context, $matchers, $collaborators)->shouldReturn($this);
}
示例10: array
function it_runs_let_and_letgo_maintainer_before_and_after_each_example_if_the_example_throws_an_exception(ExampleNode $example, SpecificationNode $specification, ReflectionClass $specReflection, $context, ReflectionMethod $exampReflection, LetAndLetgoMaintainer $maintainer, SpecificationInterface $context)
{
$example->isPending()->willReturn(false);
$example->getFunctionReflection()->willReturn($exampReflection);
$example->getSpecification()->willReturn($specification);
$specification->getClassReflection()->willReturn($specReflection);
$specReflection->newInstanceArgs()->willReturn($context);
$exampReflection->getParameters()->willReturn(array());
$exampReflection->invokeArgs($context, array())->willThrow('RuntimeException');
$maintainer->getPriority()->willReturn(1);
$maintainer->supports($example)->willReturn(true);
$maintainer->prepare($example, Argument::cetera())->shouldBeCalled();
$maintainer->teardown($example, Argument::cetera())->shouldBeCalled();
$this->registerMaintainer($maintainer);
$this->run($example);
}
示例11: getIterators
private function getIterators(ExampleNode $example)
{
$classRefl = $example->getSpecification()->getClassReflection();
if ($classRefl->hasMethod('let')) {
foreach ($classRefl->getMethod('let')->getParameters() as $parameter) {
if ($this->isIterator($parameter->getClass())) {
(yield $parameter->getName() => $parameter->getClass()->getName());
}
}
}
foreach ($example->getFunctionReflection()->getParameters() as $parameter) {
if ($this->isIterator($parameter->getClass())) {
(yield $parameter->getName() => $parameter->getClass()->getName());
}
}
}
示例12: getSuite
/**
* @return \PhpSpec\Loader\Suite
*/
public function getSuite()
{
return $this->example->getSpecification()->getSuite();
}
示例13: prepare
/**
* {@inheritdoc}
*/
public function prepare(ExampleNode $example, SpecificationInterface $context, MatcherManager $matchers, CollaboratorManager $collaborators)
{
$reflection = $example->getSpecification()->getClassReflection()->getMethod('setLumen');
$reflection->invokeArgs($context, array($this->lumen));
}
示例14: prepare
/**
* {@inheritdoc}
*/
public function prepare(ExampleNode $example, Specification $context, MatcherManager $matchers, CollaboratorManager $collaborators)
{
$reflection = $example->getSpecification()->getClassReflection()->getMethod('setLaravel');
$reflection->invokeArgs($context, [$this->laravel]);
}
示例15: supports
public function supports(ExampleNode $example)
{
return $example->getSpecification()->getResource() instanceof ModelResource;
}