Sets a cache instance
public setCache ( BrowscapPHP\Cache\BrowscapCacheInterface | WurflCache\Adapter\AdapterInterface $cache ) : |
||
$cache | BrowscapPHP\Cache\BrowscapCacheInterface | WurflCache\Adapter\AdapterInterface | |
return |
/** * This method is called before the first test of this test class is run. */ public static function setUpBeforeClass() { // First, generate the INI files $buildNumber = time(); $resourceFolder = __DIR__ . '/../../resources/'; self::$buildFolder = __DIR__ . '/../../build/browscap-ua-test-' . $buildNumber . '/build/'; $cacheFolder = __DIR__ . '/../../build/browscap-ua-test-' . $buildNumber . '/cache/'; // create build folder if it does not exist if (!file_exists(self::$buildFolder)) { mkdir(self::$buildFolder, 0777, true); } if (!file_exists($cacheFolder)) { mkdir($cacheFolder, 0777, true); } $logger = new Logger('browscap'); $logger->pushHandler(new NullHandler(Logger::DEBUG)); $buildGenerator = new BuildGenerator($resourceFolder, self::$buildFolder); $writerCollectionFactory = new PhpWriterFactory(); $writerCollection = $writerCollectionFactory->createCollection($logger, self::$buildFolder); $buildGenerator->setLogger($logger)->setCollectionCreator(new CollectionCreator())->setWriterCollection($writerCollection); $buildGenerator->run($buildNumber, false); $cache = new File([File::DIR => $cacheFolder]); self::$browscap = new Browscap(); self::$browscap->setCache($cache)->setLogger($logger); self::$browscapUpdater = new BrowscapUpdater(); self::$browscapUpdater->setCache($cache)->setLogger($logger); self::$propertyHolder = new PropertyHolder(); }
protected function getParserWithWarmCache($type) { $filename = 'php_browscap.ini'; if ($type != '') { $filename = $type . '_' . $filename; } $cache = new \WurflCache\Adapter\Memory(); $browscap = new Browscap(); $browscap->setCache($cache); $updater = new BrowscapUpdater(); $updater->setCache($cache); $updater->convertFile('tests/resources/browscap/' . $filename); return $browscap; }
/** * This method is called before the first test of this test class is run. * * @since Method available since Release 3.4.0 */ public static function setUpBeforeClass() { $objectIniPath = ini_get('browscap'); if (!is_file($objectIniPath)) { self::markTestSkipped('browscap not defined in php.ini'); } // Now, load an INI file into BrowscapPHP\Browscap for testing the UAs self::$object = new Browscap(); $cacheAdapter = new Memory(); $cache = new BrowscapCache($cacheAdapter); $cache->flush(); $updater = new BrowscapUpdater(); $updater->setCache($cache)->convertFile($objectIniPath); self::$object->setCache($cache); }
/** * */ public function testCheckUpdateWithNewerVersion() { $logger = $this->getMockBuilder(\Monolog\Logger::class)->disableOriginalConstructor()->getMock(); $this->object->setLogger($logger); $body = $this->getMockBuilder(\GuzzleHttp\Psr7\Stream::class)->disableOriginalConstructor()->setMethods(['getContents'])->getMock(); $body->expects(self::once())->method('getContents')->will(self::returnValue(6001)); $response = $this->getMockBuilder(\GuzzleHttp\Psr7\Response::class)->disableOriginalConstructor()->setMethods(['getStatusCode', 'getBody'])->getMock(); $response->expects(self::once())->method('getStatusCode')->will(self::returnValue(200)); $response->expects(self::once())->method('getBody')->will(self::returnValue($body)); $client = $this->getMockBuilder(\GuzzleHttp\Client::class)->disableOriginalConstructor()->setMethods(['get'])->getMock(); $client->expects(self::once())->method('get')->will(self::returnValue($response)); $this->object->setClient($client); $map = [['browscap.time', false, null, null], ['browscap.version', false, null, 6000]]; $cache = $this->getMockBuilder(\BrowscapPHP\Cache\BrowscapCache::class)->disableOriginalConstructor()->setMethods(['getItem', 'hasItem', 'setItem'])->getMock(); $cache->expects(self::any())->method('getItem')->will(self::returnValueMap($map)); $cache->expects(self::any())->method('hasItem')->will(self::returnValue(true)); $cache->expects(self::never())->method('setItem')->will(self::returnValue(false)); $this->object->setCache($cache); self::assertSame(6000, $this->object->checkUpdate()); }