Пример #1
0
 public function testCreatingParserWithoutArgumentsAndCallAnalyse()
 {
     $parser = new Parser();
     $parser->analyse("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; InfoPath.1)");
     $this->assertTrue($parser instanceof \WhichBrowser\Parser);
     $this->assertTrue($parser->isBrowser('Internet Explorer', '=', '6.0'));
 }
Пример #2
0
 /**
  * @requires PHP 5.5
  */
 public function testCreatingParserWithoutArgumentsAndCallAnalyse()
 {
     function countCachedItems($pool)
     {
         $items = 0;
         $reflector = new \ReflectionClass($pool);
         if ($reflector->hasProperty('cache')) {
             $property = $reflector->getProperty('cache');
             $property->setAccessible(true);
             $items = count($property->getValue($pool));
         }
         return $items;
     }
     $pool = new ArrayCachePool();
     $this->assertEquals(0, countCachedItems($pool));
     $parser = new Parser();
     $parser->setCache($pool);
     $parser->analyse("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; InfoPath.1)");
     $result = $parser->toArray();
     $this->assertEquals(1, countCachedItems($pool));
     $this->assertEquals(false, $parser->cached);
     $parser = new Parser();
     $parser->setCache($pool);
     $parser->analyse("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; InfoPath.1)");
     $this->assertEquals($result, $parser->toArray());
     $this->assertEquals(true, $parser->cached);
     $parser = new Parser("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; InfoPath.1)", ['cache' => $pool]);
     $this->assertEquals($result, $parser->toArray());
     $this->assertEquals(true, $parser->cached);
     $parser = new Parser("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; InfoPath.1)", ['cache' => $pool, 'cacheExpires' => 0]);
     $this->assertEquals($result, $parser->toArray());
     $this->assertEquals(true, $parser->cached);
 }