function it_decorates_expectation_with_broken_event(ExpectationInterface $expectation, EventDispatcherInterface $dispatcher)
 {
     $alias = 'be';
     $subject = new \stdClass();
     $arguments = array();
     $expectation->match(Argument::cetera())->willThrow('\\RuntimeException');
     $dispatcher->dispatch('beforeExpectation', Argument::type('PhpSpec\\Event\\ExpectationEvent'))->shouldBeCalled();
     $dispatcher->dispatch('afterExpectation', Argument::which('getResult', ExpectationEvent::BROKEN))->shouldBeCalled();
     $this->shouldThrow('\\RuntimeException')->duringMatch($alias, $subject, $arguments);
 }
예제 #2
0
 function it_passes_the_existing_subject_to_expectation(Wrapper $wrapper, WrappedObject $wrappedObject, Caller $caller, SubjectWithArrayAccess $arrayAccess, ExpectationFactory $expectationFactory, ExpectationInterface $expectation)
 {
     $existingSubject = new \ArrayObject();
     $this->beConstructedWith($existingSubject, $wrapper, $wrappedObject, $caller, $arrayAccess, $expectationFactory);
     $expectation->match(Argument::cetera())->willReturn(true);
     $wrappedObject->getClassName()->willReturn('\\ArrayObject');
     $expectationFactory->create(Argument::cetera())->willReturn($expectation);
     $this->callOnWrappedObject('shouldBeAlright');
     $expectationFactory->create(Argument::any(), Argument::exact($existingSubject), Argument::any())->shouldHaveBeenCalled();
 }