فهرست منبع

[ZF-11693] Zend_Http_UserAgent
Fix E_NOTICE emitted when parsing UA 'Mozilla/3.0 (compatible)'


git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@24538 44c647ce-9c0f-0410-b52a-842ac1e357ba

adamlundrigan 14 سال پیش
والد
کامیت
f844f6e3b0
2فایلهای تغییر یافته به همراه13 افزوده شده و 1 حذف شده
  1. 3 1
      library/Zend/Http/UserAgent/AbstractDevice.php
  2. 10 0
      tests/Zend/Http/UserAgent/AbstractDeviceTest.php

+ 3 - 1
library/Zend/Http/UserAgent/AbstractDevice.php

@@ -504,7 +504,9 @@ abstract class Zend_Http_UserAgent_AbstractDevice
                 $result['browser_name']    = $real[1][0];
                 $result['browser_version'] = $real[3][0];
             } else {
-                $result['browser_name']    = $result['browser_token'];
+                if(isset($result['browser_token'])) {
+                    $result['browser_name']    = $result['browser_token'];
+                }
                 $result['browser_version'] = '??';
             }
         } elseif ($product == 'mozilla' && $result['browser_version'] < 5.0) {

+ 10 - 0
tests/Zend/Http/UserAgent/AbstractDeviceTest.php

@@ -10108,4 +10108,14 @@ audio/vnd.qcelp, application/xhtml+xml'
         $capabilities = Zend_Http_UserAgent_AbstractDevice::extractFromUserAgent($userAgent);
         $this->assertEquals('Safari Mobile', $capabilities['browser_name']);
     }
+    
+    /**
+     * @group ZF-11693
+     */
+    public function testShortMozillaUserAgentShouldNotResultInNotices()
+    {
+        $userAgent = 'Mozilla/3.0 (compatible)';
+        $capabilities = Zend_Http_UserAgent_AbstractDevice::extractFromUserAgent($userAgent);
+        $this->assertEquals('Mozilla', $capabilities['browser_name']);
+    }
 }