Skip to content
This repository was archived by the owner on Jan 25, 2023. It is now read-only.

Commit d069769

Browse files
committed
Merge pull request #19 from blackbass1988/opera_10_12_fix
opera 11,12 fix
2 parents 3f2ab78 + d48973a commit d069769

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/Browser/BrowserDetector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ private static function checkBrowserOpera(Browser $browser, UserAgent $userAgent
215215
return true;
216216
} elseif (stripos($userAgent->getUserAgentString(), 'opera') !== false) {
217217
$resultant = stristr($userAgent->getUserAgentString(), 'opera');
218-
if (preg_match('/Version\/(10.*)$/', $resultant, $matches)) {
218+
if (preg_match('/Version\/(1[0-2].*)$/', $resultant, $matches)) {
219219
$browser->setVersion($matches[1]);
220220
} elseif (preg_match('/\//', $resultant)) {
221221
$aresult = explode('/', str_replace("(", " ", $resultant));

tests/Browser/Tests/BrowserTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,15 @@ public function testUnknown()
4949
$this->assertEquals(Browser::UNKNOWN, $browser->getName());
5050
$this->assertEquals(Browser::VERSION_UNKNOWN, $browser->getVersion());
5151
}
52+
53+
public function testOpera()
54+
{
55+
$browser = new Browser('Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14');
56+
$this->assertEquals(Browser::OPERA, $browser->getName());
57+
$this->assertEquals('12.14', $browser->getVersion());
58+
59+
$browser = new Browser('Mozilla/5.0 (SunOS 5.8 sun4u; U) Opera 5.0 [en]');
60+
$this->assertEquals(Browser::OPERA, $browser->getName());
61+
$this->assertEquals('5.0', $browser->getVersion());
62+
}
5263
}

0 commit comments

Comments
 (0)