rss 0.2.9 → 0.3.0

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +38 -0
  3. data/README.md +11 -11
  4. data/lib/rss/itunes.rb +10 -1
  5. data/lib/rss/maker/itunes.rb +2 -0
  6. data/lib/rss/rss.rb +43 -15
  7. data/lib/rss/utils.rb +0 -18
  8. data/lib/rss/version.rb +1 -1
  9. data/lib/rss/xml-stylesheet.rb +3 -4
  10. data/lib/rss/xml.rb +3 -2
  11. data/lib/rss.rb +11 -11
  12. metadata +7 -101
  13. data/Gemfile +0 -6
  14. data/Rakefile +0 -15
  15. data/rss.gemspec +0 -30
  16. data/test/dot.png +0 -0
  17. data/test/rss-assertions.rb +0 -2116
  18. data/test/rss-testcase.rb +0 -479
  19. data/test/run-test.rb +0 -15
  20. data/test/test_1.0.rb +0 -308
  21. data/test/test_2.0.rb +0 -412
  22. data/test/test_accessor.rb +0 -104
  23. data/test/test_atom.rb +0 -684
  24. data/test/test_content.rb +0 -105
  25. data/test/test_dublincore.rb +0 -270
  26. data/test/test_image.rb +0 -215
  27. data/test/test_inherit.rb +0 -41
  28. data/test/test_itunes.rb +0 -360
  29. data/test/test_maker_0.9.rb +0 -477
  30. data/test/test_maker_1.0.rb +0 -519
  31. data/test/test_maker_2.0.rb +0 -758
  32. data/test/test_maker_atom_entry.rb +0 -394
  33. data/test/test_maker_atom_feed.rb +0 -455
  34. data/test/test_maker_content.rb +0 -48
  35. data/test/test_maker_dc.rb +0 -150
  36. data/test/test_maker_image.rb +0 -63
  37. data/test/test_maker_itunes.rb +0 -488
  38. data/test/test_maker_slash.rb +0 -38
  39. data/test/test_maker_sy.rb +0 -45
  40. data/test/test_maker_taxo.rb +0 -82
  41. data/test/test_maker_trackback.rb +0 -42
  42. data/test/test_maker_xml-stylesheet.rb +0 -84
  43. data/test/test_parser.rb +0 -122
  44. data/test/test_parser_1.0.rb +0 -529
  45. data/test/test_parser_2.0.rb +0 -123
  46. data/test/test_parser_atom_entry.rb +0 -164
  47. data/test/test_parser_atom_feed.rb +0 -277
  48. data/test/test_setup_maker_0.9.rb +0 -247
  49. data/test/test_setup_maker_1.0.rb +0 -551
  50. data/test/test_setup_maker_2.0.rb +0 -309
  51. data/test/test_setup_maker_atom_entry.rb +0 -410
  52. data/test/test_setup_maker_atom_feed.rb +0 -446
  53. data/test/test_setup_maker_itunes.rb +0 -146
  54. data/test/test_setup_maker_slash.rb +0 -39
  55. data/test/test_slash.rb +0 -65
  56. data/test/test_syndication.rb +0 -126
  57. data/test/test_taxonomy.rb +0 -173
  58. data/test/test_to_s.rb +0 -701
  59. data/test/test_trackback.rb +0 -136
  60. data/test/test_xml-stylesheet.rb +0 -109
