rfeedparser 0.9.931 → 0.9.940

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. data/lib/rfeedparser.rb +143 -58
  2. data/lib/rfeedparser/aliases.rb +1 -1
  3. data/lib/rfeedparser/better_attributelist.rb +11 -11
  4. data/lib/rfeedparser/better_sgmlparser.rb +1 -1
  5. data/lib/rfeedparser/encoding_helpers.rb +120 -127
  6. data/lib/rfeedparser/feedparserdict.rb +30 -20
  7. data/lib/rfeedparser/forgiving_uri.rb +9 -7
  8. data/lib/rfeedparser/markup_helpers.rb +11 -14
  9. data/lib/rfeedparser/parser_mixin.rb +16 -11
  10. data/lib/rfeedparser/parsers.rb +1 -2
  11. data/lib/rfeedparser/scrub.rb +95 -90
  12. data/lib/rfeedparser/time_helpers.rb +379 -379
  13. data/lib/rfeedparser/utilities.rb +23 -0
  14. data/tests/rfeedparser_test_helper.rb +262 -0
  15. data/tests/rfeedparserserver.rb +3 -109
  16. data/tests/rfeedparsertest.rb +6 -165
  17. data/tests/rfponly/http/200.xml +30 -0
  18. data/tests/rfponly/http/220.xml +28 -0
  19. data/tests/rfponly/http/300.xml +8 -0
  20. data/tests/rfponly/http/300.xml_redirect +25 -0
  21. data/tests/rfponly/http/301.xml +8 -0
  22. data/tests/rfponly/http/301.xml_redirect +25 -0
  23. data/tests/rfponly/http/302.xml +8 -0
  24. data/tests/rfponly/http/302.xml_redirect +25 -0
  25. data/tests/rfponly/http/307.xml +8 -0
  26. data/tests/rfponly/http/307.xml_redirect +25 -0
  27. data/tests/rfponly/http/320.xml +8 -0
  28. data/tests/rfponly/http/320.xml_redirect +25 -0
  29. data/tests/rfponly/http/400.xml +7 -0
  30. data/tests/rfponly/http/404.xml +7 -0
  31. data/tests/rfponly/http/410.xml +7 -0
  32. data/tests/rfponly/http/420.xml +7 -0
  33. data/tests/rfponly/http/500.xml +7 -0
  34. data/tests/rfponly/http/520.xml +7 -0
  35. data/tests/rfponly/http/etag.xml +28 -0
  36. data/tests/rfponly/http/lastmodified.xml +29 -0
  37. data/tests/rfponly/wellformed/date/feed_modified_with_negative_numeric_timezone.xml +9 -0
  38. data/tests/rfponly/wellformed/date/feed_modified_with_positive_numeric_timezone.xml +9 -0
  39. data/tests/rfponly/wellformed/scrub/hpricot_self_closing_tag_workaround.xml +11 -0
  40. metadata +31 -3
