Example #1
0
 protected function actionRequest()
 {
     $request_factory = new WURFL_Request_GenericRequestFactory();
     $request = $request_factory->createRequest($this->http_headers);
     $device = $this->wurfl->getDeviceForRequest($request);
     $this->response['id'] = $device->id;
     $this->response['user_agent'] = $request->userAgent;
     if (!empty($this->capabilities)) {
         $this->response['capabilities'] = array();
         foreach ($this->capabilities as $capability) {
             $this->response['capabilities'][$capability] = $device->getCapability($capability);
         }
     }
     if ($this->matcher_history) {
         $this->response['matcher_history'] = $device->getCapability('matcher_history');
     }
     $this->response['success'] = true;
     $this->sendResponse();
 }
Example #2
0
 protected function actionRequest()
 {
     $request_factory = new WURFL_Request_GenericRequestFactory();
     $request = $request_factory->createRequest($this->http_headers);
     $device = $this->wurfl->getDeviceForRequest($request);
     $this->response['id'] = $device->id;
     $this->response['user_agent'] = $request->userAgent;
     if (!empty($this->capabilities)) {
         $this->response['capabilities'] = array();
         foreach ($this->capabilities as $capability) {
             if (array_key_exists($capability, WURFL_VirtualCapabilityProvider::$virtual_capabilities)) {
                 $value = $device->getVirtualCapability($capability);
             } else {
                 $value = $device->getCapability($capability);
             }
             $this->response['capabilities'][$capability] = $value;
         }
     }
     if ($this->matcher_history) {
         $this->response['matcher_history'] = $request->matchInfo->matcher_history;
     }
     $this->response['success'] = true;
     $this->sendResponse();
 }
Example #3
0
 public function run(WURFL_WURFLManager $wurflManager)
 {
     $this->failure_count = 0;
     // Verify API Version
     if ($this->min_version && version_compare(WURFL_Constants::API_VERSION, $this->min_version, '<')) {
         throw new CentralTest_InvalidIntrospectorVersionException("Test requires WURFL PHP API >= {$this->min_version} (current " . WURFL_Constants::API_VERSION . ")");
     }
     // Verify correct mode
     if ($this->mode != self::MODE_ALL) {
         $required_mode = $this->mode == self::MODE_HIGH_PERFORMANCE ? WURFL_Configuration_Config::MATCH_MODE_PERFORMANCE : WURFL_Configuration_Config::MATCH_MODE_ACCURACY;
         WURFL_Configuration_ConfigHolder::getWURFLConfig()->matchMode($required_mode);
     }
     $request_factory = new WURFL_Request_GenericRequestFactory();
     $request = $request_factory->createRequest($this->http_headers, $this->ua_override);
     $device = $wurflManager->getDeviceForRequest($request);
     foreach ($this->assertions as $assertion) {
         /* @var $assertion CentralTestAssertion */
         $assertion->wurflManager = $wurflManager;
         if (!$assertion->assert($device)) {
             $this->failure_count++;
         }
     }
     return $this->failure_count === 0;
 }