@@ -1,477 +0,0 @@
1
- # frozen_string_literal: false
2
- require_relative "rss-testcase"
3
-
4
- require "rss/maker"
5
-
6
- module RSS
7
- class TestMaker09 < TestCase
8
- def test_supported?
9
- assert(RSS::Maker.supported?("0.9"))
10
- assert(RSS::Maker.supported?("rss0.9"))
11
- assert(RSS::Maker.supported?("0.91"))
12
- assert(RSS::Maker.supported?("rss0.91"))
13
- assert(RSS::Maker.supported?("0.92"))
14
- assert(RSS::Maker.supported?("rss0.92"))
15
- assert(!RSS::Maker.supported?("0.93"))
16
- assert(!RSS::Maker.supported?("rss0.93"))
17
- end
18
-
19
- def test_find_class
20
- assert_equal(RSS::Maker::RSS091, RSS::Maker["0.91"])
21
- assert_equal(RSS::Maker::RSS091, RSS::Maker["rss0.91"])
22
- assert_equal(RSS::Maker::RSS092, RSS::Maker["0.9"])
23
- assert_equal(RSS::Maker::RSS092, RSS::Maker["0.92"])
24
- assert_equal(RSS::Maker::RSS092, RSS::Maker["rss0.92"])
25
- end
26
-
27
- def test_rss
28
- assert_raise(LocalJumpError) do
29
- RSS::Maker.make("0.91")
30
- end
31
-
32
- rss = RSS::Maker.make("0.9") do |maker|
33
- setup_dummy_channel(maker)
34
- setup_dummy_image(maker)
35
- end
36
- assert_equal("0.92", rss.rss_version)
37
-
38
- rss = RSS::Maker.make("0.91") do |maker|
39
- setup_dummy_channel(maker)
40
- setup_dummy_image(maker)
41
- end
42
- assert_equal("0.91", rss.rss_version)
43
-
44
-
45
- rss = RSS::Maker.make("0.91") do |maker|
46
- setup_dummy_channel(maker)
47
- setup_dummy_image(maker)
48
-
49
- maker.encoding = "EUC-JP"
50
- end
51
- assert_equal("0.91", rss.rss_version)
52
- assert_equal("EUC-JP", rss.encoding)
53
-
54
- rss = RSS::Maker.make("0.91") do |maker|
55
- setup_dummy_channel(maker)
56
- setup_dummy_image(maker)
57
-
58
- maker.standalone = "yes"
59
- end
60
- assert_equal("0.91", rss.rss_version)
61
- assert_equal("yes", rss.standalone)
62
-
63
- rss = RSS::Maker.make("0.91") do |maker|
64
- setup_dummy_channel(maker)
65
- setup_dummy_image(maker)
66
-
67
- maker.encoding = "EUC-JP"
68
- maker.standalone = "yes"
69
- end
70
- assert_equal("0.91", rss.rss_version)
71
- assert_equal("EUC-JP", rss.encoding)
72
- assert_equal("yes", rss.standalone)
73
- end
74
-
75
- def test_channel
76
- title = "fugafuga"
77
- link = "http://hoge.com"
78
- description = "fugafugafugafuga"
79
- language = "ja"
80
- copyright = "foo"
81
- managingEditor = "bar"
82
- webMaster = "web master"
83
- rating = '(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" for "http://www.rsac.org" on "1996.04.16T08:15-0500" r (n 0 s 0 v 0 l 0))'
84
- docs = "http://foo.com/doc"
85
- skipDays = [
86
- "Sunday",
87
- "Monday",
88
- ]
89
- skipHours = [
90
- "0",
91
- "13",
92
- ]
93
- pubDate = Time.now
94
- lastBuildDate = Time.now
95
-
96
- image_url = "http://example.com/logo.png"
97
- image_title = "Logo"
98
-
99
- rss = RSS::Maker.make("0.91") do |maker|
100
- maker.channel.title = title
101
- maker.channel.link = link
102
- maker.channel.description = description
103
- maker.channel.language = language
104
- maker.channel.copyright = copyright
105
- maker.channel.managingEditor = managingEditor
106
- maker.channel.webMaster = webMaster
107
- maker.channel.rating = rating
108
- maker.channel.docs = docs
109
- maker.channel.pubDate = pubDate
110
- maker.channel.lastBuildDate = lastBuildDate
111
-
112
- skipDays.each do |day|
113
- maker.channel.skipDays.new_day do |new_day|
114
- new_day.content = day
115
- end
116
- end
117
- skipHours.each do |hour|
118
- maker.channel.skipHours.new_hour do |new_hour|
119
- new_hour.content = hour
120
- end
121
- end
122
-
123
- maker.image.url = image_url
124
- maker.image.title = image_title
125
- end
126
- channel = rss.channel
127
-
128
- assert_equal(title, channel.title)
129
- assert_equal(link, channel.link)
130
- assert_equal(description, channel.description)
131
- assert_equal(language, channel.language)
132
- assert_equal(copyright, channel.copyright)
133
- assert_equal(managingEditor, channel.managingEditor)
134
- assert_equal(webMaster, channel.webMaster)
135
- assert_equal(rating, channel.rating)
136
- assert_equal(docs, channel.docs)
137
- assert_equal(pubDate, channel.pubDate)
138
- assert_equal(pubDate, channel.date)
139
- assert_equal(lastBuildDate, channel.lastBuildDate)
140
-
141
- skipDays.each_with_index do |day, i|
142
- assert_equal(day, channel.skipDays.days[i].content)
143
- end
144
- skipHours.each_with_index do |hour, i|
145
- assert_equal(hour.to_i, channel.skipHours.hours[i].content)
146
- end
147
-
148
- assert(channel.items.empty?)
149
-
150
- assert_equal(image_url, channel.image.url)
151
- assert_equal(image_title, channel.image.title)
152
- assert_equal(link, channel.image.link)
153
-
154
- assert_nil(channel.textInput)
155
- end
156
-
157
- def test_not_valid_channel
158
- title = "fugafuga"
159
- link = "http://hoge.com"
160
- description = "fugafugafugafuga"
161
- language = "ja"
162
-
163
- assert_not_set_error("maker.channel", %w(title)) do
164
- RSS::Maker.make("0.91") do |maker|
165
- # maker.channel.title = title
166
- maker.channel.link = link
167
- maker.channel.description = description
168
- maker.channel.language = language
169
- end
170
- end
171
-
172
- assert_not_set_error("maker.channel", %w(link)) do
173
- RSS::Maker.make("0.91") do |maker|
174
- maker.channel.title = title
175
- # maker.channel.link = link
176
- maker.channel.link = nil
177
- maker.channel.description = description
178
- maker.channel.language = language
179
- end
180
- end
181
-
182
- assert_not_set_error("maker.channel", %w(description)) do
183
- RSS::Maker.make("0.91") do |maker|
184
- maker.channel.title = title
185
- maker.channel.link = link
186
- # maker.channel.description = description
187
- maker.channel.language = language
188
- end
189
- end
190
-
191
- assert_not_set_error("maker.channel", %w(language)) do
192
- RSS::Maker.make("0.91") do |maker|
193
- maker.channel.title = title
194
- maker.channel.link = link
195
- maker.channel.description = description
196
- # maker.channel.language = language
197
- end
198
- end
199
- end
200
-
201
- def test_image
202
- title = "fugafuga"
203
- link = "http://hoge.com"
204
- url = "http://hoge.com/hoge.png"
205
- width = "144"
206
- height = "400"
207
- description = "an image"
208
-
209
- rss = RSS::Maker.make("0.91") do |maker|
210
- setup_dummy_channel(maker)
211
- maker.channel.link = link
212
-
213
- maker.image.title = title
214
- maker.image.url = url
215
- maker.image.width = width
216
- maker.image.height = height
217
- maker.image.description = description
218
- end
219
- image = rss.image
220
- assert_equal(title, image.title)
221
- assert_equal(link, image.link)
222
- assert_equal(url, image.url)
223
- assert_equal(width.to_i, image.width)
224
- assert_equal(height.to_i, image.height)
225
- assert_equal(description, image.description)
226
-
227
- assert_not_set_error("maker.channel", %w(description title language)) do
228
- RSS::Maker.make("0.91") do |maker|
229
- # setup_dummy_channel(maker)
230
- maker.channel.link = link
231
-
232
- maker.image.title = title
233
- maker.image.url = url
234
- maker.image.width = width
235
- maker.image.height = height
236
- maker.image.description = description
237
- end
238
- end
239
- end
240
-
241
- def test_not_valid_image
242
- title = "fugafuga"
243
- link = "http://hoge.com"
244
- url = "http://hoge.com/hoge.png"
245
- width = "144"
246
- height = "400"
247
- description = "an image"
248
-
249
- assert_not_set_error("maker.image", %w(title)) do
250
- RSS::Maker.make("0.91") do |maker|
251
- setup_dummy_channel(maker)
252
- maker.channel.link = link
253
-
254
- # maker.image.title = title
255
- maker.image.url = url
256
- maker.image.width = width
257
- maker.image.height = height
258
- maker.image.description = description
259
- end
260
- end
261
-
262
- assert_not_set_error("maker.channel", %w(link)) do
263
- RSS::Maker.make("0.91") do |maker|
264
- setup_dummy_channel(maker)
265
- # maker.channel.link = link
266
- maker.channel.link = nil
267
-
268
- maker.image.title = title
269
- maker.image.url = url
270
- maker.image.width = width
271
- maker.image.height = height
272
- maker.image.description = description
273
- end
274
- end
275
-
276
- assert_not_set_error("maker.image", %w(url)) do
277
- RSS::Maker.make("0.91") do |maker|
278
- setup_dummy_channel(maker)
279
- maker.channel.link = link
280
-
281
- maker.image.title = title
282
- # maker.image.url = url
283
- maker.image.width = width
284
- maker.image.height = height
285
- maker.image.description = description
286
- end
287
- end
288
- end
289
-
290
- def test_items(with_convenience_way=true)
291
- title = "TITLE"
292
- link = "http://hoge.com/"
293
- description = "text hoge fuga"
294
-
295
- rss = RSS::Maker.make("0.91") do |maker|
296
- setup_dummy_channel(maker)
297
- setup_dummy_image(maker)
298
- end
299
- assert(rss.channel.items.empty?)
300
-
301
- rss = RSS::Maker.make("0.91") do |maker|
302
- setup_dummy_channel(maker)
303
-
304
- maker.items.new_item do |item|
305
- item.title = title
306
- item.link = link
307
- # item.description = description
308
- end
309
-
310
- setup_dummy_image(maker)
311
- end
312
- assert_equal(1, rss.channel.items.size)
313
- item = rss.channel.items.first
314
- assert_equal(title, item.title)
315
- assert_equal(link, item.link)
316
- assert_nil(item.description)
317
-
318
- pubDate = Time.now
319
-
320
- item_size = 5
321
- rss = RSS::Maker.make("0.91") do |maker|
322
- setup_dummy_channel(maker)
323
-
324
- item_size.times do |i|
325
- maker.items.new_item do |_item|
326
- _item.title = "#{title}#{i}"
327
- _item.link = "#{link}#{i}"
328
- _item.description = "#{description}#{i}"
329
- _item.date = pubDate - i
330
- end
331
- end
332
- maker.items.do_sort = true
333
-
334
- setup_dummy_image(maker)
335
- end
336
- assert_equal(item_size, rss.items.size)
337
- rss.channel.items.each_with_index do |_item, i|
338
- assert_equal("#{title}#{i}", _item.title)
339
- assert_equal("#{link}#{i}", _item.link)
340
- assert_equal("#{description}#{i}", _item.description)
341
- end
342
-
343
- rss = RSS::Maker.make("0.91") do |maker|
344
- setup_dummy_channel(maker)
345
-
346
- item_size.times do |i|
347
- maker.items.new_item do |_item|
348
- _item.title = "#{title}#{i}"
349
- _item.link = "#{link}#{i}"
350
- _item.description = "#{description}#{i}"
351
- end
352
- end
353
- maker.items.do_sort = Proc.new do |x, y|
354
- if with_convenience_way
355
- y.title[-1] <=> x.title[-1]
356
- else
357
- y.title {|t| t.content[-1]} <=> x.title {|t| t.content[-1]}
358
- end
359
- end
360
-
361
- setup_dummy_image(maker)
362
- end
363
- assert_equal(item_size, rss.items.size)
364
- rss.channel.items.reverse.each_with_index do |_item, i|
365
- assert_equal("#{title}#{i}", _item.title)
366
- assert_equal("#{link}#{i}", _item.link)
367
- assert_equal("#{description}#{i}", _item.description)
368
- end
369
- end
370
-
371
- def test_items_with_new_api_since_018
372
- test_items(false)
373
- end
374
-
375
- def test_textInput
376
- title = "fugafuga"
377
- description = "text hoge fuga"
378
- name = "hoge"
379
- link = "http://hoge.com"
380
-
381
- rss = RSS::Maker.make("0.91") do |maker|
382
- setup_dummy_channel(maker)
383
- setup_dummy_image(maker)
384
-
385
- maker.textinput.title = title
386
- maker.textinput.description = description
387
- maker.textinput.name = name
388
- maker.textinput.link = link
389
- end
390
- textInput = rss.channel.textInput
391
- assert_equal(title, textInput.title)
392
- assert_equal(description, textInput.description)
393
- assert_equal(name, textInput.name)
394
- assert_equal(link, textInput.link)
395
-
396
- assert_not_set_error("maker.channel",
397
- %w(link language description title)) do
398
- RSS::Maker.make("0.91") do |maker|
399
- # setup_dummy_channel(maker)
400
-
401
- maker.textinput.title = title
402
- maker.textinput.description = description
403
- maker.textinput.name = name
404
- maker.textinput.link = link
405
- end
406
- end
407
- end
408
-
409
- def test_not_valid_textInput
410
- title = "fugafuga"
411
- description = "text hoge fuga"
412
- name = "hoge"
413
- link = "http://hoge.com"
414
-
415
- rss = RSS::Maker.make("0.91") do |maker|
416
- setup_dummy_channel(maker)
417
- setup_dummy_image(maker)
418
-
419
- # maker.textinput.title = title
420
- maker.textinput.description = description
421
- maker.textinput.name = name
422
- maker.textinput.link = link
423
- end
424
- assert_nil(rss.channel.textInput)
425
-
426
- rss = RSS::Maker.make("0.91") do |maker|
427
- setup_dummy_channel(maker)
428
- setup_dummy_image(maker)
429
-
430
- maker.textinput.title = title
431
- # maker.textinput.description = description
432
- maker.textinput.name = name
433
- maker.textinput.link = link
434
- end
435
- assert_nil(rss.channel.textInput)
436
-
437
- rss = RSS::Maker.make("0.91") do |maker|
438
- setup_dummy_channel(maker)
439
- setup_dummy_image(maker)
440
-
441
- maker.textinput.title = title
442
- maker.textinput.description = description
443
- # maker.textinput.name = name
444
- maker.textinput.link = link
445
- end
446
- assert_nil(rss.channel.textInput)
447
-
448
- rss = RSS::Maker.make("0.91") do |maker|
449
- setup_dummy_channel(maker)
450
- setup_dummy_image(maker)
451
-
452
- maker.textinput.title = title
453
- maker.textinput.description = description
454
- maker.textinput.name = name
455
- # maker.textinput.link = link
456
- end
457
- assert_nil(rss.channel.textInput)
458
- end
459
-
460
- def test_date_in_string
461
- date = Time.now
462
-
463
- rss = RSS::Maker.make("0.91") do |maker|
464
- setup_dummy_channel(maker)
465
- setup_dummy_image(maker)
466
-
467
- maker.items.new_item do |item|
468
- item.title = "The first item"
469
- item.link = "http://example.com/blog/1.html"
470
- item.date = date.rfc822
471
- end
472
- end
473
-
474
- assert_equal(date.iso8601, rss.items[0].date.iso8601)
475
- end
476
- end
477
- end