From b8e97ac7098783f0380c7f8f61c20a100e814dc0 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Mon, 22 Mar 2010 18:53:09 -0700 Subject: Some initial media parsing - Activity now returns a list of activity objects - Processing of photo objects --- tests/ActivityParseTests.php | 233 ++++++++++++++++++++++++++++++++++++++++--- tests/UserFeedParseTest.php | 8 +- 2 files changed, 224 insertions(+), 17 deletions(-) (limited to 'tests') diff --git a/tests/ActivityParseTests.php b/tests/ActivityParseTests.php index 02d2ed734..fec8829eb 100644 --- a/tests/ActivityParseTests.php +++ b/tests/ActivityParseTests.php @@ -25,11 +25,11 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase $this->assertEquals($act->time, 1243860840); $this->assertEquals($act->verb, ActivityVerb::POST); - $this->assertFalse(empty($act->object)); - $this->assertEquals($act->object->title, 'Punctuation Changeset'); - $this->assertEquals($act->object->type, 'http://versioncentral.example.org/activity/changeset'); - $this->assertEquals($act->object->summary, 'Fixing punctuation because it makes it more readable.'); - $this->assertEquals($act->object->id, 'tag:versioncentral.example.org,2009:/change/1643245'); + $this->assertFalse(empty($act->objects[0])); + $this->assertEquals($act->objects[0]->title, 'Punctuation Changeset'); + $this->assertEquals($act->objects[0]->type, 'http://versioncentral.example.org/activity/changeset'); + $this->assertEquals($act->objects[0]->summary, 'Fixing punctuation because it makes it more readable.'); + $this->assertEquals($act->objects[0]->id, 'tag:versioncentral.example.org,2009:/change/1643245'); } public function testExample3() @@ -56,12 +56,12 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase $this->assertEquals($act->actor->title, 'John Doe'); $this->assertEquals($act->actor->id, 'mailto:johndoe@example.com'); - $this->assertFalse(empty($act->object)); - $this->assertEquals($act->object->type, ActivityObject::NOTE); - $this->assertEquals($act->object->id, 'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a'); - $this->assertEquals($act->object->title, 'Atom-Powered Robots Run Amok'); - $this->assertEquals($act->object->summary, 'Some text.'); - $this->assertEquals($act->object->link, 'http://example.org/2003/12/13/atom03.html'); + $this->assertFalse(empty($act->objects[0])); + $this->assertEquals($act->objects[0]->type, ActivityObject::NOTE); + $this->assertEquals($act->objects[0]->id, 'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a'); + $this->assertEquals($act->objects[0]->title, 'Atom-Powered Robots Run Amok'); + $this->assertEquals($act->objects[0]->summary, 'Some text.'); + $this->assertEquals($act->objects[0]->link, 'http://example.org/2003/12/13/atom03.html'); $this->assertFalse(empty($act->context)); @@ -90,8 +90,8 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase $this->assertEquals('http://example.net/conversation/11', $act->context->conversation); $this->assertEquals(array('http://example.net/user/1'), $act->context->attention); - $this->assertFalse(empty($act->object)); - $this->assertEquals($act->object->content, + $this->assertFalse(empty($act->objects[0])); + $this->assertEquals($act->objects[0]->content, '@evan now is the time for all good men to come to the aid of their country. #'); $this->assertFalse(empty($act->actor)); @@ -215,6 +215,96 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase $this->assertNull($actor->poco->address); $this->assertEquals(0, count($actor->poco->urls)); } + + // Media test - cliqset + public function testExample8() + { + global $_example8; + $dom = DOMDocument::loadXML($_example8); + + $feed = $dom->documentElement; + + $entries = $feed->getElementsByTagName('entry'); + + $entry = $entries->item(0); + + $act = new Activity($entry, $feed); + + $this->assertFalse(empty($act)); + $this->assertEquals($act->time, 1269221753); + $this->assertEquals($act->verb, ActivityVerb::POST); + $this->assertEquals($act->summary, 'zcopley posted 5 photos on Flickr'); + + $this->assertFalse(empty($act->objects)); + $this->assertEquals(sizeof($act->objects), 5); + + $this->assertEquals($act->objects[0]->type, ActivityObject::PHOTO); + $this->assertEquals($act->objects[0]->title, 'IMG_1368'); + $this->assertNull($act->objects[0]->description); + $this->assertEquals( + $act->objects[0]->thumbnail, + 'http://media.cliqset.com/6f6fbee9d7dfbffc73b6ef626275eb5f_thumb.jpg' + ); + $this->assertEquals( + $act->objects[0]->link, + 'http://www.flickr.com/photos/zcopley/4452933806/' + ); + + $this->assertEquals($act->objects[1]->type, ActivityObject::PHOTO); + $this->assertEquals($act->objects[1]->title, 'IMG_1365'); + $this->assertNull($act->objects[1]->description); + $this->assertEquals( + $act->objects[1]->thumbnail, + 'http://media.cliqset.com/b8f3932cd0bba1b27f7c8b3ef986915e_thumb.jpg' + ); + $this->assertEquals( + $act->objects[1]->link, + 'http://www.flickr.com/photos/zcopley/4442630390/' + ); + + $this->assertEquals($act->objects[2]->type, ActivityObject::PHOTO); + $this->assertEquals($act->objects[2]->title, 'Classic'); + $this->assertEquals( + $act->objects[2]->description, + '-Powered by pikchur.com/n0u' + ); + $this->assertEquals( + $act->objects[2]->thumbnail, + 'http://media.cliqset.com/fc54c15f850b7a9a8efa644087a48c91_thumb.jpg' + ); + $this->assertEquals( + $act->objects[2]->link, + 'http://www.flickr.com/photos/zcopley/4430754103/' + ); + + $this->assertEquals($act->objects[3]->type, ActivityObject::PHOTO); + $this->assertEquals($act->objects[3]->title, 'IMG_1363'); + $this->assertNull($act->objects[3]->description); + + $this->assertEquals( + $act->objects[3]->thumbnail, + 'http://media.cliqset.com/4b1d307c9217e2114391a8b229d612cb_thumb.jpg' + ); + $this->assertEquals( + $act->objects[3]->link, + 'http://www.flickr.com/photos/zcopley/4416969717/' + ); + + $this->assertEquals($act->objects[4]->type, ActivityObject::PHOTO); + $this->assertEquals($act->objects[4]->title, 'IMG_1361'); + $this->assertNull($act->objects[4]->description); + + $this->assertEquals( + $act->objects[4]->thumbnail, + 'http://media.cliqset.com/23d9b4b96b286e0347d36052f22f6e60_thumb.jpg' + ); + $this->assertEquals( + $act->objects[4]->link, + 'http://www.flickr.com/photos/zcopley/4417734232/' + ); + + } + } $_example1 = << EXAMPLE7; + +$_example8 = << + + + Activity Stream for: zcopley + http://cliqset.com/feed/atom?uid=zcopley + + 0 + http://activitystrea.ms/schema/1.0/post + 2010-03-22T01:35:53.000Z + + flickr + http://flickr.com + http://cliqset-services.s3.amazonaws.com/flickr.png + + + http://activitystrea.ms/schema/1.0/photo + IMG_1368 + + + + + http://activitystrea.ms/schema/1.0/photo + IMG_1365 + + + + + http://activitystrea.ms/schema/1.0/photo + Classic + + + -Powered by pikchur.com/n0u + + + http://activitystrea.ms/schema/1.0/photo + IMG_1363 + + + + + http://activitystrea.ms/schema/1.0/photo + IMG_1361 + + + + zcopley posted some photos on Flickr + zcopley posted 5 photos on Flickr + + 2010-03-22T20:46:42.778Z + tag:cliqset.com,2010-03-22:/user/zcopley/SVgAZubGhtAnSAee + + + zcopley + http://cliqset.com/user/zcopley + + + http://activitystrea.ms/schema/1.0/person + zcopley + + Zach + Copley + + + + + + + +EXAMPLE8; + +$_example9 = << + + + + Google Buzz + 2010-03-22T01:55:53.596Z + tag:google.com,2009:buzz-feed/public/posted/117848251937215158042 + Google - Google Buzz + + Buzz by Zach Copley from Flickr + IMG_1366 + 2010-03-18T04:29:23.000Z + 2010-03-18T05:14:03.325Z + tag:google.com,2009:buzz/z12zwdhxowq2d13q204cjr04kzu0cns5gh0 + + + Zach Copley + http://www.google.com/profiles/zcopley + + <div>IMG_1366</div> + + + IMG_1366 + + + + + IMG_1365 + + + http://activitystrea.ms/schema/1.0/post + + http://activitystrea.ms/schema/1.0/photo + tag:google.com,2009:buzz/z12zwdhxowq2d13q204cjr04kzu0cns5gh0 + Buzz by Zach Copley from Flickr + <div>IMG_1366</div> + + + + + 0 + + +EXAMPLE9; diff --git a/tests/UserFeedParseTest.php b/tests/UserFeedParseTest.php index b3f9a6417..208e71be6 100644 --- a/tests/UserFeedParseTest.php +++ b/tests/UserFeedParseTest.php @@ -66,11 +66,11 @@ class UserFeedParseTests extends PHPUnit_Framework_TestCase // test the post //var_export($act1); - $this->assertEquals($act1->object->type, 'http://activitystrea.ms/schema/1.0/note'); - $this->assertEquals($act1->object->title, 'And now for something completely insane...'); + $this->assertEquals($act1->objects[0]->type, 'http://activitystrea.ms/schema/1.0/note'); + $this->assertEquals($act1->objects[0]->title, 'And now for something completely insane...'); - $this->assertEquals($act1->object->content, 'And now for something completely insane...'); - $this->assertEquals($act1->object->id, 'http://localhost/statusnet/notice/3'); + $this->assertEquals($act1->objects[0]->content, 'And now for something completely insane...'); + $this->assertEquals($act1->objects[0]->id, 'http://localhost/statusnet/notice/3'); } -- cgit v1.2.3-54-g00ecf