sr-atom-test 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. data/README.markdown +66 -0
  2. data/examples/atom-tools.rb +6 -0
  3. data/examples/atom.rb +6 -0
  4. data/tests/atom10_namespace.rb +9 -0
  5. data/tests/entry_author_email.rb +15 -0
  6. data/tests/entry_author_map_author.rb +15 -0
  7. data/tests/entry_author_map_author_2.rb +14 -0
  8. data/tests/entry_author_name.rb +18 -0
  9. data/tests/entry_author_uri.rb +19 -0
  10. data/tests/entry_category_label.rb +14 -0
  11. data/tests/entry_category_scheme.rb +14 -0
  12. data/tests/entry_category_term.rb +14 -0
  13. data/tests/entry_content_application_xml.rb +14 -0
  14. data/tests/entry_content_base64.rb +16 -0
  15. data/tests/entry_content_base64_2.rb +16 -0
  16. data/tests/entry_content_escaped_markup.rb +14 -0
  17. data/tests/entry_content_inline_markup.rb +14 -0
  18. data/tests/entry_content_inline_markup_2.rb +14 -0
  19. data/tests/entry_content_src.rb +14 -0
  20. data/tests/entry_content_text_plain.rb +14 -0
  21. data/tests/entry_content_text_plain_brackets.rb +14 -0
  22. data/tests/entry_content_type.rb +14 -0
  23. data/tests/entry_content_type_text.rb +14 -0
  24. data/tests/entry_content_value.rb +14 -0
  25. data/tests/entry_contributor_email.rb +18 -0
  26. data/tests/entry_contributor_multiple.rb +32 -0
  27. data/tests/entry_contributor_name.rb +18 -0
  28. data/tests/entry_contributor_uri.rb +18 -0
  29. data/tests/entry_id.rb +14 -0
  30. data/tests/entry_id_no_normalization_1.rb +14 -0
  31. data/tests/entry_id_no_normalization_2.rb +14 -0
  32. data/tests/entry_id_no_normalization_3.rb +14 -0
  33. data/tests/entry_id_no_normalization_4.rb +14 -0
  34. data/tests/entry_id_no_normalization_5.rb +14 -0
  35. data/tests/entry_id_no_normalization_6.rb +14 -0
  36. data/tests/entry_id_no_normalization_7.rb +14 -0
  37. data/tests/entry_link_href.rb +14 -0
  38. data/tests/entry_link_hreflang.rb +14 -0
  39. data/tests/entry_link_length.rb +14 -0
  40. data/tests/entry_link_multiple.rb +24 -0
  41. data/tests/entry_link_no_rel.rb +14 -0
  42. data/tests/entry_link_rel.rb +14 -0
  43. data/tests/entry_link_rel_other.rb +14 -0
  44. data/tests/entry_link_rel_related.rb +14 -0
  45. data/tests/entry_link_rel_self.rb +14 -0
  46. data/tests/entry_link_rel_via.rb +14 -0
  47. data/tests/entry_link_title.rb +14 -0
  48. data/tests/entry_link_type.rb +14 -0
  49. data/tests/entry_rights.rb +14 -0
  50. data/tests/entry_rights_content_value.rb +14 -0
  51. data/tests/entry_rights_escaped_markup.rb +14 -0
  52. data/tests/entry_rights_inline_markup.rb +14 -0
  53. data/tests/entry_rights_inline_markup_2.rb +14 -0
  54. data/tests/entry_rights_text_plain.rb +14 -0
  55. data/tests/entry_rights_text_plain_brackets.rb +14 -0
  56. data/tests/entry_rights_type_default.rb +14 -0
  57. data/tests/entry_rights_type_text.rb +14 -0
  58. data/tests/entry_source_author_email.rb +20 -0
  59. data/tests/entry_source_author_map_author.rb +20 -0
  60. data/tests/entry_source_author_map_author_2.rb +19 -0
  61. data/tests/entry_source_author_name.rb +20 -0
  62. data/tests/entry_source_author_uri.rb +20 -0
  63. data/tests/entry_source_category_label.rb +16 -0
  64. data/tests/entry_source_category_scheme.rb +16 -0
  65. data/tests/entry_source_category_term.rb +16 -0
  66. data/tests/entry_source_contributor_email.rb +20 -0
  67. data/tests/entry_source_contributor_multiple.rb +34 -0
  68. data/tests/entry_source_contributor_name.rb +20 -0
  69. data/tests/entry_source_contributor_uri.rb +20 -0
  70. data/tests/entry_source_generator.rb +16 -0
  71. data/tests/entry_source_generator_uri.rb +16 -0
  72. data/tests/entry_source_generator_version.rb +16 -0
  73. data/tests/entry_source_icon.rb +16 -0
  74. data/tests/entry_source_id.rb +16 -0
  75. data/tests/entry_source_link_href.rb +16 -0
  76. data/tests/entry_source_link_hreflang.rb +16 -0
  77. data/tests/entry_source_link_length.rb +16 -0
  78. data/tests/entry_source_link_multiple.rb +24 -0
  79. data/tests/entry_source_link_no_rel.rb +16 -0
  80. data/tests/entry_source_link_rel.rb +16 -0
  81. data/tests/entry_source_link_rel_other.rb +16 -0
  82. data/tests/entry_source_link_rel_related.rb +16 -0
  83. data/tests/entry_source_link_rel_self.rb +16 -0
  84. data/tests/entry_source_link_rel_via.rb +16 -0
  85. data/tests/entry_source_link_title.rb +16 -0
  86. data/tests/entry_source_link_type.rb +16 -0
  87. data/tests/entry_source_logo.rb +16 -0
  88. data/tests/entry_source_rights.rb +16 -0
  89. data/tests/entry_source_rights_content_type.rb +16 -0
  90. data/tests/entry_source_rights_content_type_text.rb +16 -0
  91. data/tests/entry_source_rights_content_value.rb +16 -0
  92. data/tests/entry_source_rights_escaped_markup.rb +16 -0
  93. data/tests/entry_source_rights_inline_markup.rb +16 -0
  94. data/tests/entry_source_rights_inline_markup_2.rb +16 -0
  95. data/tests/entry_source_rights_text_plain.rb +16 -0
  96. data/tests/entry_source_subtitle.rb +16 -0
  97. data/tests/entry_source_subtitle_content_type.rb +16 -0
  98. data/tests/entry_source_subtitle_content_type_text.rb +16 -0
  99. data/tests/entry_source_subtitle_content_value.rb +16 -0
  100. data/tests/entry_source_subtitle_escaped_markup.rb +16 -0
  101. data/tests/entry_source_subtitle_inline_markup.rb +16 -0
  102. data/tests/entry_source_subtitle_inline_markup_2.rb +16 -0
  103. data/tests/entry_source_subtitle_text_plain.rb +16 -0
  104. data/tests/entry_source_title.rb +16 -0
  105. data/tests/entry_source_title_content_type.rb +16 -0
  106. data/tests/entry_source_title_content_type_text.rb +16 -0
  107. data/tests/entry_source_title_content_value.rb +16 -0
  108. data/tests/entry_source_title_escaped_markup.rb +16 -0
  109. data/tests/entry_source_title_inline_markup.rb +16 -0
  110. data/tests/entry_source_title_inline_markup_2.rb +16 -0
  111. data/tests/entry_source_title_text_plain.rb +16 -0
  112. data/tests/entry_summary.rb +14 -0
  113. data/tests/entry_summary_content_value.rb +14 -0
  114. data/tests/entry_summary_escaped_markup.rb +14 -0
  115. data/tests/entry_summary_inline_markup.rb +14 -0
  116. data/tests/entry_summary_inline_markup_2.rb +14 -0
  117. data/tests/entry_summary_text_plain.rb +14 -0
  118. data/tests/entry_summary_type_default.rb +14 -0
  119. data/tests/entry_summary_type_text.rb +14 -0
  120. data/tests/entry_title.rb +14 -0
  121. data/tests/entry_title_content_value.rb +14 -0
  122. data/tests/entry_title_escaped_markup.rb +14 -0
  123. data/tests/entry_title_inline_markup.rb +14 -0
  124. data/tests/entry_title_inline_markup_2.rb +14 -0
  125. data/tests/entry_title_text_plain.rb +14 -0
  126. data/tests/entry_title_text_plain_brackets.rb +14 -0
  127. data/tests/entry_title_type_default.rb +14 -0
  128. data/tests/entry_title_type_text.rb +14 -0
  129. data/tests/feed_author_email.rb +16 -0
  130. data/tests/feed_author_map_author.rb +16 -0
  131. data/tests/feed_author_map_author_2.rb +15 -0
  132. data/tests/feed_author_name.rb +16 -0
  133. data/tests/feed_author_uri.rb +16 -0
  134. data/tests/feed_contributor_email.rb +16 -0
  135. data/tests/feed_contributor_multiple.rb +28 -0
  136. data/tests/feed_contributor_name.rb +16 -0
  137. data/tests/feed_contributor_uri.rb +16 -0
  138. data/tests/feed_generator.rb +12 -0
  139. data/tests/feed_generator_name.rb +12 -0
  140. data/tests/feed_generator_url.rb +12 -0
  141. data/tests/feed_generator_version.rb +12 -0
  142. data/tests/feed_icon.rb +12 -0
  143. data/tests/feed_id.rb +12 -0
  144. data/tests/feed_link_href.rb +12 -0
  145. data/tests/feed_link_hreflang.rb +12 -0
  146. data/tests/feed_link_length.rb +12 -0
  147. data/tests/feed_link_multiple.rb +21 -0
  148. data/tests/feed_link_no_rel.rb +12 -0
  149. data/tests/feed_link_rel.rb +12 -0
  150. data/tests/feed_link_rel_other.rb +12 -0
  151. data/tests/feed_link_rel_related.rb +12 -0
  152. data/tests/feed_link_rel_self.rb +12 -0
  153. data/tests/feed_link_rel_via.rb +12 -0
  154. data/tests/feed_link_title.rb +12 -0
  155. data/tests/feed_link_type.rb +12 -0
  156. data/tests/feed_logo.rb +12 -0
  157. data/tests/feed_rights.rb +12 -0
  158. data/tests/feed_rights_content_type.rb +12 -0
  159. data/tests/feed_rights_content_type_text.rb +12 -0
  160. data/tests/feed_rights_content_value.rb +12 -0
  161. data/tests/feed_rights_escaped_markup.rb +12 -0
  162. data/tests/feed_rights_inline_markup.rb +12 -0
  163. data/tests/feed_rights_inline_markup_2.rb +12 -0
  164. data/tests/feed_rights_text_plain.rb +12 -0
  165. data/tests/feed_subtitle.rb +12 -0
  166. data/tests/feed_subtitle_content_type.rb +12 -0
  167. data/tests/feed_subtitle_content_type_text.rb +12 -0
  168. data/tests/feed_subtitle_content_value.rb +12 -0
  169. data/tests/feed_subtitle_escaped_markup.rb +12 -0
  170. data/tests/feed_subtitle_inline_markup.rb +12 -0
  171. data/tests/feed_subtitle_inline_markup_2.rb +12 -0
  172. data/tests/feed_subtitle_text_plain.rb +12 -0
  173. data/tests/feed_title.rb +12 -0
  174. data/tests/feed_title_content_type.rb +12 -0
  175. data/tests/feed_title_content_type_text.rb +12 -0
  176. data/tests/feed_title_content_value.rb +12 -0
  177. data/tests/feed_title_escaped_markup.rb +12 -0
  178. data/tests/feed_title_inline_markup.rb +12 -0
  179. data/tests/feed_title_inline_markup_2.rb +12 -0
  180. data/tests/feed_title_text_plain.rb +12 -0
  181. data/tests/relative_uri.rb +12 -0
  182. data/tests/relative_uri_inherit.rb +12 -0
  183. data/tests/relative_uri_inherit_2.rb +12 -0
  184. metadata +236 -0
