rfeedparser 0.9.931 → 0.9.940
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/rfeedparser.rb +143 -58
- data/lib/rfeedparser/aliases.rb +1 -1
- data/lib/rfeedparser/better_attributelist.rb +11 -11
- data/lib/rfeedparser/better_sgmlparser.rb +1 -1
- data/lib/rfeedparser/encoding_helpers.rb +120 -127
- data/lib/rfeedparser/feedparserdict.rb +30 -20
- data/lib/rfeedparser/forgiving_uri.rb +9 -7
- data/lib/rfeedparser/markup_helpers.rb +11 -14
- data/lib/rfeedparser/parser_mixin.rb +16 -11
- data/lib/rfeedparser/parsers.rb +1 -2
- data/lib/rfeedparser/scrub.rb +95 -90
- data/lib/rfeedparser/time_helpers.rb +379 -379
- data/lib/rfeedparser/utilities.rb +23 -0
- data/tests/rfeedparser_test_helper.rb +262 -0
- data/tests/rfeedparserserver.rb +3 -109
- data/tests/rfeedparsertest.rb +6 -165
- data/tests/rfponly/http/200.xml +30 -0
- data/tests/rfponly/http/220.xml +28 -0
- data/tests/rfponly/http/300.xml +8 -0
- data/tests/rfponly/http/300.xml_redirect +25 -0
- data/tests/rfponly/http/301.xml +8 -0
- data/tests/rfponly/http/301.xml_redirect +25 -0
- data/tests/rfponly/http/302.xml +8 -0
- data/tests/rfponly/http/302.xml_redirect +25 -0
- data/tests/rfponly/http/307.xml +8 -0
- data/tests/rfponly/http/307.xml_redirect +25 -0
- data/tests/rfponly/http/320.xml +8 -0
- data/tests/rfponly/http/320.xml_redirect +25 -0
- data/tests/rfponly/http/400.xml +7 -0
- data/tests/rfponly/http/404.xml +7 -0
- data/tests/rfponly/http/410.xml +7 -0
- data/tests/rfponly/http/420.xml +7 -0
- data/tests/rfponly/http/500.xml +7 -0
- data/tests/rfponly/http/520.xml +7 -0
- data/tests/rfponly/http/etag.xml +28 -0
- data/tests/rfponly/http/lastmodified.xml +29 -0
- data/tests/rfponly/wellformed/date/feed_modified_with_negative_numeric_timezone.xml +9 -0
- data/tests/rfponly/wellformed/date/feed_modified_with_positive_numeric_timezone.xml +9 -0
- data/tests/rfponly/wellformed/scrub/hpricot_self_closing_tag_workaround.xml +11 -0
- 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
|
+
<p>This is example 200, testing a normal HTTP 200 return code</p>
|
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
|
+
<p>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).</p>
|
26
|
+
</content>
|
27
|
+
</entry>
|
28
|
+
</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
|
+
<p>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).</p>
|
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
|
+
<p>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.</p>
|
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
|
+
<p>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).</p>
|
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
|
+
<p>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).</p>
|
21
|
+
</content>
|
22
|
+
</entry>
|
23
|
+
</feed>
|
24
|
+
|
25
|
+
|
@@ -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
|
+
<p>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).</p>
|
21
|
+
</content>
|
22
|
+
</entry>
|
23
|
+
</feed>
|
24
|
+
|
25
|
+
|
@@ -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
|
+
<p>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.</p>
|
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
|
+
<p>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.</p>
|
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,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.
|
7
|
-
date: 2007-
|
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.
|
3480
|
+
version: "0.6"
|
3453
3481
|
version:
|
3454
3482
|
- !ruby/object:Gem::Dependency
|
3455
3483
|
name: character-encodings
|