Index: tests/Zend/Service/TwitterTest.php =================================================================== --- tests/Zend/Service/TwitterTest.php (revision 18130) +++ tests/Zend/Service/TwitterTest.php (working copy) @@ -19,25 +19,19 @@ * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id$ */ - -if (!defined('PHPUnit_MAIN_METHOD')) { +if (! defined('PHPUnit_MAIN_METHOD')) { define('PHPUnit_MAIN_METHOD', 'Zend_Service_TwitterTest::main'); } - /** * Test helper */ require_once dirname(__FILE__) . '/../../TestHelper.php'; - /** Zend_Service_Twitter */ require_once 'Zend/Service/Twitter.php'; - /** Zend_Http_Client */ require_once 'Zend/Http/Client.php'; - /** Zend_Http_Client_Adapter_Test */ require_once 'Zend/Http/Client/Adapter/Test.php'; - /** * @category Zend * @package Zend_Service_Twitter @@ -54,77 +48,64 @@ * * @return void */ - public static function main() + public static function main () { - $suite = new PHPUnit_Framework_TestSuite(__CLASS__); + $suite = new PHPUnit_Framework_TestSuite(__CLASS__); $result = PHPUnit_TextUI_TestRunner::run($suite); } - /** * Sets up the fixture, for example, open a network connection. * This method is called before a test is executed. * * @return void */ - protected function setUp() + protected function setUp () { - if (!defined('TESTS_ZEND_SERVICE_TWITTER_ONLINE_ENABLED') - || !constant('TESTS_ZEND_SERVICE_TWITTER_ONLINE_ENABLED') - ) { + if (! defined('TESTS_ZEND_SERVICE_TWITTER_ONLINE_ENABLED') || ! constant('TESTS_ZEND_SERVICE_TWITTER_ONLINE_ENABLED')) { $this->markTestSkipped('Twitter tests are not enabled'); return; } - - 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 - ); + 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); } - /** * @return void */ - public function testConstructorShouldSetUsernameAndPassword() + public function testConstructorShouldSetUsernameAndPassword () { $this->assertEquals(TESTS_ZEND_SERVICE_TWITTER_USER, $this->twitter->getUsername()); $this->assertEquals(TESTS_ZEND_SERVICE_TWITTER_PASS, $this->twitter->getPassword()); } - - /** + /** * @return void */ - public function testConstructorShouldAllowUsernamePasswordAsArray() + public function testConstructorShouldAllowUsernamePasswordAsArray () { - $userInfo = array('username' => 'foo', 'password' => 'bar'); - + $userInfo = array('username' => 'foo' , 'password' => 'bar'); $twit = new Zend_Service_Twitter($userInfo); $this->assertEquals('foo', $twit->getUsername()); $this->assertEquals('bar', $twit->getPassword()); } - /** * @return void */ - public function testUsernameAccessorsShouldAllowSettingAndRetrievingUsername() + public function testUsernameAccessorsShouldAllowSettingAndRetrievingUsername () { $this->twitter->setUsername('foo'); $this->assertEquals('foo', $this->twitter->getUsername()); } - /** * @return void */ - public function testPasswordAccessorsShouldAllowSettingAndRetrievingPassword() + public function testPasswordAccessorsShouldAllowSettingAndRetrievingPassword () { $this->twitter->setPassword('foo'); $this->assertEquals('foo', $this->twitter->getPassword()); } - /** * @return void */ - public function testOverloadingGetShouldReturnObjectInstanceWithValidMethodType() + public function testOverloadingGetShouldReturnObjectInstanceWithValidMethodType () { try { $return = $this->twitter->status; @@ -133,35 +114,30 @@ $this->fail('Property overloading with a valid method type should not throw an exception'); } } - /** * @return void */ - public function testOverloadingGetShouldthrowExceptionWithInvalidMethodType() + public function testOverloadingGetShouldthrowExceptionWithInvalidMethodType () { try { $return = $this->twitter->foo; $this->fail('Property overloading with an invalid method type should throw an exception'); - } catch (Exception $e) { - } + } catch (Exception $e) {} } - /** * @return void */ - public function testOverloadingGetShouldthrowExceptionWithInvalidFunction() + public function testOverloadingGetShouldthrowExceptionWithInvalidFunction () { try { $return = $this->twitter->foo(); $this->fail('Property overloading with an invalid function should throw an exception'); - } catch (Exception $e) { - } + } catch (Exception $e) {} } - /** * @return void */ - public function testMethodProxyingDoesNotThrowExceptionsWithValidMethods() + public function testMethodProxyingDoesNotThrowExceptionsWithValidMethods () { try { $this->twitter->status->publicTimeline(); @@ -169,495 +145,483 @@ $this->fail('Method proxying should not throw an exception with valid methods; exception: ' . $e->getMessage()); } } - /** * @return void */ - public function testMethodProxyingThrowExceptionsWithInvalidMethods() + public function testMethodProxyingThrowExceptionsWithInvalidMethods () { try { $this->twitter->status->foo(); $this->fail('Method proxying should throw an exception with invalid methods'); - } catch (Exception $e) { - } + } catch (Exception $e) {} } - /** * @return void */ - public function testVerifiedCredentials() + public function testVerifiedCredentials () { $response = $this->twitter->account->verifyCredentials(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); } - /** * @return void */ - public function testPublicTimelineStatusReturnsResults() + public function testPublicTimelineStatusReturnsResults () { $response = $this->twitter->status->publicTimeline(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - /** * @return void */ - public function testUsersFeaturedStatusReturnsResults() + public function testUsersFeaturedStatusReturnsResults () { $response = $this->twitter->user->featured(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - - public function testRateLimitStatusReturnsResults() + public function testRateLimitStatusReturnsResults () { /* @var $response Zend_Rest_Client_Result */ $response = $this->twitter->account->rateLimitStatus(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); } - - public function testRateLimitStatusHasHitsLeft() + public function testRateLimitStatusHasHitsLeft () { /* @var $response Zend_Rest_Client_Result */ $response = $this->twitter->account->rateLimitStatus(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $remaining_hits = $response->toValue($response->{'remaining-hits'}); - $this->assertType('numeric', $remaining_hits); $this->assertGreaterThan(0, $remaining_hits); } - /** * @return void */ - public function testAccountEndSession() + public function testAccountEndSession () { $response = $this->twitter->account->endSession(); $this->assertTrue($response); } - /** * @return void */ - public function testFriendshipCreate() + public function testFriendshipCreate () { $response = $this->twitter->friendship->create('zftestuser1'); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); } - /** * @return void */ - public function testFriendshipExists() + public function testFriendshipExists () { /* @var $response Zend_Rest_Client_Result */ $response = $this->twitter->friendship->exists('zftestuser1'); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); } - /** * @return void */ - public function testFriendsTimelineWithInvalidParamReturnsResults() + public function testFriendsTimelineWithInvalidParamReturnsResults () { /* @var $response Zend_Rest_Client_Result */ - $response = $this->twitter->status->friendsTimeline( array('foo' => 'bar') ); + $response = $this->twitter->status->friendsTimeline(array('foo' => 'bar')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - /** * @return void */ - public function testFriendsTimelineStatusWithFriendSpecifiedReturnsResults() + public function testFriendsTimelineStatusWithFriendSpecifiedReturnsResults () { /* @var $response Zend_Rest_Client_Result */ - $response = $this->twitter->status->friendsTimeline( array('id' => 'zftestuser1') ); + $response = $this->twitter->status->friendsTimeline(array('id' => 'zftestuser1')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - /** * @return void */ - public function testUserTimelineStatusSinceTwoDaysAgoDateAsStringReturnsResults() + public function testUserTimelineStatusSinceTwoDaysAgoDateAsStringReturnsResults () { $this->insertTestTwitterData(); - $response = $this->twitter->status->userTimeline( array('id' => 'zftestuser1', 'since' => '-2 days') ); + $response = $this->twitter->status->userTimeline(array('id' => 'zftestuser1' , 'since' => '-2 days')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); - $this->assertTrue(isset($response->status)); } - /** * @return void */ - public function testUserTimelineStatusSinceTwoDaysAgoDateAsIntegerReturnsResults() + public function testUserTimelineStatusSinceTwoDaysAgoDateAsIntegerReturnsResults () { $this->insertTestTwitterData(); - $response = $this->twitter->status->userTimeline( array('id' => 'zftestuser1', 'since' => strtotime('-2 days')) ); + $response = $this->twitter->status->userTimeline(array('id' => 'zftestuser1' , 'since' => strtotime('-2 days'))); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); - $this->assertTrue(isset($response->status)); } - /** * @return void */ - public function testFriendsTimelineStatusSinceTwoDaysAgoReturnsResults() + public function testFriendsTimelineStatusSinceTwoDaysAgoReturnsResults () { /* @var $response Zend_Rest_Client_Result */ - $response = $this->twitter->status->friendsTimeline( array('id' => 'zftestuser1', 'since' => '-2 days') ); + $response = $this->twitter->status->friendsTimeline(array('id' => 'zftestuser1' , 'since' => '-2 days')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); - $this->assertTrue(isset($response->status)); } - /** * @return void */ - public function testFriendsTimelineWithPageReturnsResults() + public function testFriendsTimelineWithPageReturnsResults () { /* @var $response Zend_Rest_Client_Result */ - $response = $this->twitter->status->friendsTimeline( array('id' => 'zftestuser1', 'page' => '2') ); + $response = $this->twitter->status->friendsTimeline(array('id' => 'zftestuser1' , 'page' => '2')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); - $this->assertTrue(isset($response->status)); } - /** * @return void */ - public function testFriendsTimelineWithCountReturnsResults() + public function testFriendsTimelineWithCountReturnsResults () { /* @var $response Zend_Rest_Client_Result */ - $response = $this->twitter->status->friendsTimeline( array('id' => 'zftestuser1', 'count' => '2') ); + $response = $this->twitter->status->friendsTimeline(array('id' => 'zftestuser1' , 'count' => '2')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); - $this->assertTrue(isset($response->status)); $this->assertEquals(2, count($response->status), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); } - /** * @return void */ - public function testUserTimelineStatusWithPageAndTwoTweetsReturnsResults() + public function testUserTimelineStatusWithPageAndTwoTweetsReturnsResults () { /* @var $response Zend_Rest_Client_Result */ - $response = $this->twitter->status->userTimeline( array('id' => 'zftestuser1', 'count' => 2) ); + $response = $this->twitter->status->userTimeline(array('id' => 'zftestuser1' , 'count' => 2)); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $raw_response = $httpResponse->getHeadersAsString() . $httpResponse->getBody(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); - $this->assertTrue(isset($response->status)); $this->assertEquals(2, count($response->status), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); } - - public function testUserTimelineStatusShouldReturnFortyResults() + public function testUserTimelineStatusShouldReturnFortyResults () { /* @var $response Zend_Rest_Client_Result */ - $response = $this->twitter->status->userTimeline( array('id' => 'zftestuser1', 'count' => 40) ); + $response = $this->twitter->status->userTimeline(array('id' => 'zftestuser1' , 'count' => 40)); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); - $this->assertTrue(isset($response->status)); $this->assertEquals(40, count($response->status)); } - /** * @return void */ - public function testPostStatusUpdateReturnsResponse() + public function testPostStatusUpdateReturnsResponse () { /* @var $response Zend_Rest_Client_Result */ - $response = $this->twitter->status->update( 'Test Message - ' . rand() ); + $response = $this->twitter->status->update('Test Message - ' . rand()); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - /** * $return void */ - public function testPostStatusUpdateToLongShouldThrowException() + public function testPostStatusUpdateToLongShouldThrowException () { try { - $response = $this->twitter->status->update( 'Test Message - ' . str_repeat(' Hello ', 140) ); + $response = $this->twitter->status->update('Test Message - ' . str_repeat(' Hello ', 140)); $this->fail('Trying to post a status with > 140 character should throw exception'); + } catch (Exception $e) {} + } + public function testPostStatusUpdateUTF8ShouldNotThrowException () + { + try { + $response = $this->twitter->status->update(str_repeat('M�r', 46) . 'M�'); } catch (Exception $e) { + $this->fail('Trying to post a utf8 string of 140 chars should not throw exception'); } } - - public function testPostStatusUpdateUTF8ShouldNotThrowException() - { - try { - $response = $this->twitter->status->update( str_repeat('M�r', 46) . 'M�' ); - } catch (Exception $e) { - $this->fail('Trying to post a utf8 string of 140 chars should not throw exception'); - } - } - /** * $return void */ - public function testPostStatusUpdateEmptyShouldThrowException() + public function testPostStatusUpdateEmptyShouldThrowException () { try { $response = $this->twitter->status->update(''); $this->fail('Trying to post an empty status should throw exception'); - } catch (Exception $e) { - } + } catch (Exception $e) {} } - /** * @return void */ - public function testShowStatusReturnsResponse() + public function testShowStatusReturnsResponse () { $response = $this->twitter->status->publicTimeline(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $status_id = $response->toValue($response->status->id); $this->assertType('numeric', $status_id); - $response2 = $this->twitter->status->show($status_id); $this->assertTrue($response2 instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); - } - /** * @return void */ - public function testCreateFavoriteStatusReturnsResponse() + public function testCreateFavoriteStatusReturnsResponse () { /* @var $response Zend_Rest_Client_Result */ $response = $this->twitter->status->userTimeline(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $update_id = $response->toValue($response->status->id); $this->assertType('numeric', $update_id); - $response2 = $this->twitter->favorite->create($update_id); $this->assertTrue($response2 instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); - } - /** * @return void */ - public function testFavoriteFavoriesReturnsResponse() + public function testFavoriteFavoriesReturnsResponse () { $response = $this->twitter->favorite->favorites(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - - public function testDestroyFavoriteReturnsResponse() + public function testDestroyFavoriteReturnsResponse () { $response = $this->twitter->favorite->favorites(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $update_id = $response->toValue($response->status->id); $this->assertType('numeric', $update_id); - $response2 = $this->twitter->favorite->destroy($update_id); $this->assertTrue($response2 instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - - public function testStatusDestroyReturnsResult() + public function testStatusDestroyReturnsResult () { /* @var $response Zend_Rest_Client_Result */ $response = $this->twitter->status->userTimeline(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $update_id = $response->toValue($response->status->id); $this->assertType('numeric', $update_id); - $response2 = $this->twitter->status->destroy($update_id); $this->assertTrue($response2 instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - - public function testUserFriendsReturnsResults() + public function testUserFriendsReturnsResults () { $response = $this->twitter->user->friends(); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - - public function testUserFolloersReturnsResults() + public function testUserFollowersReturnsResults () { - $response = $this->twitter->user->followers(array('id' =>'zftestuser1')); + $response = $this->twitter->user->followers(array('id' => 'zftestuser1')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status)); } - - public function testUserFriendsSpecificUserReturnsResults() + public function testUserFriendsSpecificUserReturnsResults () { - $response = $this->twitter->user->friends(array('id' =>'zftestuser1')); + $response = $this->twitter->user->friends(array('id' => 'zftestuser1')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); $this->assertTrue(isset($response->status), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); - return $response; } - - public function testUserShowReturnsResults() + public function testUserShowReturnsResults () { $userInfo = $this->testUserFriendsSpecificUserReturnsResults(); $userId = $userInfo->toValue($userInfo->user->id); - $response = $this->twitter->user->show($userId); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $this->assertEquals($userInfo->toValue($userInfo->user->name), $response->toValue($response->name)); $this->assertEquals($userId, $response->toValue($response->id)); } - - public function testStatusRepliesReturnsResults() + public function testStatusRepliesReturnsResults () { - $response = $this->twitter->status->replies(array('since' => '-800 days', 'page' => 1, 'since_id' => 10000, 'invalid_option' => 'doh')); + $response = $this->twitter->status->replies(array('since' => '-800 days' , 'page' => 1 , 'since_id' => 10000 , 'invalid_option' => 'doh')); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); } - /** * @return void */ - public function testFriendshipDestory() + public function testFriendshipDestory () { $response = $this->twitter->friendship->destroy('zftestuser1'); $this->assertTrue($response instanceof Zend_Rest_Client_Result); - - $httpClient = Zend_Service_Twitter::getHttpClient(); - $httpRequest = $httpClient->getLastRequest(); - $httpResponse = $httpClient->getLastResponse(); + $httpClient = Zend_Service_Twitter::getHttpClient(); + $httpRequest = $httpClient->getLastRequest(); + $httpResponse = $httpClient->getLastResponse(); $this->assertTrue($httpResponse->isSuccessful(), $httpResponse->getStatus() . ': ' . var_export($httpRequest, 1) . '\n' . $httpResponse->getHeadersAsString()); } - + /** + * @return void + */ + public function testBlockingCreate () + { + $response = $this->twitter->block->create('zftestuser1'); + $this->assertTrue($response instanceof Zend_Rest_Client_Result); + $this->assertEquals('zftestuser1', (string) $response->screen_name); + } + /** + * @return void + */ + public function testBlockingExistsReturnsTrueWhenBlockExists () + { + $this->assertTrue($this->twitter->block->exists('zftestuser1')); + } + /** + * @return void + */ + public function testBlockingBlocked () + { + $response = $this->twitter->block->blocking(); + $this->assertTrue($response instanceof Zend_Rest_Client_Result); + $this->assertEquals('zftestuser1', (string) $response->user->screen_name); + } + /** + * @return void + */ + public function testBlockingBlockedReturnsIds () + { + $response = $this->twitter->block->blocking(1, true); + $this->assertTrue($response instanceof Zend_Rest_Client_Result); + $this->assertEquals('16935247', (string) $response->id); + } + /** + * @return void + */ + public function testBlockingDestroy () + { + $response = $this->twitter->block->destroy('zftestuser1'); + $this->assertTrue($response instanceof Zend_Rest_Client_Result); + $this->assertEquals('zftestuser1', (string) $response->screen_name); + } + /** + * @return void + */ + public function testBlockingExistsReturnsFalseWhenBlockDoesNotExists () + { + $this->assertFalse($this->twitter->block->exists('zftestuser1')); + } + /** + * @return void + */ + public function testBlockingExistsReturnsOjectWhenFlagPassed () + { + $response = $this->twitter->block->exists('zftestuser1', true); + $this->assertTrue($response instanceof Zend_Rest_Client_Result); + } /** * Insert Test Data * */ - protected function insertTestTwitterData() + protected function insertTestTwitterData () { - $twitter = new Zend_Service_Twitter('zftestuser1','zftestuser1'); + $twitter = new Zend_Service_Twitter('zftestuser1', 'zftestuser1'); // create 10 new entries - for($x=0; $x<10; $x++) { - $twitter->status->update( 'Test Message - ' . $x); + for ($x = 0; $x < 10; $x ++) { + $twitter->status->update('Test Message - ' . $x); } $twitter->account->endSession(); } } - if (PHPUnit_MAIN_METHOD == 'Zend_Service_TwitterTest::main') { Zend_Service_TwitterTest::main(); } Index: library/Zend/Service/Twitter.php =================================================================== --- library/Zend/Service/Twitter.php (revision 18130) +++ library/Zend/Service/Twitter.php (working copy) @@ -69,7 +69,7 @@ * Types of API methods * @var array */ - protected $_methodTypes = array('status' , 'user' , 'directMessage' , 'friendship' , 'account' , 'favorite'); + protected $_methodTypes = array('status' , 'user' , 'directMessage' , 'friendship' , 'account' , 'favorite' , 'block'); /** * Constructor * @@ -703,6 +703,74 @@ return new Zend_Rest_Client_Result($response->getBody()); } /** + * Blocks the user specified in the ID parameter as the authenticating user. + * Destroys a friendship to the blocked user if it exists. + * + * @param integer|string $id The ID or screen name of a user to block. + * @return Zend_Rest_Client_Result + */ + public function blockCreate ($id) + { + $this->_init(); + $path = '/blocks/create/' . $id . '.xml'; + $response = $this->restPost($path); + return new Zend_Rest_Client_Result($response->getBody()); + } + /** + * Un-blocks the user specified in the ID parameter for the authenticating user + * + * @param integer|string $id The ID or screen_name of the user to un-block. + * @return Zend_Rest_Client_Result + */ + public function blockDestroy ($id) + { + $this->_init(); + $path = '/blocks/destroy/' . $id . '.xml'; + $response = $this->restDelete($path); + return new Zend_Rest_Client_Result($response->getBody()); + } + /** + * Returns if the authenticating user is blocking a target user. + * + * @param string|integer $id The ID or screen_name of the potentially blocked user. + * @param boolean $returnResult Instead of returning a boolean return the rest response from twitter + * @return Boolean|Zend_Rest_Client_Result + */ + public function blockExists ($id, $returnResult = false) + { + $this->_init(); + $path = '/blocks/exists/' . $id . '.xml'; + $response = $this->restGet($path); + + $cr = new Zend_Rest_Client_Result($response->getBody()); + + if($returnResult === true) return $cr; + + if(!empty($cr->request)) { + return false; + } + + return true; + } + /** + * Returns an array of user objects that the authenticating user is blocking + * + * @param integer $page Optional. Specifies the page number of the results beginning at 1. A single page contains 20 ids. + * @param boolean $returnUserIds Optional. Returns only the userid's instead of the whole user object + * @return Zend_Rest_Client_Result + */ + public function blockBlocking ($page = 1, $returnUserIds = false) + { + $this->_init(); + $path = '/blocks/blocking'; + if ($returnUserIds === true) { + $path .= '/ids'; + } + $path .= '.xml'; + $response = $this->restGet($path, array('page' => $page)); + return new Zend_Rest_Client_Result($response->getBody()); + } + /** * Protected function to validate that the integer is valid or return a 0 * @param $int * @return integer