/**
*
*/
public function testUpdateOk()
{
if (class_exists('\\Browscap\\Browscap')) {
self::markTestSkipped('if the \\Browscap\\Browscap class is available the browscap.ini file is not updated from a remote ' . 'location');
}
$logger = $this->getMockBuilder(\Monolog\Logger::class)->disableOriginalConstructor()->getMock();
$this->object->setLogger($logger);
$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
';
$body = $this->getMockBuilder(\GuzzleHttp\Psr7\Stream::class)->disableOriginalConstructor()->setMethods(['getContents'])->getMock();
$body->expects(self::once())->method('getContents')->will(self::returnValue($content));
$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, null]];
$cache = $this->getMockBuilder(\BrowscapPHP\Cache\BrowscapCache::class)->disableOriginalConstructor()->setMethods(['getItem', 'setItem'])->getMock();
$cache->expects(self::once())->method('getItem')->will(self::returnValueMap($map));
$cache->expects(self::exactly(4355))->method('setItem')->will(self::returnValue(false));
$this->object->setCache($cache);
self::assertNull($this->object->update());
}