@@ -0,0 +1,14 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry rights with explicit type='text' contains brackets that are not markup
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <rights type="text">History of the &lt;blink&gt; tag</rights>
8
+ </entry>
9
+ </feed>
10
+ XML
11
+
12
+ test = lambda { |feed|
13
+ assert_equal 'History of the <blink> tag', feed.entries[0].rights
14
+ }
@@ -0,0 +1,14 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry rights content type defaults to 'text/plain'
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <rights>Example Atom</rights>
8
+ </entry>
9
+ </feed>
10
+ XML
11
+
12
+ test = lambda { |feed|
13
+ assert_equal 'text/plain', feed.entries[0].rights.mime_type
14
+ }
@@ -0,0 +1,14 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry rights type='text'
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <rights type="text">Example Atom</rights>
8
+ </entry>
9
+ </feed>
10
+ XML
11
+
12
+ test = lambda { |feed|
13
+ assert_equal 'text/plain', feed.entries[0].rights.mime_type
14
+ }
@@ -0,0 +1,20 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source author email
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <author>
9
+ <name>Example author</name>
10
+ <email>me@example.com</email>
11
+ <uri>http://example.com/</uri>
12
+ </author>
13
+ </source>
14
+ </entry>
15
+ </feed>
16
+ XML
17
+
18
+ test = lambda { |feed|
19
+ assert_equal 'me@example.com', feed.entries[0].source.authors.first.email
20
+ }
@@ -0,0 +1,20 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source author name + email maps to author
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <author>
9
+ <name>Example author</name>
10
+ <email>me@example.com</email>
11
+ <uri>http://example.com/</uri>
12
+ </author>
13
+ </source>
14
+ </entry>
15
+ </feed>
16
+ XML
17
+
18
+ test = lambda { |feed|
19
+ assert_equal 'Example author (me@example.com)', feed.entries[0].source.authors[0].to_s
20
+ }
@@ -0,0 +1,19 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source author name maps to author if no email present
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <author>
9
+ <name>Example author</name>
10
+ <uri>http://example.com/</uri>
11
+ </author>
12
+ </source>
13
+ </entry>
14
+ </feed>
15
+ XML
16
+
17
+ test = lambda { |feed|
18
+ assert_equal 'Example author', feed.entries[0].source.authors[0].to_s
19
+ }
@@ -0,0 +1,20 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source author name
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <author>
9
+ <name>Example author</name>
10
+ <email>me@example.com</email>
11
+ <uri>http://example.com/</uri>
12
+ </author>
13
+ </source>
14
+ </entry>
15
+ </feed>
16
+ XML
17
+
18
+ test = lambda { |feed|
19
+ assert_equal 'Example author', feed.entries[0].source.authors.first.name
20
+ }
@@ -0,0 +1,20 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source author uri
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <author>
9
+ <name>Example author</name>
10
+ <email>me@example.com</email>
11
+ <uri>http://example.com/</uri>
12
+ </author>
13
+ </source>
14
+ </entry>
15
+ </feed>
16
+ XML
17
+
18
+ test = lambda { |feed|
19
+ assert_equal 'http://example.com/', feed.entries[0].source.authors.first.uri
20
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source category label
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <category term="atom10" scheme="http://feedparser.org/tests/" label="Atom 1.0 tests"/>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'Atom 1.0 tests', feed.entries[0].source.categories[0].label
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source category scheme
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <category term="atom10" scheme="http://feedparser.org/tests/" label="Atom 1.0 tests"/>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'http://feedparser.org/tests/', feed.entries[0].source.categories[0].scheme
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source category term
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <category term="atom10" scheme="http://feedparser.org/tests/" label="Atom 1.0 tests"/>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'atom10', feed.entries[0].source.categories[0].term
16
+ }
@@ -0,0 +1,20 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source contributor email
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <contributor>
9
+ <name>Example contributor</name>
10
+ <email>me@example.com</email>
11
+ <uri>http://example.com/</uri>
12
+ </contributor>
13
+ </source>
14
+ </entry>
15
+ </feed>
16
+ XML
17
+
18
+ test = lambda { |feed|
19
+ assert_equal 'me@example.com', feed.entries[0].source.contributors[0].email
20
+ }
@@ -0,0 +1,34 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: multiple entry source contributors
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <contributor>
9
+ <name>Contributor 1</name>
10
+ <email>me@example.com</email>
11
+ <uri>http://example.com/</uri>
12
+ </contributor>
13
+ <contributor>
14
+ <name>Contributor 2</name>
15
+ <email>you@example.com</email>
16
+ <uri>http://two.example.com/</uri>
17
+ </contributor>
18
+ </source>
19
+ </entry>
20
+ </feed>
21
+ XML
22
+
23
+ test = lambda { |feed|
24
+ contributors = feed.entries[0].source.contributors
25
+
26
+ assert_equal 2, contributors.size
27
+ assert_equal 'Contributor 1', contributors[0].name
28
+ assert_equal 'me@example.com', contributors[0].email
29
+ assert_equal 'http://example.com/', contributors[0].uri
30
+
31
+ assert_equal 'Contributor 2', contributors[1].name
32
+ assert_equal 'you@example.com', contributors[1].email
33
+ assert_equal 'http://two.example.com/', contributors[1].uri
34
+ }
@@ -0,0 +1,20 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source contributor name
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <contributor>
9
+ <name>Example contributor</name>
10
+ <email>me@example.com</email>
11
+ <uri>http://example.com/</uri>
12
+ </contributor>
13
+ </source>
14
+ </entry>
15
+ </feed>
16
+ XML
17
+
18
+ test = lambda { |feed|
19
+ assert_equal 'Example contributor', feed.entries[0].source.contributors[0].name
20
+ }
@@ -0,0 +1,20 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source contributor uri
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <contributor>
9
+ <name>Example contributor</name>
10
+ <email>me@example.com</email>
11
+ <uri>http://example.com/</uri>
12
+ </contributor>
13
+ </source>
14
+ </entry>
15
+ </feed>
16
+ XML
17
+
18
+ test = lambda { |feed|
19
+ assert_equal 'http://example.com/', feed.entries[0].source.contributors[0].uri
20
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source generator
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <generator uri="http://example.com/" version="2.65">Example generator</generator>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'Example generator', feed.entries[0].source.generator.to_s
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source generator uri
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <generator uri="http://example.com/" version="2.65">Example generator</generator>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'http://example.com/', feed.entries[0].source.generator.uri
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source generator version
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <generator uri="http://example.com/" version="2.65">Example generator</generator>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal '2.65', feed.entries[0].source.generator.version
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source icon
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <icon>http://example.com/favicon.ico</icon>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'http://example.com/favicon.ico', feed.entries[0].source.icon
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source id
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <id>http://example.com/</id>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'http://example.com/', feed.entries[0].source.id
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source link href
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <link rel="alternate" type="text/html" href="http://www.example.com/"/>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'http://www.example.com/', feed.entries[0].source.links[0].href
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source link hreflang
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <link rel="alternate" type="text/html" title="Example title" href="http://www.example.com/" hreflang="en"/>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal 'en', feed.entries[0].source.links[0].hreflang
16
+ }
@@ -0,0 +1,16 @@
1
+ xml = <<XML
2
+ <!--
3
+ Description: entry source link length
4
+ -->
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+ <entry>
7
+ <source>
8
+ <link rel="enclosure" type="video/mpeg4" href="http://www.example.com/movie.mp4" length="42301"/>
9
+ </source>
10
+ </entry>
11
+ </feed>
12
+ XML
13
+
14
+ test = lambda { |feed|
15
+ assert_equal '42301', feed.entries[0].source.links[0].length
16
+ }