1
2
3
4
5 package com.sun.syndication.unittest;
6
7 import com.sun.syndication.feed.synd.SyndEntry;
8 import com.sun.syndication.feed.synd.SyndContent;
9 import com.sun.syndication.feed.synd.SyndEnclosure;
10 import com.sun.syndication.feed.synd.SyndLink;
11 import com.sun.syndication.io.impl.DateParser;
12
13 import java.util.List;
14 import java.util.Date;
15
16 /***
17 * @author pat
18 * @author Dave Johnson (modified for Atom 1.0)
19 *
20 */
21 public class TestSyndFeedAtom10 extends SyndFeedTest {
22
23 public TestSyndFeedAtom10() {
24 super("atom_1.0");
25 }
26
27 protected TestSyndFeedAtom10(String type) {
28 super(type);
29 }
30
31 protected TestSyndFeedAtom10(String feedType,String feedFileName) {
32 super(feedType,feedFileName);
33 }
34
35 public void testTitle() throws Exception {
36 assertProperty(getCachedSyndFeed().getTitle(),"feed.title");
37 assertProperty(getCachedSyndFeed().getTitleEx().getValue(),"feed.title");
38 assertEquals("html", getCachedSyndFeed().getTitleEx().getType());
39
40 List altLinks = getCachedSyndFeed().getLinks();
41 assertEquals(3, altLinks.size());
42
43 assertEquals("http://example.com/blog", ((SyndLink)altLinks.get(0)).getHref());
44 assertEquals("text/html", ((SyndLink)altLinks.get(0)).getType());
45
46 assertEquals("http://example.com/blog_plain", ((SyndLink)altLinks.get(1)).getHref());
47 assertEquals("text/plain", ((SyndLink)altLinks.get(1)).getType());
48 }
49
50 public void testLink() throws Exception {
51 assertEquals( getCachedSyndFeed().getLink(),"http://example.com/blog");
52 }
53
54 public void getAuthor() throws Exception {
55 assertProperty(getCachedSyndFeed().getAuthor(),"feed.author.name");
56 }
57
58 public void testCopyright() throws Exception {
59 assertProperty(getCachedSyndFeed().getCopyright(),"feed.copyright");
60 }
61
62 public void testForeignMarkup() throws Exception {
63 assertEquals(1, ((List)getCachedSyndFeed().getForeignMarkup()).size());
64 }
65
66 public void testPublishedDate() throws Exception {
67 Date d = DateParser.parseW3CDateTime("2000-01-01T00:00:00Z");
68 assertEquals(getCachedSyndFeed().getPublishedDate(),d);
69 }
70
71
72 protected void _testEntry(int i) throws Exception {
73 List items = getCachedSyndFeed().getEntries();
74 SyndEntry entry = (SyndEntry) items.get(i);
75
76 assertProperty(entry.getTitle(),"feed.entry["+i+"].title");
77 assertProperty(entry.getTitleEx().getValue(),"feed.entry["+i+"].title");
78 assertEquals("text",entry.getTitleEx().getType());
79
80 assertEquals("http://example.com/blog/entry" + (i + 1), entry.getLink());
81 assertEquals(((SyndEnclosure)entry.getEnclosures().get(0)).getUrl(),"http://example.com/blog/enclosure"+(i+1)+".gif");
82 assertProperty(entry.getAuthor(),"feed.entry["+i+"].author.name");
83 Date d = DateParser.parseW3CDateTime("2000-0"+(i+1)+"-01T01:00:00Z");
84 assertEquals(entry.getPublishedDate(),d);
85 assertProperty(entry.getDescription().getValue(),"feed.entry["+i+"].summary");
86 assertProperty(((SyndContent)entry.getContents().get(0)).getValue(),"feed.entry["+i+"].content[0]");
87 assertEquals(1, ((List)entry.getForeignMarkup()).size());
88
89 if (i == 0) {
90 List links = entry.getLinks();
91 assertEquals(4, links.size());
92
93 assertEquals("http://example.com/blog/entry1", ((SyndLink)links.get(0)).getHref());
94 assertEquals("text/html", ((SyndLink)links.get(0)).getType());
95
96 assertEquals("http://example.com/blog/entry1_plain", ((SyndLink)links.get(1)).getHref());
97 assertEquals("text/plain", ((SyndLink)links.get(1)).getType());
98
99 SyndLink slink = (SyndLink)entry.getLinks().get(3);
100 assertTrue(slink.getHref().startsWith("tag:"));
101 } else {
102 SyndLink slink = (SyndLink)entry.getLinks().get(2);
103 assertTrue(slink.getHref().startsWith("tag:"));
104
105 }
106 }
107
108 public void testEntry0() throws Exception {
109 _testEntry(0);
110 }
111
112 public void testEntry1() throws Exception {
113 _testEntry(1);
114 }
115
116 }