Explorar o código

ZF-10644: Add flags to statusUserTimeline()

Added handling for the following flags:
- include_rts
- include_entities
- trim_user

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@23311 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew %!s(int64=15) %!d(string=hai) anos
pai
achega
67a10eb7fe

+ 9 - 1
library/Zend/Service/Twitter.php

@@ -376,8 +376,11 @@ class Zend_Service_Twitter extends Zend_Rest_Client
      * - page: return page X of results
      * - count: how many statuses to return
      * - max_id: returns only statuses with an ID less than or equal to the specified ID
-     * - user_id: specfies the ID of the user for whom to return the user_timeline
+     * - user_id: specifies the ID of the user for whom to return the user_timeline
      * - screen_name: specfies the screen name of the user for whom to return the user_timeline
+     * - include_rts: whether or not to return retweets
+     * - trim_user: whether to return just the user ID or a full user object; omit to return full object
+     * - include_entities: whether or not to return entities nodes with tweet metadata
      *
      * @throws Zend_Http_Client_Exception if HTTP request fails or times out
      * @return Zend_Rest_Client_Result
@@ -416,6 +419,11 @@ class Zend_Service_Twitter extends Zend_Rest_Client
                 case 'max_id':
                     $_params['max_id'] = $this->_validInteger($value);
                     break;
+                case 'include_rts':
+                case 'trim_user':
+                case 'include_entities':
+                    $_params[strtolower($key)] = $value ? '1' : '0';
+                    break;
                 default:
                     break;
             }

+ 22 - 0
tests/Zend/Service/Twitter/TwitterTest.php

@@ -630,6 +630,28 @@ class Zend_Service_Twitter_TwitterTest extends PHPUnit_Framework_TestCase
         $this->assertFalse($twitter1->getLocalHttpClient() === $twitter2->getLocalHttpClient());
     }
     
+    /**
+     * @group ZF-10644
+     */
+    public function testStatusUserTimelineShouldHonorAllFlags()
+    {    
+        $params = array(
+            'screen_name'      => 'allzend',
+            'page'             => 1,
+            'include_rts'      => '1', 
+            'trim_user'        => '1', 
+            'include_entities' => '1',
+        );
+        $twitter = new Zend_Service_Twitter();
+        $twitter->setLocalHttpClient($this->_stubTwitter(
+            'statuses/user_timeline.xml', Zend_Http_Client::GET, 'user_timeline.twitter.xml',
+            $params
+        ));
+
+        // Assertions are part of mocking
+        $timeline = $twitter->statusUserTimeline($params);
+    }
+
 }
 
 if (PHPUnit_MAIN_METHOD == 'Zend_Service_TwitterTest2::main') {