public function testCreateRequest()
 {
     $userAgent = 'testUA';
     $header = array(Constants::HEADER_HTTP_USERAGENT => $userAgent);
     $expected = new GenericRequest($header, $userAgent, null, false);
     $result = $this->object->createRequest($header, false);
     self::assertInstanceOf('\\Wurfl\\Request\\GenericRequest', $result);
     self::assertEquals($expected, $result);
 }
Beispiel #2
0
 /**
  * @param string|array|\Wurfl\Request\GenericRequest $request
  *
  * @return \Wurfl\Request\GenericRequest
  */
 public function initRequest($request)
 {
     if (null === $request) {
         throw new \UnexpectedValueException('You have to call this function with the useragent parameter');
     }
     $requestFactory = new GenericRequestFactory();
     if (is_string($request)) {
         $request = $requestFactory->createRequestForUserAgent($request);
     } elseif (is_array($request)) {
         $request = $requestFactory->createRequest($request);
     }
     if (!$request instanceof GenericRequest) {
         throw new \UnexpectedValueException('the useragent parameter has to be a string, an array or an instance of \\Wurfl\\Request\\GenericRequest');
     }
     return $request;
 }
 /**
  * @dataProvider loadData
  *
  * @param string $expected
  * @param array  $serverData
  */
 public function testCreateRequest($expected, array $serverData)
 {
     $requestFactory = new GenericRequestFactory();
     $request = $requestFactory->createRequest($serverData);
     self::assertEquals($expected, $request->getUserAgent());
 }
Beispiel #4
0
 /**
  * Return a device for the given http request(user-agent..)
  *
  * @param array $httpRequest                    HTTP Request array (normally $_SERVER)
  * @param bool  $override_sideloaded_browser_ua
  *
  * @throws Exception if $httpRequest is not set
  *
  * @return \Wurfl\CustomDevice device
  */
 public function getDeviceForHttpRequest(array $httpRequest = array(), $override_sideloaded_browser_ua = true)
 {
     if (!isset($httpRequest)) {
         throw new Exception('The $httpRequest parameter must be set.');
     }
     $requestFactory = new Request\GenericRequestFactory();
     $request = $requestFactory->createRequest($httpRequest, $override_sideloaded_browser_ua);
     return $this->getDeviceForRequest($request);
 }