001: /*
002: * (C) Janne Jalkanen 2005
003: *
004: */
005: package com.ecyrd.jspwiki.rss;
006:
007: import java.io.File;
008: import java.util.Date;
009: import java.util.List;
010: import java.util.Properties;
011:
012: import com.ecyrd.jspwiki.TestEngine;
013: import com.ecyrd.jspwiki.WikiContext;
014: import com.ecyrd.jspwiki.WikiEngine;
015: import com.ecyrd.jspwiki.plugin.WeblogEntryPlugin;
016: import com.ecyrd.jspwiki.plugin.WeblogPlugin;
017: import com.ecyrd.jspwiki.providers.FileSystemProvider;
018:
019: import junit.framework.Test;
020: import junit.framework.TestCase;
021: import junit.framework.TestSuite;
022:
023: /**
024: * @author jalkanen
025: *
026: * @since
027: */
028: public class RSSGeneratorTest extends TestCase {
029: TestEngine m_testEngine;
030: Properties props = new Properties();
031:
032: public RSSGeneratorTest(String arg0) {
033: super (arg0);
034: }
035:
036: protected void setUp() throws Exception {
037: props.load(TestEngine.findTestProperties());
038:
039: props.setProperty(WikiEngine.PROP_BASEURL, "http://localhost/");
040: props.setProperty(RSSGenerator.PROP_GENERATE_RSS, "true");
041: m_testEngine = new TestEngine(props);
042: }
043:
044: protected void tearDown() throws Exception {
045: TestEngine.deleteAll(new File(props
046: .getProperty(FileSystemProvider.PROP_PAGEDIR)));
047: }
048:
049: public void testBlogRSS() throws Exception {
050: WeblogEntryPlugin plugin = new WeblogEntryPlugin();
051: m_testEngine.saveText("TestBlog", "Foo1");
052:
053: String newPage = plugin.getNewEntryPage(m_testEngine,
054: "TestBlog");
055: m_testEngine.saveText(newPage, "!Title1\r\nFoo");
056:
057: newPage = plugin.getNewEntryPage(m_testEngine, "TestBlog");
058: m_testEngine.saveText(newPage, "!Title2\r\n__Bar__");
059:
060: RSSGenerator gen = m_testEngine.getRSSGenerator();
061:
062: WikiContext context = new WikiContext(m_testEngine,
063: m_testEngine.getPage("TestBlog"));
064:
065: WeblogPlugin blogplugin = new WeblogPlugin();
066:
067: List entries = blogplugin.findBlogEntries(m_testEngine
068: .getPageManager(), "TestBlog", new Date(0), new Date(
069: Long.MAX_VALUE));
070:
071: Feed feed = new RSS10Feed(context);
072: String blog = gen.generateBlogRSS(context, entries, feed);
073:
074: assertTrue("has Foo", blog
075: .indexOf("<description>Foo</description>") != -1);
076: assertTrue("has proper Bar", blog
077: .indexOf("<b>Bar</b>") != -1);
078: }
079:
080: public void testBlogRSS2() throws Exception {
081: WeblogEntryPlugin plugin = new WeblogEntryPlugin();
082: m_testEngine.saveText("TestBlog", "Foo1");
083:
084: String newPage = plugin.getNewEntryPage(m_testEngine,
085: "TestBlog");
086: m_testEngine.saveText(newPage, "!Title1\r\nFoo \"blah\".");
087:
088: newPage = plugin.getNewEntryPage(m_testEngine, "TestBlog");
089: m_testEngine.saveText(newPage, "!Title2\r\n__Bar__");
090:
091: RSSGenerator gen = m_testEngine.getRSSGenerator();
092:
093: WikiContext context = new WikiContext(m_testEngine,
094: m_testEngine.getPage("TestBlog"));
095:
096: WeblogPlugin blogplugin = new WeblogPlugin();
097:
098: List entries = blogplugin.findBlogEntries(m_testEngine
099: .getPageManager(), "TestBlog", new Date(0), new Date(
100: Long.MAX_VALUE));
101:
102: Feed feed = new RSS20Feed(context);
103: String blog = gen.generateBlogRSS(context, entries, feed);
104:
105: assertTrue(
106: "has Foo",
107: blog
108: .indexOf("<description>Foo &quot;blah&quot;.</description>") != -1);
109: assertTrue("has proper Bar", blog
110: .indexOf("<b>Bar</b>") != -1);
111: }
112:
113: public static Test suite() {
114: return new TestSuite(RSSGeneratorTest.class);
115: }
116:
117: }
|