From 3373e4ae1026b4ec729172074a7ec540410ebee4 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Mon, 18 Nov 2013 19:50:01 +0100 Subject: Fix browser version detection and failing tests --- program/lib/Roundcube/rcube_browser.php | 2 +- tests/Framework/Browser.php | 16 +++------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/program/lib/Roundcube/rcube_browser.php b/program/lib/Roundcube/rcube_browser.php index abef5b5f5..e53e31200 100644 --- a/program/lib/Roundcube/rcube_browser.php +++ b/program/lib/Roundcube/rcube_browser.php @@ -41,7 +41,7 @@ class rcube_browser $this->safari = !$this->chrome && (strpos($HTTP_USER_AGENT, 'safari') !== false || strpos($HTTP_USER_AGENT, 'applewebkit') !== false); $this->mz = !$this->ie && !$this->safari && !$this->chrome && !$this->ns && strpos($HTTP_USER_AGENT, 'mozilla') !== false; - if (preg_match('/(mozilla|chrome|msie|opera|safari|applewebkit|khtml)(\s*|\/)([0-9.]+)/', $HTTP_USER_AGENT, $regs)) { + if (preg_match('/(chrome|msie|opera|version|khtml)(\s*|\/)([0-9.]+)/', $HTTP_USER_AGENT, $regs)) { $this->ver = (float) $regs[3]; } else if (preg_match('/rv:([0-9.]+)/', $HTTP_USER_AGENT, $regs)) { diff --git a/tests/Framework/Browser.php b/tests/Framework/Browser.php index ac92e41e9..a042572a8 100644 --- a/tests/Framework/Browser.php +++ b/tests/Framework/Browser.php @@ -21,7 +21,7 @@ class Framework_Browser extends PHPUnit_Framework_TestCase /** * @dataProvider browsers */ - function test_browser($useragent, $opera, $chrome, $ie, $ns, $ns4, $khtml, $safari, $mz) + function test_browser($useragent, $opera, $chrome, $ie, $ns, $safari, $mz) { $object = $this->getBrowser($useragent); @@ -30,8 +30,6 @@ class Framework_Browser extends PHPUnit_Framework_TestCase $this->assertEquals($chrome, $object->chrome, 'Check for Chrome failed'); $this->assertEquals($ie, $object->ie, 'Check for IE failed'); $this->assertEquals($ns, $object->ns, 'Check for NS failed'); - $this->assertEquals($ns4, $object->ns4, 'Check for NS4 failed'); - $this->assertEquals($khtml, $object->khtml, 'Check for khtml failed'); $this->assertEquals($safari, $object->safari, 'Check for Safari failed'); $this->assertEquals($mz, $object->mz, 'Check for MZ failed'); } @@ -132,7 +130,7 @@ class Framework_Browser extends PHPUnit_Framework_TestCase function browsers() { - return $this->extractDataSet(array('isOpera','isChrome','isIE','isNS','isNS4','isKHTML','isSafari','isMZ')); + return $this->extractDataSet(array('isOpera','isChrome','isIE','isNS','isSafari','isMZ')); } function useragents() @@ -149,8 +147,6 @@ class Framework_Browser extends PHPUnit_Framework_TestCase 'isChrome' => false, //isChrome 'isIE' => false, //isIE 'isNS' => false, //isNS - 'isNS4' => false, //isNS4 - 'isKHTML' => false, //isKHTML 'isSafari' => false, //isSafari 'isMZ' => true, //isMZ 'lang' => 'en-US', //lang @@ -169,8 +165,6 @@ class Framework_Browser extends PHPUnit_Framework_TestCase 'isChrome' => false, //isChrome 'isIE' => false, //isIE 'isNS' => false, //isNS - 'isNS4' => false, //isNS4 - 'isKHTML' => false, //isKHTML 'isSafari' => false, //isSafari 'isMZ' => true, //isMZ 'lang' => 'en-US', //lang @@ -181,7 +175,7 @@ class Framework_Browser extends PHPUnit_Framework_TestCase 'Chrome Mac' => array( 'useragent' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.461.0 Safari/534.3', - 'version' => '5', //Version + 'version' => '6', //Version 'isWin' => false, //isWindows 'isLinux' => false, 'isMac' => true, //isMac @@ -190,8 +184,6 @@ class Framework_Browser extends PHPUnit_Framework_TestCase 'isChrome' => true, //isChrome 'isIE' => false, //isIE 'isNS' => false, //isNS - 'isNS4' => false, //isNS4 - 'isKHTML' => true, //isKHTML 'isSafari' => false, //isSafari 'isMZ' => false, //isMZ 'lang' => 'en-US', //lang @@ -211,8 +203,6 @@ class Framework_Browser extends PHPUnit_Framework_TestCase 'isChrome' => false, //isChrome 'isIE' => true, //isIE 'isNS' => false, //isNS - 'isNS4' => false, //isNS4 - 'isKHTML' => false, //isKHTML 'isSafari' => false, //isSafari 'isMZ' => false, //isMZ 'lang' => '', //lang -- cgit v1.2.3