$t->is((string) $feedXml->entry[0]->author->email, $itemParams['authorEmail'], '<entry><author><author_email> contains the item author email'); $t->is((string) $feedXml->entry[0]->author->uri, $itemParams['authorLink'], '<entry><author><author_link> contains the item author link'); $t->is((string) $feedXml->entry[0]->id, $itemParams['uniqueId'], '<entry><id> contains the item description'); $t->is((string) $feedXml->entry[0]->summary, $itemParams['description'], '<entry><summary> contains the item description'); $t->is((string) $feedXml->entry[0]->content, $itemParams['content'], '<entry><content> contains the item content'); $t->is((string) $feedXml->entry[0]->category[0]['term'], $itemParams['categories'][0], '<entry><category> contains the item category'); $t->is((string) $feedXml->entry[0]->category[1]['term'], $itemParams['categories'][1], '<entry><category> contains the item category'); $t->is((string) $feedXml->entry[0]->link[1]['href'], $enclosureParams['url'], '<entry><link ref="enclosure"> contains the proper item enclosure url'); $t->is((string) $feedXml->entry[0]->link[1]['length'], $enclosureParams['length'], '<entry><link ref="enclosure"> contains the proper item enclosure length'); $t->is((string) $feedXml->entry[0]->link[1]['type'], $enclosureParams['mimeType'], '<entry><link ref="enclosure"> contains the proper item enclosure mimeType'); $t->diag('asXML() - generated feed'); $feedString = $feed->asXml(); $t->is(sfContext::getInstance()->getResponse()->getContentType(), 'application/atom+xml; charset=UTF-16', 'The response comes with the correct Content-Type'); $t->diag('fromXML() - generated feed'); $generatedFeed = new sfAtom1Feed(); $generatedFeed->fromXml($feedString); $t->is($generatedFeed->getTitle(), $feed->getTitle(), 'The title property is properly set'); $t->is($generatedFeed->getLink(), $feed->getLink(), 'The link property is properly set'); $t->isnt($generatedFeed->getDescription(), $feed->getDescription(), 'The description property cannot be set from an Atom feed'); $t->is($generatedFeed->getLanguage(), $feed->getLanguage(), 'The language property is properly set'); $t->is($generatedFeed->getAuthorEmail(), $feed->getAuthorEmail(), 'The author email property is properly set'); $t->is($generatedFeed->getAuthorName(), $feed->getAuthorName(), 'The author name property is properly set'); $t->is($generatedFeed->getAuthorLink(), $feed->getAuthorLink(), 'The author link property is properly set'); $t->is($generatedFeed->getSubtitle(), $feed->getSubtitle(), 'The subtitle property is properly set'); $t->is($generatedFeed->getCategories(), $feed->getCategories(), 'The categories property is properly set'); $t->is($generatedFeed->getFeedUrl(), $feed->getFeedUrl(), 'The feedUrl property is properly set'); $t->is($generatedFeed->getEncoding(), $feed->getEncoding(), 'The encoding property is properly set'); $t->is($generatedFeed->getImage()->getFavicon(), $feed->getImage()->getFavicon(), 'The feed favicon property is properly set'); $t->is($generatedFeed->getImage()->getImage(), $feed->getImage()->getImage(), 'The feed logo property is properly set'); $t->is($generatedFeed->getLatestPostDate(), $feed->getLatestPostDate(), 'The latest post date is correct'); $t->diag('fromXML() - generated feed items');