Author: as Date: Mon Nov 19 11:30:36 2007 New Revision: 6759 Log: - Added support for 'category' ATOM feed sub-element.
Added: trunk/Feed/tests/atom/regression/generate/entry/category/ trunk/Feed/tests/atom/regression/generate/entry/category/category_empty.in trunk/Feed/tests/atom/regression/generate/entry/category/category_empty.out trunk/Feed/tests/atom/regression/generate/entry/category/category_multiple.in trunk/Feed/tests/atom/regression/generate/entry/category/category_multiple.out trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme+label.in trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme+label.out trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme.in trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme.out trunk/Feed/tests/atom/regression/generate/entry/category/category_term.in trunk/Feed/tests/atom/regression/generate/entry/category/category_term.out trunk/Feed/tests/atom/regression/parse/entry/category/ trunk/Feed/tests/atom/regression/parse/entry/category/category_empty.in trunk/Feed/tests/atom/regression/parse/entry/category/category_empty.out trunk/Feed/tests/atom/regression/parse/entry/category/category_multiple.in trunk/Feed/tests/atom/regression/parse/entry/category/category_multiple.out trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme+label.in trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme+label.out trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme.in trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme.out trunk/Feed/tests/atom/regression/parse/entry/category/category_term.in trunk/Feed/tests/atom/regression/parse/entry/category/category_term.out Modified: trunk/Feed/src/processors/atom.php Modified: trunk/Feed/src/processors/atom.php ============================================================================== --- trunk/Feed/src/processors/atom.php [iso-8859-1] (original) +++ trunk/Feed/src/processors/atom.php [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -765,6 +765,13 @@ // Sample date: 2003-12-13T18:30:02-05:00 $dataNode->set( date( "c", ezcFeedTools::prepareDate( $dataNode->get() ) ) ); $this->generateNode( $entryTag, $element, $parent, $dataNode ); + break; + + case 'category': + foreach ( $data as $dataNode ) + { + $this->generateNode( $entryTag, $element, null, $dataNode ); + } break; } } @@ -1039,6 +1046,7 @@ break; case 'link': + case 'category': $subElement = $element->add( $tagName ); foreach ( ezcFeedTools::getAttributes( $itemChild ) as $key => $value ) { Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_empty.in ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_empty.in (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_empty.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,11 @@ +<?php +return array( 'id' => 'Feed id', + 'title' => array( array( '#' => 'Feed title' ) ), + 'updated' => 'Feed updated', + 'author' => array( array( 'name' => 'Author name' ) ), + 'item' => array( array( 'id' => 'Entry id', + 'title' => array( array( '#' => 'Entry title' ) ), + 'updated' => 'Entry updated', + 'content' => 'Entry content', + 'category' => array( array() ) ) ) ); +?> Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_empty.out ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_empty.out (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_empty.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,1 @@ +There was no data submitted for required channel attribute 'term'. Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_multiple.in ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_multiple.in (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_multiple.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,16 @@ +<?php +return array( 'id' => 'Feed id', + 'title' => array( array( '#' => 'Feed title' ) ), + 'updated' => 'Feed updated', + 'author' => array( array( 'name' => 'Author name' ) ), + 'item' => array( array( 'id' => 'Entry id', + 'title' => array( array( '#' => 'Entry title' ) ), + 'updated' => 'Entry updated', + 'content' => 'Entry content', + 'category' => array( array( 'term' => 'Entry category term 1', + 'scheme' => 'Entry category scheme 1', + 'label' => 'Entry category label 1' ), + array( 'term' => 'Entry category term 2', + 'scheme' => 'Entry category scheme 2', + 'label' => 'Entry category label 2' ) ) ) ) ); +?> Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_multiple.out ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_multiple.out (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_multiple.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title>Feed title</title> + <updated>XXX</updated> + <author> + <name>Author name</name> + </author> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>XXX</updated> + <content>Entry content</content> + <category term="Entry category term 1" scheme="Entry category scheme 1" label="Entry category label 1"/> + <category term="Entry category term 2" scheme="Entry category scheme 2" label="Entry category label 2"/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme+label.in ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme+label.in (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme+label.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,13 @@ +<?php +return array( 'id' => 'Feed id', + 'title' => array( array( '#' => 'Feed title' ) ), + 'updated' => 'Feed updated', + 'author' => array( array( 'name' => 'Author name' ) ), + 'item' => array( array( 'id' => 'Entry id', + 'title' => array( array( '#' => 'Entry title' ) ), + 'updated' => 'Entry updated', + 'content' => 'Entry content', + 'category' => array( array( 'term' => 'Entry category term', + 'scheme' => 'Entry category scheme', + 'label' => 'Entry category label' ) ) ) ) ); +?> Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme+label.out ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme+label.out (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme+label.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title>Feed title</title> + <updated>XXX</updated> + <author> + <name>Author name</name> + </author> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>XXX</updated> + <content>Entry content</content> + <category term="Entry category term" scheme="Entry category scheme" label="Entry category label"/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme.in ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme.in (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,12 @@ +<?php +return array( 'id' => 'Feed id', + 'title' => array( array( '#' => 'Feed title' ) ), + 'updated' => 'Feed updated', + 'author' => array( array( 'name' => 'Author name' ) ), + 'item' => array( array( 'id' => 'Entry id', + 'title' => array( array( '#' => 'Entry title' ) ), + 'updated' => 'Entry updated', + 'content' => 'Entry content', + 'category' => array( array( 'term' => 'Entry category term', + 'scheme' => 'Entry category scheme' ) ) ) ) ); +?> Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme.out ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme.out (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_term+scheme.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title>Feed title</title> + <updated>XXX</updated> + <author> + <name>Author name</name> + </author> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>XXX</updated> + <content>Entry content</content> + <category term="Entry category term" scheme="Entry category scheme"/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_term.in ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_term.in (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_term.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,11 @@ +<?php +return array( 'id' => 'Feed id', + 'title' => array( array( '#' => 'Feed title' ) ), + 'updated' => 'Feed updated', + 'author' => array( array( 'name' => 'Author name' ) ), + 'item' => array( array( 'id' => 'Entry id', + 'title' => array( array( '#' => 'Entry title' ) ), + 'updated' => 'Entry updated', + 'content' => 'Entry content', + 'category' => array( array( 'term' => 'Entry category term' ) ) ) ) ); +?> Added: trunk/Feed/tests/atom/regression/generate/entry/category/category_term.out ============================================================================== --- trunk/Feed/tests/atom/regression/generate/entry/category/category_term.out (added) +++ trunk/Feed/tests/atom/regression/generate/entry/category/category_term.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title>Feed title</title> + <updated>XXX</updated> + <author> + <name>Author name</name> + </author> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>XXX</updated> + <content>Entry content</content> + <category term="Entry category term"/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_empty.in ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_empty.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_empty.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title type="text">Feed title</title> + <updated>Feed updated</updated> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>2007-11-14T16:23:40+01:00</updated> + <category/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_empty.out ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_empty.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_empty.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,17 @@ +<?php +$feed = new ezcFeed( 'atom' ); + +$feed->id = 'Feed id'; +$feed->title = 'Feed title'; +$feed->title->type = 'text'; +$feed->updated = 'Feed updated'; + +$entry = $feed->add( 'entry' ); +$entry->id = 'Entry id'; +$entry->title = 'Entry title'; +$entry->updated = 1195053820; + +$category = $entry->add( 'category' ); + +return $feed; +?> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_multiple.in ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_multiple.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_multiple.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title type="text">Feed title</title> + <updated>Feed updated</updated> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>2007-11-14T16:23:40+01:00</updated> + <category term="Entry category term 1" scheme="Entry category scheme 1" label="Entry category label 1"/> + <category term="Entry category term 2" scheme="Entry category scheme 2" label="Entry category label 2"/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_multiple.out ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_multiple.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_multiple.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,25 @@ +<?php +$feed = new ezcFeed( 'atom' ); + +$feed->id = 'Feed id'; +$feed->title = 'Feed title'; +$feed->title->type = 'text'; +$feed->updated = 'Feed updated'; + +$entry = $feed->add( 'entry' ); +$entry->id = 'Entry id'; +$entry->title = 'Entry title'; +$entry->updated = 1195053820; + +$category = $entry->add( 'category' ); +$category->term = "Entry category term 1"; +$category->scheme = "Entry category scheme 1"; +$category->label = "Entry category label 1"; + +$category = $entry->add( 'category' ); +$category->term = "Entry category term 2"; +$category->scheme = "Entry category scheme 2"; +$category->label = "Entry category label 2"; + +return $feed; +?> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme+label.in ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme+label.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme+label.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title type="text">Feed title</title> + <updated>Feed updated</updated> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>2007-11-14T16:23:40+01:00</updated> + <category term="Entry category term" scheme="Entry category scheme" label="Entry category label"/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme+label.out ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme+label.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme+label.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,20 @@ +<?php +$feed = new ezcFeed( 'atom' ); + +$feed->id = 'Feed id'; +$feed->title = 'Feed title'; +$feed->title->type = 'text'; +$feed->updated = 'Feed updated'; + +$entry = $feed->add( 'entry' ); +$entry->id = 'Entry id'; +$entry->title = 'Entry title'; +$entry->updated = 1195053820; + +$category = $entry->add( 'category' ); +$category->term = "Entry category term"; +$category->scheme = "Entry category scheme"; +$category->label = "Entry category label"; + +return $feed; +?> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme.in ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title type="text">Feed title</title> + <updated>Feed updated</updated> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>2007-11-14T16:23:40+01:00</updated> + <category term="Entry category term" scheme="Entry category scheme"/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme.out ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_term+scheme.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,19 @@ +<?php +$feed = new ezcFeed( 'atom' ); + +$feed->id = 'Feed id'; +$feed->title = 'Feed title'; +$feed->title->type = 'text'; +$feed->updated = 'Feed updated'; + +$entry = $feed->add( 'entry' ); +$entry->id = 'Entry id'; +$entry->title = 'Entry title'; +$entry->updated = 1195053820; + +$category = $entry->add( 'category' ); +$category->term = "Entry category term"; +$category->scheme = "Entry category scheme"; + +return $feed; +?> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_term.in ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_term.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_term.in [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>Feed id</id> + <title type="text">Feed title</title> + <updated>Feed updated</updated> + <entry> + <id>Entry id</id> + <title>Entry title</title> + <updated>2007-11-14T16:23:40+01:00</updated> + <category term="Entry category term"/> + </entry> +</feed> Added: trunk/Feed/tests/atom/regression/parse/entry/category/category_term.out ============================================================================== --- trunk/Feed/tests/atom/regression/parse/entry/category/category_term.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/category/category_term.out [iso-8859-1] Mon Nov 19 11:30:36 2007 @@ -1,0 +1,18 @@ +<?php +$feed = new ezcFeed( 'atom' ); + +$feed->id = 'Feed id'; +$feed->title = 'Feed title'; +$feed->title->type = 'text'; +$feed->updated = 'Feed updated'; + +$entry = $feed->add( 'entry' ); +$entry->id = 'Entry id'; +$entry->title = 'Entry title'; +$entry->updated = 1195053820; + +$category = $entry->add( 'category' ); +$category->term = "Entry category term"; + +return $feed; +?> -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components