Esempio n. 1
0
 /**
  * Read response from cloudfront, if the cloudfront headers are detected
  * @covers Mobile_Detect::setCfHeaders
  */
 public function testSetCfHeaders()
 {
     // Test mobile detected
     $header1 = array('HTTP_CLOUDFRONT_IS_DESKTOP_VIEWER' => 'false', 'HTTP_CLOUDFRONT_IS_MOBILE_VIEWER' => 'true', 'HTTP_CLOUDFRONT_IS_TABLET_VIEWER' => 'false');
     $md = new Mobile_Detect($header1);
     $this->assertSame($md->getCfHeaders(), $header1);
     $this->assertSame($md->getUserAgent(), 'Amazon CloudFront');
     $this->assertSame($md->isTablet(), false);
     $this->assertSame($md->isMobile(), true);
     // Test neither mobile nor tablet (desktop)
     $header2 = array('HTTP_CLOUDFRONT_IS_DESKTOP_VIEWER' => 'true', 'HTTP_CLOUDFRONT_IS_MOBILE_VIEWER' => 'false', 'HTTP_CLOUDFRONT_IS_TABLET_VIEWER' => 'false');
     $md->setHttpHeaders($header2);
     $this->assertSame($md->getCfHeaders(), $header2);
     $this->assertSame($md->getUserAgent(), 'Amazon CloudFront');
     $this->assertSame($md->isTablet(), false);
     $this->assertSame($md->isMobile(), false);
     // Test tablet detected
     $header3 = array('HTTP_CLOUDFRONT_IS_DESKTOP_VIEWER' => 'false', 'HTTP_CLOUDFRONT_IS_MOBILE_VIEWER' => 'false', 'HTTP_CLOUDFRONT_IS_TABLET_VIEWER' => 'true');
     $md->setCfHeaders($header3);
     $this->assertSame($md->getCfHeaders(), $header3);
     $this->assertSame($md->getUserAgent(), 'Amazon CloudFront');
     $this->assertSame($md->isTablet(), true);
     $this->assertSame($md->isMobile(), false);
     // Check if the headers are cleared
     $header4 = array();
     $md->setHttpHeaders($header4);
     $this->assertSame($md->getCfHeaders(), $header4);
 }