* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class ActivityTest extends TestCase { public function testActivity() { $actor = new ObjectType(); $actor->setObjectType('person'); $actor->setId('urn:example:person:martin'); $actor->setDisplayName('Martin Smith'); $actor->setUrl('http://example.org/martin'); $actor->setImage('http://example.org/martin/image.jpg'); $object = new ObjectType(); $object->setObjectType('article'); $object->setId('urn:example:blog:abc123/xyz'); $object->setUrl('http://example.org/blog/2011/02/entry'); $object->setDisplayName('Why I love Activity Streams'); $target = new ObjectType(); $target->setObjectType('blog'); $target->setId('urn:example:blog:abc123'); $target->setDisplayName('Martin\'s Blog'); $target->setUrl('http://example.org/blog/'); $activity = new Activity(); $activity->setVerb('post'); $activity->setPublished(new \DateTime('2011-02-10T15:04:55Z')); $activity->setActor($actor); $activity->setObject($object); $activity->setTarget($target); $dumper = new Dumper(); $actual = json_encode($dumper->dump($activity), JSON_PRETTY_PRINT); $expect = file_get_contents(__DIR__ . '/resource/activity.json'); $this->assertJsonStringEqualsJsonString($expect, $actual, $actual); } public function testComplexActivity() { $generator = new ObjectType(); $generator->setUrl('http://example.org/activities-app'); $provider = new ObjectType(); $provider->setUrl('http://example.org/activity-stream'); $actor = new ObjectType(); $actor->setUrl('http://example.org/martin'); $actor->setObjectType('person'); $actor->setId('urn:example:person:martin'); $actor->setImage('http://example.org/martin/image'); $actor->setDisplayName('Martin Smith'); $object = new ObjectType(); $object->setUrl('http://example.org/album/my_fluffy_cat.jpg'); $object->setObjectType('photo'); $object->setId('urn:example:album:abc123/my_fluffy_cat'); $object->setImage('http://example.org/album/my_fluffy_cat_thumb.jpg'); $target = new ObjectType(); $target->setUrl('http://example.org/album/'); $target->setObjectType('photo-album'); $target->setId('urn:example.org:album:abc123'); $target->setDisplayName('Grianghraif Mairtin'); $target->setImage('http://example.org/album/thumbnail.jpg'); $activity = new Activity(); $activity->setVerb('post'); $activity->setDisplayName('Martin posted a new video to his album.'); $activity->setPublished(new \DateTime('2011-02-10T15:04:55Z')); $activity->setGenerator($generator); $activity->setProvider($provider); $activity->setActor($actor); $activity->setObject($object); $activity->setTarget($target); $collection = new Collection(); $collection->setTotalItems(1); $collection->setItems([$activity]); $dumper = new Dumper(); $actual = json_encode($dumper->dump($collection), JSON_PRETTY_PRINT); $expect = file_get_contents(__DIR__ . '/resource/activity_complex.json'); $this->assertJsonStringEqualsJsonString($expect, $actual, $actual); } } __halt_compiler();----SIGNATURE:----w0YbVi3UXE83cTw1BY9ZFpwnYkC0WGTOsYSBihSjRa0nBHlZK+4zIxUzOhI6r8RbJzAQfBjSCZ/oDBiLHJuZM0Dg19PglliSQZ0Hwe2aHrhvJQx3D6eU98ddXyms7uie3Og/MuCwKk51GWZ+gztbLrbw6191GB2wjMMUxGLX9FvzOPINHHfrCATg7H7daZcC3EWCNLT9Q1JcwBlftvGv5kaY0KNxfQlIEjc6B9OpDCdpNK3tf5LJHedv2eiLNwT676C4YYodNPg3uoWdmZjKHh3URMUMyLkVxzsBIj/YAqLaI8oU62oDDPK5Bd4PLBBADJYTEhXZcCn9ljLb45U08GyjZdUYVdSqc+ldLXlbbqkxwbBifE46bJfr8uhc7xKySHWtGiiYsVEVoM26nVZMMqxCqdPZvQ219SCEaNCqFgw5l4LFcCvYNrpG60p9kB5kdzymTvBfX9QgNPeZwLsydG4BP9jPQNlRUt0180HbMNO3sg4AzWkz1d9AKdiePM5A7NebmYDRhMkWQ+0DWb6yTRBbnzO5eSLtU5tA8X1PkxnEgjd12SY1xchL8kau3tT4KJLmxCYXYOtqrrM5u7LQPhr63xrwMq0VHBLWd7Ft0Z0BaouCPDN23ajvDp0yFIH5QPoG+BKFrLpbxSGmFB9LcdQlXJOpF+a/tOOnJ7opQD0=----ATTACHMENT:----ODc0MTQzMjY0NTQ4MTQ5MSA4OTIyMjMwNzA2NjMzMDg1IDY4Njc3NDM4NDkxMDA5NDM=