@@ -0,0 +1,30 @@
1
+ <!--
2
+ Status: 200
3
+ Description: return 200 status code
4
+ Expect: not bozo and len(entries) == 1 and status == "200"
5
+ -->
6
+ <feed xmlns="http://www.w3.org/2005/Atom">
7
+ <title>Feed 200</title>
8
+ <subtitle>Feed subtitle 200</subtitle>
9
+ <link rel="alternate" type="text/html" href="http://example.com/200"/>
10
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/200.xml"/>
11
+ <id>http://diveintomark.org/tests/client/http/200.xml</id>
12
+ <updated>2006-01-18T00:00:00Z</updated>
13
+ <entry>
14
+ <author>
15
+ <name>Example feed author</name>
16
+ <uri>http://url.example.com/</uri>
17
+ <email>f8dy@example.com</email>
18
+ </author>
19
+ <updated>2006-01-18T00:00:00Z</updated>
20
+ <published>2003-07-22T00:30:00Z</published>
21
+ <title>Example item 200</title>
22
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/200"/>
23
+ <id>http://example.com/entry/id/200</id>
24
+ <content type="html">
25
+ &lt;p&gt;This is example 200, testing a normal HTTP 200 return code&lt;/p&gt;
26
+ </content>
27
+ </entry>
28
+ </feed>
29
+
30
+
@@ -0,0 +1,28 @@
1
+ <!--
2
+ Status: 220
3
+ Description: return 220 status code which is unknown but successful, so interpret it as 200
4
+ Expect: not bozo and len(entries) == 1 and status == "220"
5
+ -->
6
+ <feed xmlns="http://www.w3.org/2005/Atom">
7
+ <title>Feed 220</title>
8
+ <subtitle>Feed subtitle 220</subtitle>
9
+ <link rel="alternate" type="text/html" href="http://example.com/220"/>
10
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/220.xml"/>
11
+ <id>http://diveintomark.org/tests/client/http/220.xml</id>
12
+ <updated>2006-01-18T00:00:00Z</updated>
13
+ <entry>
14
+ <author>
15
+ <name>Example feed author</name>
16
+ <uri>http://url.example.com/</uri>
17
+ <email>f8dy@example.com</email>
18
+ </author>
19
+ <updated>2006-01-18T00:00:00Z</updated>
20
+ <published>2003-07-22T00:30:00Z</published>
21
+ <title>Example item 220</title>
22
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/220"/>
23
+ <id>http://example.com/entry/id/220</id>
24
+ <content type="html">
25
+ &lt;p&gt;This is example 220, testing a bogus HTTP 220 return code. RFC 2616 states that all unknown HTTP codes must be treated the same as the base code in their class. So 220 must be treated the same as 200 (i.e. feed accepted and parsed normally).&lt;/p&gt;
26
+ </content>
27
+ </entry>
28
+ </feed>
@@ -0,0 +1,8 @@
1
+ <!--
2
+ Status: 300
3
+ Header: Location: http://127.0.0.1:8097/tests/rfponly/http/300.xml_redirect
4
+ Description: return 300 status code
5
+ Expect: bozo and status == "300"
6
+ -->
7
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
8
+ </feed>
@@ -0,0 +1,25 @@
1
+ <feed xmlns="http://www.w3.org/2005/Atom">
2
+ <title>Feed 300</title>
3
+ <subtitle>Feed subtitle 300</subtitle>
4
+ <link rel="alternate" type="text/html" href="http://example.com/300"/>
5
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/300_redirect.xml"/>
6
+ <id>http://diveintomark.org/tests/client/http/300_redirect.xml</id>
7
+ <updated>2006-01-18T00:00:00Z</updated>
8
+ <entry>
9
+ <author>
10
+ <name>Example feed author</name>
11
+ <uri>http://url.example.com/</uri>
12
+ <email>f8dy@example.com</email>
13
+ </author>
14
+ <updated>2006-01-18T00:00:00Z</updated>
15
+ <published>2003-07-22T00:30:00Z</published>
16
+ <title>Example item 300</title>
17
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/300"/>
18
+ <id>http://example.com/entry/id/300</id>
19
+ <content type="html">
20
+ &lt;p&gt;This is example 300, testing an HTTP 300 return code. This feed has temporarily moved. Since you're seeing this, the redirect has succeeded. Now, the client should not update its address of this feed. Subsequent polling should still be done at the old address, no matter how long that feed "temporarily" redirects to this address (or any other address).&lt;/p&gt;
21
+ </content>
22
+ </entry>
23
+ </feed>
24
+
25
+
@@ -0,0 +1,8 @@
1
+ <!--
2
+ Status: 301
3
+ Header: Location: http://127.0.0.1:8097/tests/rfponly/http/301.xml_redirect
4
+ Description: return 301 redirected feed
5
+ Expect: not bozo and status == "200" and feed.title == "Feed 301"
6
+ -->
7
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
8
+ </feed>
@@ -0,0 +1,25 @@
1
+ <feed xmlns="http://www.w3.org/2005/Atom">
2
+ <title>Feed 301</title>
3
+ <subtitle>Feed subtitle 301</subtitle>
4
+ <link rel="alternate" type="text/html" href="http://example.com/301"/>
5
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/301_redirect.xml"/>
6
+ <id>http://diveintomark.org/tests/client/http/301_redirect.xml</id>
7
+ <updated>2006-01-18T00:00:00Z</updated>
8
+ <entry>
9
+ <author>
10
+ <name>Example feed author</name>
11
+ <uri>http://url.example.com/</uri>
12
+ <email>f8dy@example.com</email>
13
+ </author>
14
+ <updated>2006-01-18T00:00:00Z</updated>
15
+ <published>2003-07-22T00:30:00Z</published>
16
+ <title>Example item 301</title>
17
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/301"/>
18
+ <id>http://example.com/entry/id/301</id>
19
+ <content type="html">
20
+ &lt;p&gt;This is example 301, testing an HTTP 301 return code. This feed has permanently moved. Since you are reading this, the redirection part of the test was successful. Now, the client should update its address of this feed, and poll this new location hereafter.&lt;/p&gt;
21
+ </content>
22
+ </entry>
23
+ </feed>
24
+
25
+
@@ -0,0 +1,8 @@
1
+ <!--
2
+ Status: 302
3
+ Header: Location: http://127.0.0.1:8097/tests/rfponly/http/302.xml_redirect
4
+ Description: return 302 redirected feed
5
+ Expect: not bozo and status == "200" and feed.title == "Feed 302"
6
+ -->
7
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
8
+ </feed>
@@ -0,0 +1,25 @@
1
+ <feed xmlns="http://www.w3.org/2005/Atom">
2
+ <title>Feed 302</title>
3
+ <subtitle>Feed subtitle 302</subtitle>
4
+ <link rel="alternate" type="text/html" href="http://example.com/302"/>
5
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/302_redirect.xml"/>
6
+ <id>http://diveintomark.org/tests/client/http/302_redirect.xml</id>
7
+ <updated>2006-01-18T00:00:00Z</updated>
8
+ <entry>
9
+ <author>
10
+ <name>Example feed author</name>
11
+ <uri>http://url.example.com/</uri>
12
+ <email>f8dy@example.com</email>
13
+ </author>
14
+ <updated>2006-01-18T00:00:00Z</updated>
15
+ <published>2003-07-22T00:30:00Z</published>
16
+ <title>Example item 302</title>
17
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/302"/>
18
+ <id>http://example.com/entry/id/302</id>
19
+ <content type="html">
20
+ &lt;p&gt;This is example 302, testing an HTTP 302 return code. This feed has temporarily moved. Since you're seeing this, the redirect has succeeded. Now, the client should not update its address of this feed. Subsequent polling should still be done at the old address, no matter how long that feed "temporarily" redirects to this address (or any other address).&lt;/p&gt;
21
+ </content>
22
+ </entry>
23
+ </feed>
24
+
25
+
@@ -0,0 +1,8 @@
1
+ <!--
2
+ Status: 307
3
+ Header: Location: http://127.0.0.1:8097/tests/rfponly/http/307.xml_redirect
4
+ Description: return 307 redirected feed
5
+ Expect: not bozo and status == "200" and feed.title == "Feed 307"
6
+ -->
7
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
8
+ </feed>
@@ -0,0 +1,25 @@
1
+ <feed xmlns="http://www.w3.org/2005/Atom">
2
+ <title>Feed 307</title>
3
+ <subtitle>Feed subtitle 307</subtitle>
4
+ <link rel="alternate" type="text/html" href="http://example.com/307"/>
5
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/307_redirect.xml"/>
6
+ <id>http://diveintomark.org/tests/client/http/307_redirect.xml</id>
7
+ <updated>2006-01-18T00:00:00Z</updated>
8
+ <entry>
9
+ <author>
10
+ <name>Example feed author</name>
11
+ <uri>http://url.example.com/</uri>
12
+ <email>f8dy@example.com</email>
13
+ </author>
14
+ <updated>2006-01-18T00:00:00Z</updated>
15
+ <published>2003-07-22T00:30:00Z</published>
16
+ <title>Example item 307</title>
17
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/307"/>
18
+ <id>http://example.com/entry/id/307</id>
19
+ <content type="html">
20
+ &lt;p&gt;This is example 307, testing an HTTP 307 return code. This feed has temporarily moved. Since you're seeing this, the redirect has succeeded. Now, the client should not update its address of this feed. Subsequent polling should still be done at the old address, no matter how long that feed "temporarily" redirects to this address (or any other address).&lt;/p&gt;
21
+ </content>
22
+ </entry>
23
+ </feed>
24
+
25
+
@@ -0,0 +1,8 @@
1
+ <!--
2
+ Status: 320
3
+ Header: Location: http://127.0.0.1:8097/tests/rfponly/http/320.xml_redirect
4
+ Description: return 320 status code
5
+ Expect: bozo and status == "320"
6
+ -->
7
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
8
+ </feed>
@@ -0,0 +1,25 @@
1
+ <feed xmlns="http://www.w3.org/2005/Atom">
2
+ <title>Feed 320</title>
3
+ <subtitle>Feed subtitle 320</subtitle>
4
+ <link rel="alternate" type="text/html" href="http://example.com/320"/>
5
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/320_redirect.xml"/>
6
+ <id>http://diveintomark.org/tests/client/http/320_redirect.xml</id>
7
+ <updated>2006-01-18T00:00:00Z</updated>
8
+ <entry>
9
+ <author>
10
+ <name>Example feed author</name>
11
+ <uri>http://url.example.com/</uri>
12
+ <email>f8dy@example.com</email>
13
+ </author>
14
+ <updated>2006-01-18T00:00:00Z</updated>
15
+ <published>2003-07-22T00:30:00Z</published>
16
+ <title>Example item 320</title>
17
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/320"/>
18
+ <id>http://example.com/entry/id/320</id>
19
+ <content type="html">
20
+ &lt;p&gt;This is example 320, testing a bogus HTTP 320 return code. This feed has temporarily moved. Since you're seeing this, the redirect has succeeded. Now, the client should not update its address of this feed. Subsequent polling should still be done at the old address, no matter how long that feed "temporarily" redirects to this address (or any other address).&lt;/p&gt;
21
+ </content>
22
+ </entry>
23
+ </feed>
24
+
25
+
@@ -0,0 +1,7 @@
1
+ <!--
2
+ Status: 400
3
+ Description: return 400 status code
4
+ Expect: bozo and status == "400"
5
+ -->
6
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
7
+ </feed>
@@ -0,0 +1,7 @@
1
+ <!--
2
+ Status: 404
3
+ Description: return 404 status code
4
+ Expect: bozo and status == "404"
5
+ -->
6
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
7
+ </feed>
@@ -0,0 +1,7 @@
1
+ <!--
2
+ Status: 410
3
+ Description: return 410 status code
4
+ Expect: bozo and status == "410"
5
+ -->
6
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
7
+ </feed>
@@ -0,0 +1,7 @@
1
+ <!--
2
+ Status: 420
3
+ Description: return 420 status code
4
+ Expect: bozo and status == "420"
5
+ -->
6
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
7
+ </feed>
@@ -0,0 +1,7 @@
1
+ <!--
2
+ Status: 500
3
+ Description: return 500 status code
4
+ Expect: bozo and status == "500"
5
+ -->
6
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
7
+ </feed>
@@ -0,0 +1,7 @@
1
+ <!--
2
+ Status: 520
3
+ Description: return 520 status code
4
+ Expect: bozo and status == "520"
5
+ -->
6
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
7
+ </feed>
@@ -0,0 +1,28 @@
1
+ <!--
2
+ Header: ETag: OMGWTFBBQ
3
+ Description: test etag conditional fetching works
4
+ Expect: feed.title == "Feed Etag" and etag == "OMGWTFBBQ" and FeedParser.parse("http://127.0.0.1:8097/tests/rfponly/http/etag.xml", {:etag => etag}).status == "304"
5
+ -->
6
+ <feed xmlns="http://www.w3.org/2005/Atom">
7
+ <title>Feed Etag</title>
8
+ <subtitle>Feed subtitle Etag</subtitle>
9
+ <link rel="alternate" type="text/html" href="http://example.com/Etag"/>
10
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/etag.xml"/>
11
+ <id>http://diveintomark.org/tests/client/http/etag.xml</id>
12
+ <updated>2006-01-18T00:00:00Z</updated>
13
+ <entry>
14
+ <author>
15
+ <name>Example feed author</name>
16
+ <uri>http://url.example.com/</uri>
17
+ <email>f8dy@example.com</email>
18
+ </author>
19
+ <updated>2006-01-18T00:00:00Z</updated>
20
+ <published>2003-07-22T21:10:26Z</published>
21
+ <title>Example item Etag</title>
22
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/Etag"/>
23
+ <id>http://example.com/entry/id/Etag</id>
24
+ <content type="html">
25
+ &lt;p&gt;This is example Etag, testing If-None-Match/Etag support. After initial request, client should send If-None-Match header on request with value of the Etag header that was returned on the previous reply. Subsequent reply of HTTP code 304 indicates the feed has not changed since last polled.&lt;/p&gt;
26
+ </content>
27
+ </entry>
28
+ </feed>
@@ -0,0 +1,29 @@
1
+ <!--
2
+ Description: last-modified conditional fetching works
3
+ Expect: not bozo and modified_time.httpdate == File.stat('tests/rfponly/http/lastmodified.xml').mtime.httpdate and FeedParser.parse('http://127.0.0.1:8097/tests/rfponly/http/lastmodified.xml', {:modified => modified_time}).status == "304"
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <title>Feed LastUpdated</title>
7
+ <subtitle>Feed subtitle LastModified</subtitle>
8
+ <link rel="alternate" type="text/html" href="http://example.com/LastModified"/>
9
+ <link rel="self" type="application/atom+xml" href="http://diveintomark.org/tests/client/http/lastmodified.xml"/>
10
+ <id>http://diveintomark.org/tests/client/http/lastmodified.xml</id>
11
+ <updated>2006-01-18T00:00:00Z</updated>
12
+ <entry>
13
+ <author>
14
+ <name>Example feed author</name>
15
+ <uri>http://url.example.com/</uri>
16
+ <email>f8dy@example.com</email>
17
+ </author>
18
+ <updated>2006-01-18T00:00:00Z</updated>
19
+ <published>2003-07-22T21:10:26Z</published>
20
+ <title>Example item LastModified</title>
21
+ <link rel="alternate" type="text/html" href="http://example.com/entry/link/LastModified"/>
22
+ <id>http://example.com/entry/id/LastModified</id>
23
+ <content type="html">
24
+ &lt;p&gt;This is example LastModified, testing If-Modified-Since/Last-Modified support. After initial request, client should send If-Modified-Since header on request with value of the Last-Modified header that was returned on the previous reply. Subsequent reply of HTTP code 304 indicates the feed has not changed since last polled.&lt;/p&gt;
25
+ </content>
26
+ </entry>
27
+ </feed>
28
+
29
+
@@ -0,0 +1,9 @@
1
+ <!--
2
+ Description: normal modified with negative numeric timezone
3
+ Expect: not bozo and feed['modified_parsed'] == (2004, 1, 1, 16, 48, 21, 3, 1, 0)
4
+ -->
5
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
6
+
7
+ <modified>Thu, 01 Jan 2004 11:48:21 -0500</modified>
8
+
9
+ </feed>
@@ -0,0 +1,9 @@
1
+ <!--
2
+ Description: normal modified
3
+ Expect: not bozo and feed['modified_parsed'] == (2004, 1, 1, 14, 48, 21, 3, 1, 0)
4
+ -->
5
+ <feed version="0.3" xmlns="http://purl.org/atom/ns#">
6
+
7
+ <modified>Thu, 01 Jan 2004 19:48:21 +0500</modified>
8
+
9
+ </feed>
@@ -0,0 +1,11 @@
1
+ <!--
2
+ Description: param should not be left behind (workaround for Hpricot bug in 0.5 and 0.6)
3
+ Expect: not bozo and entries[0]['description'] == u'<p>Okay</p>'
4
+ -->
5
+ <rss version="2.0">
6
+ <channel>
7
+ <item>
8
+ <description><![CDATA[<param></param><param></param><p>Okay</p>]]></description>
9
+ </item>
10
+ </channel>
11
+ </rss>
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: rfeedparser
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.9.931
7
- date: 2007-07-21 00:00:00 -07:00
6
+ version: 0.9.940
7
+ date: 2007-11-03 00:00:00 -07:00
8
8
  summary: Parse RSS and Atom feeds in Ruby
