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

Reply via email to