Exemplo n.º 1
0
        public void GetItemsForFeedWithRssRdfv091()
        {
            using (var stream = Resources.Resource.GetResourceAsStream("TestFeeds.rss_rdf_0_91.xml"))
            {
                NewsFeed f = new NewsFeed();
                f.link = TEST_BASE_URL + "rss_rdf_0_91.xml";
                var feedInfo = RssParser.GetItemsForFeed(f, stream, false, true);
                Assert.IsNotNull(feedInfo);
                Assert.IsNotNull(feedInfo.ItemsList);
                Assert.AreEqual(40, feedInfo.ItemsList.Count);
                Assert.AreEqual(new DateTime(2013, 9, 12, 12, 0, 0, DateTimeKind.Utc), feedInfo.ItemsList[39].Date);

                string requestUrl = null;
                var    xElem      = RssHelper.GetOptionalElement(feedInfo.OptionalElements, "image");
                if (xElem != null)
                {
                    var urlNode = xElem.SelectSingleNode("url");
                    if (urlNode != null)
                    {
                        requestUrl = urlNode.InnerText;
                    }
                }

                Assert.AreEqual("http://www.golem.de/staticrl/images/golem-rss.png", requestUrl);
            }
        }
Exemplo n.º 2
0
        public void GetItemsForFeedWithRssv20NoDates()
        {
            using (var stream = Resources.Resource.GetResourceAsStream("TestFeeds.rss_2_0_no_dates.xml"))
            {
                // ensure the self-assigned item dates are all older than this:
                DateTime utcNow = DateTime.UtcNow + TimeSpan.FromMinutes(1);
                NewsFeed f      = new NewsFeed();
                f.link = TEST_BASE_URL + "rss_2_0_no_dates.xml";
                var feedInfo = RssParser.GetItemsForFeed(f, stream, false, true);
                Assert.IsNotNull(feedInfo);
                Assert.IsNotNull(feedInfo.ItemsList);
                Assert.AreEqual(10, feedInfo.ItemsList.Count);

                INewsItem recent = null;
                foreach (var item in feedInfo.ItemsList)
                {
                    // items ordered newest first:
                    Assert.IsTrue(item.Date < utcNow);
                    if (recent != null)
                    {
                        Assert.IsTrue(item.Date < recent.Date);
                    }
                    recent = item;
                }

                string optElement = null;
                var    xElem      = RssHelper.GetOptionalElement(feedInfo.OptionalElements, "ttl");
                if (xElem != null)
                {
                    optElement = xElem.InnerText;
                }
                Assert.AreEqual("60", optElement);

                optElement = null;
                xElem      = RssHelper.GetOptionalElement(feedInfo.OptionalElements, "managingEditor");
                if (xElem != null)
                {
                    optElement = xElem.InnerText;
                }
                Assert.AreEqual("*****@*****.**", optElement);

                optElement = null;
                xElem      = RssHelper.GetOptionalElement(feedInfo.OptionalElements, "copyright");
                if (xElem != null)
                {
                    optElement = xElem.InnerText;
                }
                Assert.AreEqual("Copyright 2008 Ziff Davis Media Inc. All Rights Reserved.", optElement);
            }
        }