* @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:----w0aLA+0GlOrl7/A6afJXV1qGr9bzYX9H830ZhDCKpRq0/BC6BQqaZLeS8r8Ae6k3IUg1ETqP5YqPmoVQ/hdpMrz8Xr8OvucWgenuSLqUFty0q1ruExTOcEbWxrTFqCsF9xl7BoUvHU7xyqNW0+KPE5Tqwaa2ORtycVKp8uD0GubD1eer3qHdmOpz8xLVlvlQf68Tar6SYfGc0d9F8g3H7fF79bJ6iE7zgmEox3tteQQu/qsCuEMcDuL1prG5TwNVKvvuwb0SWd64DUdPNI72ZONxjcUH/Y0U6LjDxE/lCZyBy8lMX9Sc7pnp6lSx5nU7he9oXjsxooRYa3SZMQRL6vmORR9VvLojYnZ22+FjPJAeL+UazSreMZTBM/RsQHVK4+ICKb1uEpila0qkAcrTz5jPgTXPAlkrt+HQxTsx8F4v1Qh9FszHD2gYVyVjjtas8B7nHKo8Qf/b1OIgKuaB36o2q62JikxcdYdVtSRbpB6ol3nSeboYolthUQrN11bUOWGpt0KQa9lGmZq7BtKeTheaA6aIIyYGDJgqqEcun6ETWhpWA9b4cf/mhrjEetDw3KeR8Dc3m4lTy9mXhsmPcZNr54c8UmCdGYKSRvqCllLVBudcCrM2zRMMOpnvaNDSlSfv4l0fPlQ3fAHyjjjXPZEZGFMDk9xIG5yj5P2kABQ=----ATTACHMENT:----MjEwMzE5MDU5MTI5NTc1NCA1NjgyMTE4OTY2MzkyMzg1IDczODY5MzMzMTY5NzMxMjM=