Gets a cache instance
public getCache ( ) : BrowscapPHP\Cache\BrowscapCacheInterface | ||
Résultat | BrowscapPHP\Cache\BrowscapCacheInterface |
public function __construct(Browscap $parser, $expectedType = '') { $this->parser = $parser; if ($parser->getCache()->getType() === null) { throw new InvalidArgumentException('You need to warm-up the cache first to use this provider'); } if ($expectedType !== $parser->getCache()->getType()) { throw new InvalidArgumentException('Expected the "' . $expectedType . '" data file. Instead got the "' . $parser->getCache()->getType() . '" data file'); } }
/** * */ public function testSetGetCacheWithAdapter() { /** @var \WurflCache\Adapter\Memory $cache */ $cache = $this->getMockBuilder(\WurflCache\Adapter\Memory::class)->disableOriginalConstructor()->getMock(); self::assertSame($this->object, $this->object->setCache($cache)); self::assertInstanceOf('\\BrowscapPHP\\Cache\\BrowscapCache', $this->object->getCache()); }
/** * */ public function testSetGetCacheWithAdapter() { /** @var \WurflCache\Adapter\Memory $cache */ $cache = $this->getMock('\\WurflCache\\Adapter\\Memory', array(), array(), '', false); self::assertSame($this->object, $this->object->setCache($cache)); self::assertInstanceOf('\\BrowscapPHP\\Cache\\BrowscapCache', $this->object->getCache()); }
/** * @dataProvider userAgentDataProvider * @coversNothing * * @param string $userAgent * @param array $expectedProperties * @param bool $lite * @param bool $standard * * @throws \Exception * @throws \BrowscapPHP\Exception * * @group intergration * @group useragenttest * @group lite */ public function testUserAgentsLite($userAgent, $expectedProperties, $lite = true, $standard = true) { if (!is_array($expectedProperties) || !count($expectedProperties)) { self::markTestSkipped('Could not run test - no properties were defined to test'); } if (!$lite) { self::markTestSkipped('Test skipped - Browser/Platform/Version not defined for Lite Mode'); } static $updatedLiteCache = false; if (!$updatedLiteCache) { self::$browscap->getCache()->flush(); self::$browscap->convertFile(self::$buildFolder . '/lite_php_browscap.ini'); $updatedLiteCache = true; } $actualProps = (array) self::$browscap->getBrowser($userAgent); foreach ($expectedProperties as $propName => $propValue) { if (!self::$propertyHolder->isOutputProperty($propName)) { continue; } if (!self::$propertyHolder->isLiteModeProperty($propName)) { continue; } $propName = strtolower($propName); self::assertArrayHasKey($propName, $actualProps, 'Actual properties did not have "' . $propName . '" property'); self::assertSame($propValue, $actualProps[$propName], 'Expected actual "' . $propName . '" to be "' . $propValue . '" (was "' . $actualProps[$propName] . '"; used pattern: ' . $actualProps['browser_name_pattern'] . ')'); } }
/** * */ public function testConvertString() { $content = ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Browscap Version [GJK_Browscap_Version] Version=5031 Released=Mon, 30 Jun 2014 17:55:58 +0200 Format=ASP Type= ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DefaultProperties [DefaultProperties] Comment=DefaultProperties Browser=DefaultProperties Version=0.0 MajorVer=0 MinorVer=0 Platform=unknown Platform_Version=unknown Alpha=false Beta=false Win16=false Win32=false Win64=false Frames=false IFrames=false Tables=false Cookies=false BackgroundSounds=false JavaScript=false VBScript=false JavaApplets=false ActiveXControls=false isMobileDevice=false isTablet=false isSyndicationReader=false Crawler=false CssVersion=0 AolVersion=0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ask [Ask] Parent=DefaultProperties Comment=Ask Browser=Ask Frames=1 IFrames=1 Tables=1 Crawler=1 Version=0.0 MajorVer=0 MinorVer=0 Platform=unknown Platform_Version=unknown Alpha= Beta= Win16= Win32= Win64= Cookies= BackgroundSounds= JavaScript= VBScript= JavaApplets= ActiveXControls= isMobileDevice= isTablet= isSyndicationReader= CssVersion=0 AolVersion=0 [Mozilla/?.0 (compatible; Ask Jeeves/Teoma*)] Parent=Ask Browser=Teoma Comment=Ask Version=0.0 MajorVer=0 MinorVer=0 Platform=unknown Platform_Version=unknown Alpha= Beta= Win16= Win32= Win64= Frames=1 IFrames=1 Tables=1 Cookies= BackgroundSounds= JavaScript= VBScript= JavaApplets= ActiveXControls= isMobileDevice= isTablet= isSyndicationReader= Crawler=1 CssVersion=0 AolVersion=0 '; $cache = new Memory(); $this->object->setCache($cache); $this->object->convertString($content); self::assertSame(5031, $this->object->getCache()->getVersion()); }