Преглед изворни кода

[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

+ 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']);        
+    }
 }