function it_set_endpoint_capabilities(TokenInterface $token, CollatorInterface $collator)
 {
     $collator->get(Argument::exact(Capabilities::IS_CONSOLE))->shouldBeCalledTimes(1)->willReturn(null);
     $collator->set(Argument::exact(Capabilities::IS_CONSOLE), Argument::exact(false))->shouldBeCalledTimes(1);
     $collator->get(Argument::exact(Capabilities::IS_MOBILE))->shouldBeCalledTimes(1)->willReturn(null);
     $collator->set(Argument::exact(Capabilities::IS_DESKTOP), Argument::exact(true))->shouldBeCalledTimes(1);
     $collator->get(Argument::exact(Capabilities::IS_SMART_TV))->shouldBeCalledTimes(1)->willReturn(false);
     $collator->set(Argument::exact(Capabilities::IS_SMART_TV), Argument::exact(false))->shouldBeCalledTimes(1);
     $collator->get(Argument::exact(Capabilities::IS_BOT))->shouldBeCalledTimes(2)->willReturn(false);
     $collator->set(Argument::exact(Capabilities::IS_BOT), Argument::exact(false))->shouldBeCalledTimes(1);
     $collator->set(Argument::exact(Capabilities::IS_MOBILE), Argument::exact(false))->shouldBeCalledTimes(1);
     $this->visit($token, $collator)->shouldReturn(VisitorInterface::STATE_SEEKING);
 }
예제 #2
0
 /**
  * {@inheritdoc}
  */
 public function visit(TokenInterface $token, CollatorInterface $collator)
 {
     $collator->set(Capabilities::IS_CONSOLE, !$this->hasEmptyCapability($collator, Capabilities::IS_CONSOLE));
     $collator->set(Capabilities::IS_BOT, !$this->hasEmptyCapability($collator, Capabilities::IS_BOT));
     $isMobile = $this->hasEmptyCapability($collator, Capabilities::IS_MOBILE);
     $collator->set(Capabilities::IS_DESKTOP, $isMobile && $this->hasEmptyCapability($collator, Capabilities::IS_BOT));
     $collator->set(Capabilities::IS_MOBILE, !$isMobile);
     $collator->set(Capabilities::IS_SMART_TV, !$this->hasEmptyCapability($collator, Capabilities::IS_SMART_TV));
     return self::STATE_SEEKING;
 }