X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2FActivityParseTests.php;h=27b751b75e92ceb78ff225fbca79d72d525a6f7f;hb=13c331fa8152f11a811d2ff66210b3298bc21ada;hp=378478d741d1cd3ce205a206ab8aaa7df0f6923b;hpb=819d33210d298de74b64dc7ead79e9d9b223b12e;p=quix0rs-gnu-social.git diff --git a/tests/ActivityParseTests.php b/tests/ActivityParseTests.php index 378478d741..27b751b75e 100644 --- a/tests/ActivityParseTests.php +++ b/tests/ActivityParseTests.php @@ -8,7 +8,8 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { // XXX: we should probably have some common source for this stuff define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('STATUSNET', true); +define('GNUSOCIAL', true); +define('STATUSNET', true); // compatibility require_once INSTALLDIR . '/lib/common.php'; @@ -100,7 +101,7 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase $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->assertEquals(array('http://example.net/user/1'), array_keys($act->context->attention)); $this->assertFalse(empty($act->objects[0])); $this->assertEquals($act->objects[0]->content, @@ -382,6 +383,51 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase } } + public function testExample10() + { + global $_example10; + $dom = new DOMDocument(); + $dom->loadXML($_example10); + + // example 10 is a PuSH item of a post on a group feed, as generated + // by 0.9.7 code after migration away from to + $feed = $dom->documentElement; + $entry = $dom->getElementsByTagName('entry')->item(0); + $expected = 'http://lazarus.local/mublog/user/557'; + + // Reading just the entry alone should pick up its own + // as the actor. + $act = new Activity($entry); + $this->assertEquals($act->actor->id, $expected); + + // Reading the entry in feed context used to be buggy, picking up + // the feed's which referred to the group. + // It should now be returning the expected author entry... + $act = new Activity($entry, $feed); + $this->assertEquals($act->actor->id, $expected); + } + + public function testBookmarkRelated() + { + global $_example11; + $dom = new DOMDocument(); + $dom->loadXML($_example11); + + $feed = $dom->documentElement; + $entry = $dom->getElementsByTagName('entry')->item(0); + + $expected = 'http://blog.teambox.com/open-source-companies'; + + $links = ActivityUtils::getLinks($entry, 'related'); + + $this->assertFalse(empty($links)); + $this->assertTrue(is_array($links)); + $this->assertEquals(count($links), 1); + + $url = $links[0]->getAttribute('href'); + + $this->assertEquals($url, $expected); + } } $_example1 = << - + @<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> @@ -792,3 +838,179 @@ $_example9 = << EXAMPLE9; + +// Sample PuSH entry from a group feed in 0.9.7 +// Old has been removed from entries in this version. +// A bug in the order of input processing meant that we were incorrectly +// reading the feed's instead of the entry's , +// causing the entry to get rejected as malformed (groups can't post on +// their own; we want to see the actual author's info here). +$_example10 = << + + StatusNet + http://lazarus.local/mublog/api/statusnet/groups/timeline/22.atom + grouptest316173 timeline + Updates from grouptest316173 on Blaguette! + http://lazarus.local/mublog/theme/default/default-avatar-profile.png + 2011-01-06T22:44:18+00:00 + + http://activitystrea.ms/schema/1.0/group + http://lazarus.local/mublog/group/22/id + grouptest316173 + + + + + grouptest316173 + grouptest316173 + + + http://activitystrea.ms/schema/1.0/group + http://lazarus.local/mublog/group/22/id + grouptest316173 + + + + + grouptest316173 + grouptest316173 + + + + + + + + + + http://activitystrea.ms/schema/1.0/note + http://lazarus.local/mublog/notice/1243 + Group post from local to !grouptest316173, should go out over push. + Group post from local to !<span class="vcard"><a href="http://lazarus.local/mublog/group/22/id" class="url"><span class="fn nickname">grouptest316173</span></a></span>, should go out over push. + + http://activitystrea.ms/schema/1.0/post + 2011-01-06T22:44:18+00:00 + 2011-01-06T22:44:18+00:00 + + http://activitystrea.ms/schema/1.0/person + http://lazarus.local/mublog/user/557 + Pubtest316173 Smith + + + + + pubtest316173 + Pubtest316173 Smith + Stub account for OStatus tests. + + homepage + http://example.org/pubtest316173 + true + + + + + + + http://lazarus.local/mublog/api/statuses/user_timeline/557.atom + Pubtest316173 Smith + + + + http://lazarus.local/mublog/theme/default/default-avatar-profile.png + 2011-01-06T22:44:18+00:00 + + + + + + +EXAMPLE10; + +$_example11 = << + + StatusNet + http://freelish.us/api/statuses/user_timeline/1.atom + demon timeline + Updates from demon on freelish.us! + http://avatar.status.net/f/freelishus/1-96-20110331163048.jpeg + 2011-05-30T09:36:03-04:00 + + http://activitystrea.ms/schema/1.0/person + http://freelishus.status.net/user/1 + demon + + + + + + 45.50884 -73.58781 + demon + Evan Prodromou + Montreal hacker and entrepreneur. + + Montreal, Quebec + + + + homepage + http://evan.status.net/ + true + + + + + + http://activitystrea.ms/schema/1.0/person + http://freelishus.status.net/user/1 + Evan Prodromou + + + + + + 45.50884 -73.58781 + demon + Evan Prodromou + Montreal hacker and entrepreneur. + + Montreal, Quebec + + + + homepage + http://evan.status.net/ + true + + + + + + + + + + + + + + http://activitystrea.ms/schema/1.0/bookmark + http://freelish.us/bookmark/9e930c3e-7ed9-47de-aba5-df6c60cec542 + Why you should build an open-source startup | Teambox Blog + + + http://activitystrea.ms/schema/1.0/post + 2011-05-26T20:36:25+00:00 + 2011-05-26T20:36:25+00:00 + + + + + + + + + +EXAMPLE11;