Skip to content

Commit

Permalink
update ... (#100)
Browse files Browse the repository at this point in the history
  • Loading branch information
ThaDafinser authored Aug 12, 2016
1 parent 50ebe04 commit d400dbc
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 12 deletions.
10 changes: 5 additions & 5 deletions src/Provider/Http/WhatIsMyBrowserCom.php
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ private function hasResult(stdClass $resultRaw)
*/
private function isBot(stdClass $resultRaw)
{
if (isset($resultRaw->user_agent_type) && ($resultRaw->user_agent_type === 'crawler' || $resultRaw->user_agent_type === 'analyser')) {
if (isset($resultRaw->software_type) && $resultRaw->software_type === 'bot') {
return true;
}

Expand All @@ -244,8 +244,8 @@ private function hydrateBot(Model\Bot $bot, stdClass $resultRaw)
$bot->setName($this->getRealResult($resultRaw->browser_name));
}

if (isset($resultRaw->user_agent_type)) {
$bot->setType($this->getRealResult($resultRaw->user_agent_type));
if (isset($resultRaw->software_sub_type)) {
$bot->setType($this->getRealResult($resultRaw->software_sub_type));
}
}

Expand Down Expand Up @@ -312,8 +312,8 @@ private function hydrateDevice(Model\Device $device, stdClass $resultRaw)
$device->setBrand($this->getRealResult($resultRaw->operating_platform_vendor_name));
}

if (isset($resultRaw->user_agent_type)) {
$device->setType($this->getRealResult($resultRaw->user_agent_type));
if (isset($resultRaw->hardware_type)) {
$device->setType($this->getRealResult($resultRaw->hardware_type));
}
}

Expand Down
13 changes: 11 additions & 2 deletions tests/integration/Provider/Http/WhatIsMyBrowserComTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public function testRealResultDevice()
$provider = new WhatIsMyBrowserCom($this->getClient(), CREDENTIALS_WHAT_IS_MY_BROWSER_COM_KEY);

$result = $provider->parse('Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3');

$this->assertEquals([
'browser' => [
'name' => 'Mobile Safari',
Expand Down Expand Up @@ -100,7 +101,7 @@ public function testRealResultDevice()
$rawResult = $result->getProviderResultRaw();

$this->assertInstanceOf('stdClass', $rawResult);
$this->assertCount(32, (array) $rawResult);
$this->assertCount(35, (array) $rawResult);

$this->assertObjectHasAttribute('operating_system_name', $rawResult);
$this->assertObjectHasAttribute('simple_sub_description_string', $rawResult);
Expand Down Expand Up @@ -138,7 +139,11 @@ public function testRealResultDevice()
$this->assertObjectHasAttribute('simple_major', $rawResult);
$this->assertObjectHasAttribute('browser_version_full', $rawResult);

$this->assertObjectHasAttribute('user_agent_type', $rawResult);
$this->assertObjectHasAttribute('software_type', $rawResult);
$this->assertObjectHasAttribute('software_sub_type', $rawResult);
$this->assertObjectHasAttribute('hardware_type', $rawResult);
$this->assertObjectHasAttribute('hardware_sub_type', $rawResult);

$this->assertObjectHasAttribute('browser', $rawResult);
}

Expand All @@ -151,6 +156,10 @@ public function testRealResultBot()
$provider = new WhatIsMyBrowserCom($this->getClient(), CREDENTIALS_WHAT_IS_MY_BROWSER_COM_KEY);

$result = $provider->parse('Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0); 360Spider(compatible; HaosouSpider; http://www.haosou.com/help/help_3_2.html)');

// var_dump($result->getProviderResultRaw());
// exit();

$this->assertEquals([
'browser' => [
'name' => null,
Expand Down
11 changes: 6 additions & 5 deletions tests/unit/Provider/Http/WhatIsMyBrowserComTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -373,10 +373,11 @@ public function testNoResultFoundExceptionDefaultValue2()
*/
public function testParseBot()
{
$parseResult = new stdClass();
$parseResult->user_agent = 'A real user agent...';
$parseResult->user_agent_type = 'crawler';
$parseResult->browser_name = '360Spider';
$parseResult = new stdClass();
$parseResult->user_agent = 'A real user agent...';
$parseResult->software_type = 'bot';
$parseResult->browser_name = '360Spider';
$parseResult->software_sub_type = 'crawler';

$rawResult = new stdClass();
$rawResult->result = 'success';
Expand Down Expand Up @@ -617,7 +618,7 @@ public function testParseDevice()
$parseResult->user_agent = 'A real user agent...';
$parseResult->operating_platform = 'Galaxy Note';
$parseResult->operating_platform_vendor_name = 'Dell';
$parseResult->user_agent_type = 'mobile';
$parseResult->hardware_type = 'mobile';

$rawResult = new stdClass();
$rawResult->result = 'success';
Expand Down

0 comments on commit d400dbc

Please sign in to comment.