protected function getEntryRecord() { $entry = new Entry(); $entry->setTitle('Atom draft-07 snapshot'); $entry->addLink(new Link('http://example.org/2005/04/02/atom', 'alternate', 'text/html')); $entry->addLink(new Link('http://example.org/audio/ph34r_my_podcast.mp3', 'enclosure', 'audio/mpeg', null, null, 1337)); $entry->setId('tag:example.org,2003:3.2397'); $entry->setUpdated(new DateTime('2005-07-31T12:29:29')); $entry->setPublished(new DateTime('2003-12-13T08:29:29-04:00')); $entry->addAuthor(new Person('Mark Pilgrim', 'http://example.org/', '*****@*****.**')); $entry->addContributor(new Person('Sam Ruby')); $entry->addContributor(new Person('Joe Gregorio')); $entry->addCategory(new Category('news')); $entry->setContent(new Text('<div xmlns="http://www.w3.org/1999/xhtml"><p><i>[Update: The Atom draft is finished.]</i></p></div>', 'xhtml')); $entry->setSummary(new Text('foobar', 'text')); $entry->setRights('Copyright (c) 2003, Mark Pilgrim'); $atom = new AtomRecord(); $atom->setTitle('dive into mark'); $atom->setSubTitle(new Text('A <em>lot</em> of effort went into making this effortless', 'html')); $atom->setUpdated(new DateTime('2005-07-31T12:29:29Z')); $atom->setId('tag:example.org,2003:3'); $atom->addLink(new Link('http://example.org/', 'alternate', 'text/html', 'en')); $atom->addLink(new Link('http://example.org/feed.atom', 'self', 'application/atom+xml')); $atom->setRights('Copyright (c) 2003, Mark Pilgrim'); $atom->setGenerator(new Generator('Example Toolkit', 'http://www.example.com/', '1.0')); $entry->setSource($atom); return $entry; }
public function testSerialize() { $entry = new Entry(); $entry->addAuthor(new Person('foobar', 'http://foo.com', '*****@*****.**')); $entry->addCategory(new Category('foobar', 'http://foo.com', 'Foobar')); $entry->setContent(new Text('foobar')); $entry->addContributor(new Person('foobar', 'http://foo.com', '*****@*****.**')); $entry->setId('http://localhost.com#1'); $entry->setRights('foo'); $entry->setTitle('Star City'); $entry->setPublished(new DateTime('Tue, 10 Jun 2003 04:00:00 GMT')); $entry->setUpdated(new DateTime('Tue, 10 Jun 2003 04:00:00 GMT')); $entry->addLink(new Link('http://localhost.com', 'me', 'application/xml', 'en', 'Foobar', 1337)); $entry->setSummary(new Text('lreom ipsum')); $atom = new Atom(); $atom->addAuthor(new Person('foobar', 'http://foo.com', '*****@*****.**')); $atom->addCategory(new Category('foobar', 'http://foo.com', 'Foobar')); $atom->addContributor(new Person('foobar', 'http://foo.com', '*****@*****.**')); $atom->setGenerator(new Generator('foobar', 'http://foo.com', '1.0')); $atom->setIcon('http://localhost.com/icon.png'); $atom->setLogo('http://localhost.com/logo.png'); $atom->setId('http://localhost.com#1'); $atom->setRights('foo'); $atom->setTitle('Foo has bar'); $atom->setUpdated(new DateTime('Tue, 10 Jun 2003 04:00:00 GMT')); $atom->addLink(new Link('http://localhost.com', 'me', 'application/xml', 'en', 'Foobar', 1337)); $atom->setSubTitle(new Text('And some more content')); $atom->add($entry); $content = <<<JSON { "author": [{ "name": "foobar", "uri": "http://foo.com", "email": "*****@*****.**" }], "category": [{ "term": "foobar", "scheme": "http://foo.com", "label": "Foobar" }], "contributor": [{ "name": "foobar", "uri": "http://foo.com", "email": "*****@*****.**" }], "generator": { "text": "foobar", "uri": "http://foo.com", "version": "1.0" }, "icon": "http://localhost.com/icon.png", "logo": "http://localhost.com/logo.png", "id": "http://localhost.com#1", "link": [{ "href": "http://localhost.com", "rel": "me", "type": "application/xml", "hreflang": "en", "title": "Foobar", "length": 1337 }], "rights": "foo", "subTitle": { \t"content": "And some more content" }, "title": "Foo has bar", "updated": "2003-06-10T04:00:00Z", "entry": [{ "author": [{ "name": "foobar", "uri": "http://foo.com", "email": "*****@*****.**" }], "category": [{ "term": "foobar", "scheme": "http://foo.com", "label": "Foobar" }], "content": { "content": "foobar" }, "contributor": [{ "name": "foobar", "uri": "http://foo.com", "email": "*****@*****.**" }], "id": "http://localhost.com#1", "link": [{ "href": "http://localhost.com", "rel": "me", "type": "application/xml", "hreflang": "en", "title": "Foobar", "length": 1337 }], "published": "2003-06-10T04:00:00Z", "rights": "foo", "summary": { "content": "lreom ipsum" }, "title": "Star City", "updated": "2003-06-10T04:00:00Z" }] } JSON; $this->assertRecordEqualsContent($atom, $content); }