예제 #1
0
 function testObject()
 {
     $this->assert(Argument::object(\DateTime::class)->accepts(new ExactArgument(new \DateTime())));
     $this->assert(Argument::object(\DateTime::class)->accepts(new ObjectArgument(\DateTime::class)));
     $this->assert(Argument::object(\DateTimeInterface::class)->accepts(new ObjectArgument(\DateTime::class)));
     $this->assert->not(Argument::object(\DateTime::class)->accepts(new ObjectArgument(\DateTimeInterface::class)));
 }
예제 #2
0
 function collectsHeadElementsOfItems()
 {
     $itemRenderer = Mockster::of(WebRenderer::class);
     $this->registry->add(Mockster::mock($itemRenderer));
     Mockster::stub($itemRenderer->handles(Argument::any()))->will()->return_(true);
     Mockster::stub($itemRenderer->headElements('foo'))->will()->return_([new Element('foo')]);
     Mockster::stub($itemRenderer->headElements(Argument::object(\DateTime::class)))->will()->return_([new Element('bar')]);
     $elements = $this->renderer->headElements(['foo', new \DateTime()]);
     $this->assert->size($elements, 2);
     $this->assert((string) $elements[0], '<foo></foo>');
     $this->assert((string) $elements[1], '<bar></bar>');
 }