public function testRole() { $laura = new Object(); $laura->setObjectType('person'); $laura->setDisplayName('Laura'); $mark = new Object(); $mark->setObjectType('person'); $mark->setDisplayName('Mark'); $members = new Collection(); $members->add($laura); $members->add($mark); $role = new Role(); $role->setDisplayName('My Work Group'); $role->setMembers($members); $content = <<<JSON { "objectType": "role", "displayName": "My Work Group", "members": { "items": [ { "objectType": "person", "displayName": "Laura" }, { "objectType": "person", "displayName": "Mark" } ] } } JSON; $this->assertRecordEqualsContent($role, $content); $this->assertEquals($members, $role->getMembers()); }
public function testComplexActivity() { $generator = new Object(); $generator->setUrl('http://example.org/activities-app'); $provider = new Object(); $provider->setUrl('http://example.org/activity-stream'); $image = new Object(); $image->setUrl('http://example.org/martin/image'); $image->setMediaType('image/jpeg'); $image->setWidth(250); $image->setHeight(250); $actor = new Object(); $actor->setUrl('http://example.org/martin'); $actor->setObjectType('person'); $actor->setId('urn:example:person:martin'); $actor->setImage($image); $actor->setDisplayName('Martin Smith'); $image = new Object(); $image->setUrl('http://example.org/album/my_fluffy_cat_thumb.jpg'); $image->setMediaType('image/jpeg'); $image->setWidth(250); $image->setHeight(250); $objectType = new Object(); $objectType->setId('http://example.org/Photo'); $objectType->setDisplayName('Photo'); $object = new Object(); $object->setUrl('http://example.org/album/my_fluffy_cat.jpg'); $object->setObjectType($objectType); $object->setId('urn:example:album:abc123/my_fluffy_cat'); $object->setImage($image); $image = new Object(); $image->setUrl('http://example.org/album/thumbnail.jpg'); $image->setMediaType('image/jpeg'); $image->setWidth(250); $image->setHeight(250); $objectType = new Object(); $objectType->setId('http://example.org/PhotoAlbum'); $objectType->setDisplayName('Photo-Album'); $displayName = new \stdClass(); $displayName->en = 'Martin\'s Photo Album'; $displayName->ga = 'Grianghraif Mairtin'; $target = new Object(); $target->setUrl('http://example.org/album/'); $target->setObjectType($objectType); $target->setId('urn:example.org:album:abc123'); $target->setDisplayName($displayName); $target->setImage($image); $activity = new Activity(); $activity->setVerb('post'); $activity->setLanguage('en'); $activity->setPublished(new DateTime('2011-02-10T15:04:55Z')); $activity->setGenerator('http://example.org/activities-app'); $activity->setProvider('http://example.org/activity-stream'); $displayName = new \stdClass(); $displayName->en = 'Martin posted a new video to his album.'; $displayName->ga = 'Martin phost le fisean nua a albam.'; $activity->setDisplayName($displayName); $activity->setActor($actor); $activity->setObject($object); $activity->setTarget($target); $collection = new Collection(); $collection->setTotalItems(1); $collection->add($activity); $content = <<<JSON { "totalItems": 1, "items": [{ "verb": "post", "language": "en", "published": "2011-02-10T15:04:55Z", "generator": "http://example.org/activities-app", "provider": "http://example.org/activity-stream", "displayName": { "en": "Martin posted a new video to his album.", "ga": "Martin phost le fisean nua a albam." }, "actor": { "objectType": "person", "id": "urn:example:person:martin", "displayName": "Martin Smith", "url": "http://example.org/martin", "image": { "url": "http://example.org/martin/image", "mediaType": "image/jpeg", "width": 250, "height": 250 } }, "object": { "objectType": { "id": "http://example.org/Photo", "displayName": "Photo" }, "id": "urn:example:album:abc123/my_fluffy_cat", "url": "http://example.org/album/my_fluffy_cat.jpg", "image": { "url": "http://example.org/album/my_fluffy_cat_thumb.jpg", "mediaType": "image/jpeg", "width": 250, "height": 250 } }, "target": { "objectType": { "id": "http://example.org/PhotoAlbum", "displayName": "Photo-Album" }, "id": "urn:example.org:album:abc123", "url": "http://example.org/album/", "displayName": { "en": "Martin's Photo Album", "ga": "Grianghraif Mairtin" }, "image": { "url": "http://example.org/album/thumbnail.jpg", "mediaType": "image/jpeg", "width": 250, "height": 250 } } }] } JSON; $this->assertRecordEqualsContent($collection, $content); }
public function testEvent() { $person = new Object(); $person->setObjectType('person'); $person->setDisplayName('Joe'); $persons = new Collection(); $persons->add($person); $event = new Event(); $event->setDisplayName('Meeting with Joe'); $event->setStartTime(new DateTime('2012-12-12T12:00:00Z')); $event->setEndTime(new DateTime('2012-12-12T13:00:00Z')); $event->setValidFrom(new DateTime('2012-12-12T13:00:00Z')); $event->setValidAfter(new DateTime('2012-12-12T13:00:00Z')); $event->setValidUntil(new DateTime('2012-12-12T13:00:00Z')); $event->setValidBefore(new DateTime('2012-12-12T13:00:00Z')); $event->setAttendedBy($persons); $event->setAttending($persons); $event->setInvited($persons); $event->setMaybeAttending($persons); $event->setNotAttendedBy($persons); $event->setNotAttending($persons); $content = <<<JSON { "attendedBy": {"items": [{ "objectType": "person", "displayName": "Joe" }]}, "attending": {"items": [{ "objectType": "person", "displayName": "Joe" }]}, "endTime": "2012-12-12T13:00:00Z", "invited": {"items": [{ "objectType": "person", "displayName": "Joe" }]}, "maybeAttending": {"items": [{ "objectType": "person", "displayName": "Joe" }]}, "notAttendedBy": {"items": [{ "objectType": "person", "displayName": "Joe" }]}, "notAttending": {"items": [{ "objectType": "person", "displayName": "Joe" }]}, "startTime": "2012-12-12T12:00:00Z", "validFrom": "2012-12-12T13:00:00Z", "validAfter": "2012-12-12T13:00:00Z", "validUntil": "2012-12-12T13:00:00Z", "validBefore": "2012-12-12T13:00:00Z", "objectType": "event", "displayName": "Meeting with Joe" } JSON; $this->assertRecordEqualsContent($event, $content); $this->assertEquals('Meeting with Joe', $event->getDisplayName()); $this->assertEquals(new DateTime('2012-12-12T12:00:00Z'), $event->getStartTime()); $this->assertEquals(new DateTime('2012-12-12T13:00:00Z'), $event->getEndTime()); $this->assertEquals(new DateTime('2012-12-12T13:00:00Z'), $event->getValidFrom()); $this->assertEquals(new DateTime('2012-12-12T13:00:00Z'), $event->getValidAfter()); $this->assertEquals(new DateTime('2012-12-12T13:00:00Z'), $event->getValidUntil()); $this->assertEquals(new DateTime('2012-12-12T13:00:00Z'), $event->getValidBefore()); $this->assertEquals($persons, $event->getAttendedBy()); $this->assertEquals($persons, $event->getAttending()); $this->assertEquals($persons, $event->getInvited()); $this->assertEquals($persons, $event->getMaybeAttending()); $this->assertEquals($persons, $event->getNotAttendedBy()); $this->assertEquals($persons, $event->getNotAttending()); }