documentElement); $this->assertFalse(empty($act)); $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'); } public function testExample3() { global $_example3; $dom = DOMDocument::loadXML($_example3); $feed = $dom->documentElement; $entries = $feed->getElementsByTagName('entry'); $entry = $entries->item(0); $act = new Activity($entry, $feed); $this->assertFalse(empty($act)); $this->assertEquals($act->time, 1071340202); $this->assertEquals($act->link, 'http://example.org/2003/12/13/atom03.html'); $this->assertEquals($act->verb, ActivityVerb::POST); $this->assertFalse(empty($act->actor)); $this->assertEquals($act->actor->type, ActivityObject::PERSON); $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->context)); $this->assertTrue(empty($act->target)); $this->assertEquals($act->entry, $entry); $this->assertEquals($act->feed, $feed); } public function testExample4() { global $_example4; $dom = DOMDocument::loadXML($_example4); $entry = $dom->documentElement; $act = new Activity($entry); $this->assertFalse(empty($act)); $this->assertEquals(1266547958, $act->time); $this->assertEquals('http://example.net/notice/14', $act->link); $this->assertFalse(empty($act->context)); $this->assertEquals('http://example.net/notice/12', $act->context->replyToID); $this->assertEquals('http://example.net/notice/12', $act->context->replyToUrl); $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, '@evan now is the time for all good men to come to the aid of their country. #'); $this->assertFalse(empty($act->actor)); } public function testExample5() { global $_example5; $dom = DOMDocument::loadXML($_example5); $feed = $dom->documentElement; // @todo Test feed elements $entries = $feed->getElementsByTagName('entry'); $entry = $entries->item(0); $act = new Activity($entry, $feed); // Post $this->assertEquals($act->verb, ActivityVerb::POST); $this->assertFalse(empty($act->context)); // Actor w/Portable Contacts stuff $this->assertFalse(empty($act->actor)); $this->assertEquals($act->actor->type, ActivityObject::PERSON); $this->assertEquals($act->actor->title, 'Test User'); $this->assertEquals($act->actor->id, 'http://example.net/mysite/user/3'); $this->assertEquals($act->actor->link, 'http://example.net/mysite/testuser'); $avatars = $act->actor->avatarLinks; $this->assertEquals( $avatars[0]->url, 'http://example.net/mysite/avatar/3-96-20100224004207.jpeg' ); $this->assertEquals($act->actor->displayName, 'Test User'); $poco = $act->actor->poco; $this->assertEquals($poco->preferredUsername, 'testuser'); $this->assertEquals($poco->address->formatted, 'San Francisco, CA'); $this->assertEquals($poco->urls[0]->type, 'homepage'); $this->assertEquals($poco->urls[0]->value, 'http://example.com/blog.html'); $this->assertEquals($poco->urls[0]->primary, 'true'); $this->assertEquals($act->actor->geopoint, '37.7749295 -122.4194155'); } public function testExample6() { global $_example6; $dom = DOMDocument::loadXML($_example6); $rss = $dom->documentElement; $channels = $dom->getElementsByTagName('channel'); $channel = $channels->item(0); $items = $channel->getElementsByTagName('item'); $item = $items->item(0); $act = new Activity($item, $channel); $this->assertEquals($act->verb, ActivityVerb::POST); $this->assertEquals($act->id, 'http://en.blog.wordpress.com/?p=3857'); $this->assertEquals($act->link, 'http://en.blog.wordpress.com/2010/03/03/rub-a-dub-dub-in-the-pubsubhubbub/'); $this->assertEquals($act->title, 'Rub-a-Dub-Dub in the PubSubHubbub'); $this->assertEquals($act->time, 1267634892); $actor = $act->actor; $this->assertFalse(empty($actor)); $this->assertEquals($actor->title, "Joseph Scott"); } } $_example1 = << tag:versioncentral.example.org,2009:/commit/1643245 2009-06-01T12:54:00Z Geraldine committed a change to yate Geraldine just committed a change to yate on VersionCentral http://activitystrea.ms/schema/1.0/post http://versioncentral.example.org/activity/commit http://versioncentral.example.org/activity/changeset tag:versioncentral.example.org,2009:/change/1643245 Punctuation Changeset Fixing punctuation because it makes it more readable. EXAMPLE1; $_example2 = << tag:photopanic.example.com,2008:activity01 Geraldine posted a Photo on PhotoPanic 2008-11-02T15:29:00Z http://activitystrea.ms/schema/1.0/post tag:photopanic.example.com,2008:photo01 My Cat 2008-11-02T15:29:00Z tag:atomactivity.example.com,2008:photo Geraldine's Photos <p>Geraldine posted a Photo on PhotoPanic</p> <img src="/geraldine/photo1.jpg"> EXAMPLE2; $_example3 = << Example Feed A subtitle. urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6 2003-12-13T18:30:02Z John Doe johndoe@example.com Atom-Powered Robots Run Amok urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a 2003-12-13T18:30:02Z Some text. EXAMPLE3; $_example4 = << @evan now is the time for all good men to come to the aid of their country. #thetime @evan now is the time for all good men to come to the aid of their country. #thetime spock http://example.net/user/2 http://activitystrea.ms/schema/1.0/person http://example.net/user/2 spock http://example.net/notice/14 2010-02-19T02:52:38+00:00 2010-02-19T02:52:38+00:00 @<span class="vcard"><a href="http://example.net/user/1" class="url"><span class="fn nickname">evan</span></a></span> now is the time for all good men to come to the aid of their country. #<span class="tag"><a href="http://example.net/tag/thetime" rel="tag">thetime</a></span> EXAMPLE4; $_example5 = << 3 testuser timeline Updates from testuser on Zach Dev! http://example.net/mysite/avatar/3-96-20100224004207.jpeg 2010-02-24T06:38:49+00:00 testuser http://example.net/mysite/user/3 http://activitystrea.ms/schema/1.0/person http://example.net/mysite/user/3 Test User 37.7749295 -122.4194155 testuser Test User Just another test user. San Francisco, CA homepage http://example.com/blog.html true Hey man, is that Freedom Code?! #freedom #hippy Hey man, is that Freedom Code?! #freedom #hippy testuser http://example.net/mysite/user/3 http://activitystrea.ms/schema/1.0/person http://example.net/mysite/user/3 Test User 37.7749295 -122.4194155 testuser Test User Just another test user. San Francisco, CA homepage http://example.com/blog.html true http://example.net/mysite/notice/7 2010-02-24T00:53:06+00:00 2010-02-24T00:53:06+00:00 Hey man, is that Freedom Code?! #<span class="tag"><a href="http://example.net/mysite/tag/freedom" rel="tag">freedom</a></span> #<span class="tag"><a href="http://example.net/mysite/tag/hippy" rel="tag">hippy</a></span> 37.8313160 -122.2852473 EXAMPLE5; $_example6 = << WordPress.com News http://en.blog.wordpress.com The latest news on WordPress.com and the WordPress community. Thu, 18 Mar 2010 23:25:35 +0000 http://wordpress.com/ en hourly 1 http://www.gravatar.com/blavatar/e6392390e3bcfadff3671c5a5653d95b?s=96&d=http://s2.wp.com/i/buttonw-com.png WordPress.com News http://en.blog.wordpress.com EXAMPLE6;