9
9
  require_paths:
10
10
  - lib
@@ -41,6 +41,7 @@ files:
41
41
  - lib/rfeedparser/parsers.rb
42
42
  - lib/rfeedparser/scrub.rb
43
43
  - lib/rfeedparser/time_helpers.rb
44
+ - lib/rfeedparser/utilities.rb
44
45
  - lib/rfeedparser.rb
45
46
  - tests/illformed
46
47
  - tests/illformed/amp
@@ -1820,13 +1821,40 @@ files:
1820
1821
  - tests/illformed/sanitize/item_xhtml_body_script.xml
1821
1822
  - tests/illformed/sanitize/item_xhtml_body_script_map_content.xml
1822
1823
  - tests/illformed/sanitize/item_xhtml_body_style.xml
1824
+ - tests/rfeedparser_test_helper.rb
1823
1825
  - tests/rfeedparserserver.rb
1824
1826
  - tests/rfeedparsertest.rb
1825
1827
  - tests/rfponly
1828
+ - tests/rfponly/http
1829
+ - tests/rfponly/http/200.xml
1830
+ - tests/rfponly/http/220.xml
1831
+ - tests/rfponly/http/300.xml
1832
+ - tests/rfponly/http/300.xml_redirect
1833
+ - tests/rfponly/http/301.xml
1834
+ - tests/rfponly/http/301.xml_redirect
1835
+ - tests/rfponly/http/302.xml
1836
+ - tests/rfponly/http/302.xml_redirect
1837
+ - tests/rfponly/http/307.xml
1838
+ - tests/rfponly/http/307.xml_redirect
1839
+ - tests/rfponly/http/320.xml
1840
+ - tests/rfponly/http/320.xml_redirect
1841
+ - tests/rfponly/http/400.xml
1842
+ - tests/rfponly/http/404.xml
1843
+ - tests/rfponly/http/410.xml
1844
+ - tests/rfponly/http/420.xml
1845
+ - tests/rfponly/http/500.xml
1846
+ - tests/rfponly/http/520.xml
1847
+ - tests/rfponly/http/etag.xml
1848
+ - tests/rfponly/http/lastmodified.xml
1826
1849
  - tests/rfponly/wellformed
1850
+ - tests/rfponly/wellformed/date
1851
+ - tests/rfponly/wellformed/date/feed_modified_with_negative_numeric_timezone.xml
1852
+ - tests/rfponly/wellformed/date/feed_modified_with_positive_numeric_timezone.xml
1827
1853
  - tests/rfponly/wellformed/mrss
1828
1854
  - tests/rfponly/wellformed/mrss/mrss_media_content.xml
1829
1855
  - tests/rfponly/wellformed/mrss/mrss_thumbnail.xml
1856
+ - tests/rfponly/wellformed/scrub
1857
+ - tests/rfponly/wellformed/scrub/hpricot_self_closing_tag_workaround.xml
1830
1858
  - tests/wellformed
1831
1859
  - tests/wellformed/amp
1832
1860
  - tests/wellformed/amp/amp01.xml
@@ -3449,7 +3477,7 @@ dependencies:
3449
3477
  requirements:
3450
3478
  - - "="
3451
3479
  - !ruby/object:Gem::Version
3452
- version: "0.5"
3480
+ version: "0.6"
3453
3481
  version:
3454
3482
  - !ruby/object:Gem::Dependency
3455
3483
  name: character-encodings