Quellcode durchsuchen

ZF-8218: Made the username param optional.

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19095 44c647ce-9c0f-0410-b52a-842ac1e357ba
sidhighwind vor 16 Jahren
Ursprung
Commit
569d0c92f4
2 geänderte Dateien mit 17 neuen und 3 gelöschten Zeilen
  1. 3 3
      library/Zend/Service/Twitter.php
  2. 14 0
      tests/Zend/Service/TwitterTest.php

+ 3 - 3
library/Zend/Service/Twitter.php

@@ -95,7 +95,7 @@ class Zend_Service_Twitter extends Zend_Rest_Client
      * @param  string $password
      * @return void
      */
-    public function __construct($username, $password = null)
+    public function __construct($username = null, $password = null)
     {
         $this->setLocalHttpClient(clone self::getHttpClient());
         if (is_array($username) && is_null($password)) {
@@ -106,7 +106,7 @@ class Zend_Service_Twitter extends Zend_Rest_Client
                 $this->setUsername($username[0]);
                 $this->setPassword($username[1]);
             }
-        } else {
+        } else if (!is_null($username)) {
             $this->setUsername($username);
             $this->setPassword($password);
         }
@@ -233,7 +233,7 @@ class Zend_Service_Twitter extends Zend_Rest_Client
         } else {
             $client->setCookieJar($this->_cookieJar);
         }
-        if (!$this->_authInitialized) {
+        if (!$this->_authInitialized && $this->getUsername() !== null) {
             $client->setAuth($this->getUsername(), $this->getPassword());
             $this->_authInitialized = true;
         }

+ 14 - 0
tests/Zend/Service/TwitterTest.php

@@ -77,6 +77,20 @@ class Zend_Service_TwitterTest extends PHPUnit_Framework_TestCase
         Zend_Service_Abstract::getHttpClient()->setAdapter('Zend_Http_Client_Adapter_Socket');
         $this->twitter = new Zend_Service_Twitter(TESTS_ZEND_SERVICE_TWITTER_USER, TESTS_ZEND_SERVICE_TWITTER_PASS);
     }
+    
+    /**
+     * @issue ZF-8218
+     */
+    public function testUserNameNotRequired()
+    {
+        Zend_Service_Abstract::getHttpClient()->setAdapter('Zend_Http_Client_Adapter_Socket');
+        $twitter = new Zend_Service_Twitter();
+        $exists = $twitter->user->show('zftestuser1')->id() !== null;
+        
+        $this->assertTrue($exists);
+        
+        unset($twitter);
+    }
 
     /**
      * @issue ZF-7781