Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/pom.xml
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/pom.xml	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/pom.xml	(revision 0)
@@ -0,0 +1,52 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>xwiki-core-rendering-macros-parent</artifactId>
+    <groupId>org.xwiki.platform</groupId>
+    <version>1.8-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.xwiki.platform</groupId>
+  <artifactId>xwiki-core-rendering-macro-rss</artifactId>
+  <name>XWiki Platform - Macro - RSS Reader</name>
+  <version>1.8-SNAPSHOT</version>
+  <description>XWiki Platform - Macro - RSS Reader</description>
+  <!-- This repository is needed for getting the Rome API for dealing with RSS in Java -->
+  <repositories>
+	<repository>
+  	  <id>maven2-repository.dev.java.net</id>
+  	  <name>Java.net Repository for Maven</name>
+  	  <url>http://download.java.net/maven/2/</url>
+	  <layout>default</layout>
+	</repository>
+  </repositories>
+  <build>
+	<plugins>
+      <plugin>
+        <!-- Apply the Checkstyle configurations defined in the top level pom.xml file -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <includes>
+            <include>**/RenderingTests.java</include>
+          </includes>
+        </configuration>
+      </plugin>
+  	</plugins>
+  </build>
+  <dependencies>
+	<dependency>
+      <groupId>rome</groupId>
+      <artifactId>rome</artifactId>
+      <version>1.0RC2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.xwiki.platform</groupId>
+      <artifactId>xwiki-core-rendering-macro-box</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+  </dependencies>
+</project>
Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/java/org/xwiki/rendering/internal/macro/rss/RssMacro.java
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/java/org/xwiki/rendering/internal/macro/rss/RssMacro.java	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/java/org/xwiki/rendering/internal/macro/rss/RssMacro.java	(revision 0)
@@ -0,0 +1,212 @@
+/*
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.xwiki.rendering.internal.macro.rss;
+
+import java.util.Collections;
+import java.util.List;
+
+import com.sun.syndication.feed.synd.SyndEntry;
+import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.SyndFeedInput;
+import com.sun.syndication.io.XmlReader;
+
+import org.xwiki.rendering.block.Block;
+import org.xwiki.rendering.block.LinkBlock;
+import org.xwiki.rendering.block.ParagraphBlock;
+import org.xwiki.rendering.listener.Link;
+import org.xwiki.rendering.listener.LinkType;
+import org.xwiki.rendering.macro.AbstractMacro;
+import org.xwiki.rendering.macro.Macro;
+import org.xwiki.rendering.macro.MacroExecutionException;
+import org.xwiki.rendering.macro.box.BoxMacroParameters;
+import org.xwiki.rendering.macro.descriptor.DefaultMacroDescriptor;
+import org.xwiki.rendering.macro.rss.RssMacroParameters;
+import org.xwiki.rendering.transformation.MacroTransformationContext;
+import org.xwiki.rendering.util.ParserUtils;
+
+/**
+ * Allows rendering a RSS feed.
+ * 
+ * @version $Id: $
+ * @since 1.7
+ */
+public class RssMacro extends AbstractMacro<RssMacroParameters>
+{
+    /**
+     * The name of the CSS class attribute.
+     */
+    private static final String CLASS_ATTRIBUTE = "class";
+
+    /**
+     * The description of the macro.
+     */
+    private static final String DESCRIPTION = "Allows displaying a RSS feed.";
+
+    /**
+     * Injected by the Component Manager.
+     */
+    protected Macro<BoxMacroParameters> boxMacro;
+    
+    /** 
+     * Needed to parse the ordinary text. 
+     */
+    private ParserUtils parserUtils;
+
+    /**
+     * Create and initialize the descriptor of the macro.
+     */
+    public RssMacro()
+    {
+        super(new DefaultMacroDescriptor(DESCRIPTION, RssMacroParameters.class));
+    }
+
+    /**
+     * Used for implementing the lazy initialization of the parseUtils.
+     * @return the parseUtils needed to parse the ordinary text
+     */
+    private ParserUtils getParserUtils()
+    {
+        if (parserUtils == null) {
+            parserUtils = new ParserUtils();
+        }
+        return parserUtils;
+    }
+
+    /**
+     * Renders the given RSS's entries.
+     * @param parentBlock the parent Block to which the output is going to be added
+     * @param feed the RSS Channel we retrieved via the Feed URL
+     * @param paramObj our parameter helper object
+     * @param context the macro's transformation context
+     * @throws MacroExecutionException if the content cannot be rendered
+     */ 
+
+    private void renderEntries(Block parentBlock, SyndFeed feed, RssMacroParameters paramObj, 
+        MacroTransformationContext context) throws MacroExecutionException 
+    {
+        int maxElements = paramObj.getCount();
+        int count = 0;
+
+        for (Object item : feed.getEntries()) {
+            ++count;
+            if (count > maxElements) {
+                break;
+            }
+            SyndEntry entry = (SyndEntry) item;
+            
+            Link titleLink = new Link();
+            titleLink.setType(LinkType.URI);
+            titleLink.setReference(entry.getLink());
+            Block titleBlock = new LinkBlock(
+                getParserUtils().parseInlineNonWiki(entry.getTitle()), titleLink, true);
+            ParagraphBlock paragraphTitleBlock = new ParagraphBlock(Collections.singletonList(titleBlock));
+            paragraphTitleBlock.setParameter(CLASS_ATTRIBUTE, "rssitemtitle");
+            parentBlock.addChild(paragraphTitleBlock);
+            
+            if (paramObj.isFull() && entry.getDescription() != null) {
+                ParagraphBlock descriptionBlock = new ParagraphBlock(
+                    getParserUtils().parseInlineNonWiki(entry.getDescription().getValue()));
+                if (paramObj.isCss()) {
+                    descriptionBlock.setParameter(CLASS_ATTRIBUTE, "rssitemdescription");
+                }
+                parentBlock.addChild(descriptionBlock);
+            }
+        }
+    }
+
+    /** 
+     * {@inheritDoc}
+     * @see org.xwiki.rendering.macro.Macro#supportsInlineMode()
+     */
+    public boolean supportsInlineMode()
+    {
+        return false;
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see org.xwiki.rendering.macro.Macro#execute(Object, String, MacroTransformationContext)
+     */
+    public List<Block> execute(RssMacroParameters parameters, String content, MacroTransformationContext context)
+        throws MacroExecutionException
+    {
+        SyndFeedInput input = new SyndFeedInput();
+        SyndFeed feed = null;
+        try {
+            feed = input.build(new XmlReader(parameters.getFeedURL()));
+        } catch (Exception ex) {
+            throw new MacroExecutionException("Error processing " + parameters.getFeedURL() + ": " + ex.getMessage());
+        }
+        if (feed == null) { 
+            throw new MacroExecutionException("No feed found at " + parameters.getFeedURL());
+        }
+        
+        BoxMacroParameters boxParameters = new BoxMacroParameters();
+        boolean hasImage = parameters.isImg() && feed.getImage() != null;
+
+        if (parameters.isCss()) {
+            boxParameters.setCssClass("rssfeed");
+        }
+        renderFeedOrEntryTitle(boxParameters, parameters.isCss(), "rsschanneltitle", feed.getTitle(), feed.getLink());
+
+        List<Block> result = null;
+        if (hasImage) {
+            boxParameters.setImage(feed.getImage().getUrl());
+            result = boxMacro.execute(boxParameters, content, context);
+        } else {
+            result = boxMacro.execute(boxParameters, content, context);
+        }
+        
+        renderEntries(result.get(0), feed, parameters, context);
+
+        return result;
+    }
+    
+    /**
+     * Renders the RSS's title.
+     * @param boxParameters the BoxParameters where the title will be fitted
+     * @param isCss whether CSS formatting should be applied
+     * @param cssClass the CSS sheet
+     * @param title the title's text
+     * @param link the title's link (if there is one)
+     */
+    private void renderFeedOrEntryTitle(BoxMacroParameters boxParameters, boolean isCss, 
+        String cssClass, String title, String link) {
+        List<Block> titleBlocks = null;
+        
+        if (link == null) {
+            titleBlocks = getParserUtils().parseInlineNonWiki(title);
+        } else {
+            Link titleLink = new Link();
+            titleLink.setReference(link);
+            titleLink.setType(LinkType.URI);
+            Block linkBlock = new LinkBlock(getParserUtils().parseInlineNonWiki(title), titleLink, true);
+            titleBlocks = Collections.singletonList(linkBlock);
+        }
+        ParagraphBlock titleBlock = new ParagraphBlock(titleBlocks);
+        if (isCss) {
+            titleBlock.setParameter(CLASS_ATTRIBUTE, cssClass);
+        }
+        
+        boxParameters.setBlockTitle(Collections.singletonList(titleBlock));
+    }
+}
Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/java/org/xwiki/rendering/macro/rss/RssMacroParameters.java
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/java/org/xwiki/rendering/macro/rss/RssMacroParameters.java	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/java/org/xwiki/rendering/macro/rss/RssMacroParameters.java	(revision 0)
@@ -0,0 +1,145 @@
+/*
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.xwiki.rendering.macro.rss;
+
+import java.net.URL;
+
+import org.xwiki.rendering.macro.descriptor.ParameterDescription;
+import org.xwiki.rendering.macro.descriptor.ParameterMandatory;
+
+/**
+ * Parameters for the {@link org.xwiki.rendering.internal.macro.rss.RssMacro} Macro.
+ * 
+ * @version $Id: $
+ * @since 1.7
+ */
+public class RssMacroParameters
+{
+    /**
+     * The default alignment for the feed's image.
+     */
+    public static final String DEFAULT_ALIGNMENT = "left";
+    /**
+     * If "true" and if the feed has an image, display it.
+     */
+    private boolean img;
+    /**
+     * If "true" then adds class id elements (rssitem, rssitemtitle, rssitemdescription, rsschanneltitle, etc) 
+     * which you can style by modifying your skin's CSS file.
+     */
+    private boolean css = true;
+    /**
+     * The number of feed items to display.
+     */
+    private int count = Integer.MAX_VALUE;
+    /**
+     * The RSS feed URL.
+     */
+    private URL feedURL;
+    /**
+     * The RSS feed URL stored as a String.
+     */
+    private String feed;
+    /**
+     * If "true" displays a summary in addition to the feed item link.
+     */
+    private boolean full;
+    /**
+     * @return the RSS feed URL.
+     */
+    public String getFeed() {
+        return feed;
+    }
+    /**
+     * @param feed the RSS feed URL.
+     * @throws java.net.MalformedURLException if the URL is malformed.
+     */
+    @ParameterMandatory
+    @ParameterDescription("The RSS feed's URL.")
+    public void setFeed(String feed) throws java.net.MalformedURLException
+    {
+        this.feed = feed;
+        this.feedURL = new java.net.URL(feed);
+    }
+    
+    /**
+     * @param img whether to display the feed's image.
+     */
+    @ParameterDescription("Specifies whether to display the feed's image or not.")
+    public void setImg(boolean img) {
+        this.img = img;
+    }
+    /**
+     * @return the feed's image
+     */
+    public boolean isImg() {
+        return img;
+    }
+    
+    /**
+     * @param css whether to add class id elements (rssitem, rssitemtitle, rssitemdescription, rsschanneltitle, etc).
+     */
+    @ParameterDescription("Specifies whether to add class id elements (rssitem, rssitemtitle, rssitemdescription etc).")
+    public void setCss(boolean css) {
+        this.css = css;
+    }
+    /**
+     * @return whether to add class id elements (rssitem, rssitemtitle, rssitemdescription, rsschanneltitle, etc).
+     */
+    public boolean isCss() {
+        return this.css;
+    }
+    
+    /**
+     * @param count the number of feed items to display.
+     */
+    @ParameterDescription("The maximum number of feed items to display on the page.")
+    public void setCount(int count) {
+        this.count = count;
+    }
+    /**
+     * @return the number of feed items to display.
+     */
+    public int getCount() {
+        return count;
+    }
+    
+    /**
+     * @return the feed's URL
+     */
+    public URL getFeedURL() {
+        return feedURL;
+    }
+    
+    /**
+     * @param full if "true" displays a summary in addition to the feed item link.
+     */
+    @ParameterDescription("If 'true', displays a summary in addition to the feed item link.")
+    public void setFull(boolean full) {
+        this.full = full;
+    }
+    /**
+     * @return if "true" displays a summary in addition to the feed item link
+     */
+    public boolean isFull() {
+        return full;
+    }
+}
Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/resources/META-INF/plexus/components.xml
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/resources/META-INF/plexus/components.xml	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/src/main/resources/META-INF/plexus/components.xml	(revision 0)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+-->
+
+<component-set>
+  <components>
+    <component>
+      <role>org.xwiki.rendering.macro.Macro</role>
+      <role-hint>rss</role-hint>
+      <implementation>org.xwiki.rendering.internal.macro.rss.RssMacro</implementation>
+      <instantiation-strategy>singleton</instantiation-strategy>
+      <requirements>
+        <requirement>
+          <role>org.xwiki.rendering.macro.Macro</role>
+          <role-hint>box</role-hint>
+          <field-name>boxMacro</field-name>
+        </requirement>
+      </requirements>
+    </component>
+  </components>
+</component-set>
Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/java/org/xwiki/rendering/RenderingTests.java
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/java/org/xwiki/rendering/RenderingTests.java	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/java/org/xwiki/rendering/RenderingTests.java	(revision 0)
@@ -0,0 +1,42 @@
+/*
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.xwiki.rendering;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+
+import org.xwiki.rendering.scaffolding.RenderingPlexusTestSetup;
+import org.xwiki.rendering.scaffolding.RenderingTestSuite;
+
+/**
+ * All Rendering integration tests defined in text files using a special format.
+ * 
+ * @version $Id: RenderingTests.java 14966 2008-12-30 12:39:26Z tmortagne $
+ * @since 1.7M3
+ */
+public class RenderingTests extends TestCase
+{
+    public static Test suite() throws Exception
+    {
+        RenderingTestSuite suite = new RenderingTestSuite("Test Rss Macro");
+        suite.addTestsFromResource("macrorss1", true);
+        return new RenderingPlexusTestSetup(suite);
+    }
+}
Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/java/org/xwiki/rendering/macro/rss/TestRssMacro.java
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/java/org/xwiki/rendering/macro/rss/TestRssMacro.java	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/java/org/xwiki/rendering/macro/rss/TestRssMacro.java	(revision 0)
@@ -0,0 +1,57 @@
+package org.xwiki.rendering.macro.rss;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.util.List;
+
+import org.xwiki.rendering.block.Block;
+import org.xwiki.rendering.internal.macro.rss.RssMacro;
+import org.xwiki.rendering.macro.MacroExecutionException;
+import org.xwiki.rendering.macro.rss.RssMacroParameters;
+import org.xwiki.rendering.transformation.MacroTransformationContext;
+
+/**
+ * A mock macro which invokes, in turn, the Rss Macro setting its feed to a test feed.xml file.
+ * 
+ * @version $Id: $
+ * @since 1.7
+ */
+public class TestRssMacro extends RssMacro
+{
+    public TestRssMacro()
+    {
+        //this.boxMacro = new MockBoxMacro();
+    }
+    /**
+     * {@inheritDoc}
+     * 
+     * @see org.xwiki.rendering.macro.Macro#execute(Object, String, MacroTransformationContext)
+     */
+    public List<Block> execute(RssMacroParameters parameters, String content, MacroTransformationContext context)
+        throws MacroExecutionException
+    {
+        RssMacroParameters rssParameters = new RssMacroParameters();
+        rssParameters.setFull(true);
+        rssParameters.setCss(true);
+        rssParameters.setCount(2);
+        rssParameters.setImg(true);
+        
+        File rssFeed = new File("src" + File.separatorChar + "test" + File.separatorChar + "resources", "feed.xml");
+        try {
+            rssParameters.setFeed(rssFeed.toURL().toString());
+        } catch (MalformedURLException e) {
+            throw new MacroExecutionException(e.getMessage());
+        }
+
+        return super.execute(rssParameters, content, context);
+    }
+
+    /** 
+     * {@inheritDoc}
+     * @see org.xwiki.rendering.macro.Macro#supportsInlineMode()
+     */
+    public boolean supportsInlineMode()
+    {
+        return false;
+    }
+}
Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/feed.xml
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/feed.xml	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/feed.xml	(revision 0)
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<rss version="2.0">
+  <channel>
+    <title>Lift Off News</title>
+    <link>http://liftoff.msfc.nasa.gov/</link>
+    <description>Liftoff to Space Exploration.</description>
+	 <image>
+    	<url>http://www.w3schools.com/images/logo.gif</url>
+    	<title>W3Schools.com</title>
+    	<link>http://www.w3schools.com</link>
+  	</image>
+ 
+    <item>
+      <title>Star City</title>
+      <link>http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp</link>
+      <description>How do Americans get ready to work with Russians aboard the International Space Station?</description>
+    </item>
+ 
+    <item>
+      <title>Space Exploration</title>
+      <link>http://liftoff.msfc.nasa.gov/</link>
+      <description>Sky watchers in Europe, Asia, and parts of Alaska and Canada.</description>
+    </item>
+ 
+    <item>
+      <title>The Engine That Does More</title>
+      <link>http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp</link>
+      <description>Before man travels to Mars, NASA hopes to design new engines</description>
+    </item>
+ 
+    <item>
+      <title>Astronauts' Dirty Laundry</title>
+      <link>http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp</link>
+      <description>Compared to earlier spacecraft, the International Space.</description>
+    </item>
+  </channel>
+</rss>
\ No newline at end of file
Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/macrorss1.test
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/macrorss1.test	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/macrorss1.test	(revision 0)
@@ -0,0 +1,12 @@
+.#-----------------------------------------------------
+.input|xwiki/2.0
+.#-----------------------------------------------------
+{{testrssmacro feed="http://some.feed.com"/}}
+.#-----------------------------------------------------
+.expect|xhtml/1.0
+.#-----------------------------------------------------
+<!--startmacro:testrssmacro|-|feed="http://some.feed.com"|-|--><div class="box rssfeed"><!--startimage:http://www.w3schools.com/images/logo.gif--><img src="http://www.w3schools.com/images/logo.gif" class="wikimodel-freestanding" alt="http://www.w3schools.com/images/logo.gif"/><!--stopimage--><br/><p class="rsschanneltitle"><!--startwikilink:http://liftoff.msfc.nasa.gov/--><span class="wikiexternallink"><a class="wikimodel-freestanding" href="http://liftoff.msfc.nasa.gov/">Lift Off News</a></span><!--stopwikilink--></p><p class="rssitemtitle"><!--startwikilink:http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp--><span class="wikiexternallink"><a class="wikimodel-freestanding" href="http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp">Star City</a></span><!--stopwikilink--></p><p class="rssitemdescription">How do Americans get ready to work with Russians aboard the International Space Station?</p><p class="rssitemtitle"><!--startwikilink:http://liftoff.msfc.nasa.gov/--><span class="wikiexternallink"><a class="wikimodel-freestanding" href="http://liftoff.msfc.nasa.gov/">Space Exploration</a></span><!--stopwikilink--></p><p class="rssitemdescription">Sky watchers in Europe, Asia, and parts of Alaska and Canada.</p></div><!--stopmacro-->
+.#-----------------------------------------------------
+.expect|xwiki/2.0
+.#-----------------------------------------------------
+{{testrssmacro feed="http://some.feed.com"/}}
\ No newline at end of file
Index: xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/META-INF/plexus/components.xml
===================================================================
--- xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/META-INF/plexus/components.xml	(revision 0)
+++ xwiki-rendering-macros/xwiki-rendering-macro-rss/src/test/resources/META-INF/plexus/components.xml	(revision 0)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+-->
+
+<component-set>
+  <components>
+    <!-- Components used for testing -->
+    <component>
+      <role>org.xwiki.rendering.macro.Macro</role>
+      <role-hint>testrssmacro</role-hint>
+      <implementation>org.xwiki.rendering.macro.rss.TestRssMacro</implementation>
+      <instantiation-strategy>singleton</instantiation-strategy>
+      <requirements>
+        <requirement>
+          <role>org.xwiki.rendering.macro.Macro</role>
+          <role-hint>box</role-hint>
+          <field-name>boxMacro</field-name>
+        </requirement>
+      </requirements>
+    </component>
+  </components>
+</component-set>
