瀏覽代碼

[ZF-11815] Zend_Http_UserAgent
Zend_Http_UserAgent raises E_NOTICE when parsing AppleCoreMedia UA


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

adamlundrigan 14 年之前
父節點
當前提交
2900dab479
共有 2 個文件被更改,包括 11 次插入1 次删除
  1. 1 1
      library/Zend/Http/UserAgent/AbstractDevice.php
  2. 10 0
      tests/Zend/Http/UserAgent/AbstractDeviceTest.php

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

@@ -557,7 +557,7 @@ abstract class Zend_Http_UserAgent_AbstractDevice
                 $result['browser_language'] = trim($comment[3]);
                 if (isset($result['others']['detail'][1])) {
                     $result['browser_version']  = $result['others']['detail'][1][2];
-                } elseif (count($result['others']['detail'])) {
+                } elseif (isset($result['others']['detail']) && count($result['others']['detail'])) {
                     $result['browser_version']  = $result['others']['detail'][0][2];
                 }
                 if (!empty($result['others']['detail'][2])) {

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

@@ -10088,4 +10088,14 @@ audio/vnd.qcelp, application/xhtml+xml'
         $capabilities = Zend_Http_UserAgent_AbstractDevice::extractFromUserAgent($userAgent);
         $this->assertEquals('AppleWebKit', $capabilities['browser_name']);
     }
+    
+    /**
+     * @group ZF-11815
+     */
+    public function testUserAgentAppleCoreMediaForIphoneShouldNotResultInNotices()
+    {
+        $userAgent = 'AppleCoreMedia/1.0.0.8L1 (iPhone; U; CPU OS 4_3_5 like Mac OS X; de_de)';
+        $capabilities = Zend_Http_UserAgent_AbstractDevice::extractFromUserAgent($userAgent);
+        $this->assertEquals('AppleCoreMedia', $capabilities['browser_name']);        
+    }
 }