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,519 +0,0 @@
1
- # frozen_string_literal: false
2
- require_relative "rss-testcase"
3
-
4
- require "rss/maker"
5
-
6
- module RSS
7
- class TestMaker10 < TestCase
8
- def test_supported?
9
- assert(RSS::Maker.supported?("1.0"))
10
- assert(RSS::Maker.supported?("rss1.0"))
11
- assert(!RSS::Maker.supported?("1.1"))
12
- assert(!RSS::Maker.supported?("rss1.1"))
13
- end
14
-
15
- def test_find_class
16
- assert_equal(RSS::Maker::RSS10, RSS::Maker["1.0"])
17
- assert_equal(RSS::Maker::RSS10, RSS::Maker["rss1.0"])
18
- end
19
-
20
- def test_rdf
21
- assert_raise(LocalJumpError) do
22
- RSS::Maker.make("1.0")
23
- end
24
-
25
- rss = RSS::Maker.make("1.0") do |maker|
26
- setup_dummy_channel(maker)
27
- setup_dummy_item(maker)
28
- end
29
- assert_equal("1.0", rss.rss_version)
30
-
31
- rss = RSS::Maker.make("1.0") do |maker|
32
- setup_dummy_channel(maker)
33
- maker.encoding = "EUC-JP"
34
-
35
- setup_dummy_item(maker)
36
- end
37
- assert_equal("1.0", rss.rss_version)
38
- assert_equal("EUC-JP", rss.encoding)
39
-
40
- rss = RSS::Maker.make("1.0") do |maker|
41
- setup_dummy_channel(maker)
42
- maker.standalone = "yes"
43
-
44
- setup_dummy_item(maker)
45
- end
46
- assert_equal("1.0", rss.rss_version)
47
- assert_equal("yes", rss.standalone)
48
-
49
- rss = RSS::Maker.make("1.0") do |maker|
50
- setup_dummy_channel(maker)
51
- maker.encoding = "EUC-JP"
52
- maker.standalone = "yes"
53
-
54
- setup_dummy_item(maker)
55
- end
56
- assert_equal("1.0", rss.rss_version)
57
- assert_equal("EUC-JP", rss.encoding)
58
- assert_equal("yes", rss.standalone)
59
- end
60
-
61
- def test_channel
62
- about = "http://hoge.com"
63
- title = "fugafuga"
64
- link = "http://hoge.com"
65
- description = "fugafugafugafuga"
66
-
67
- rss = RSS::Maker.make("1.0") do |maker|
68
- maker.channel.about = about
69
- maker.channel.title = title
70
- maker.channel.link = link
71
- maker.channel.description = description
72
-
73
- setup_dummy_item(maker)
74
- end
75
- channel = rss.channel
76
- assert_equal(about, channel.about)
77
- assert_equal(title, channel.title)
78
- assert_equal(link, channel.link)
79
- assert_equal(description, channel.description)
80
- assert_equal(1, channel.items.Seq.lis.size)
81
- assert_nil(channel.image)
82
- assert_nil(channel.textinput)
83
-
84
- rss = RSS::Maker.make("1.0") do |maker|
85
- maker.channel.about = about
86
- maker.channel.title = title
87
- maker.channel.link = link
88
- maker.channel.description = description
89
-
90
- setup_dummy_image(maker)
91
-
92
- setup_dummy_textinput(maker)
93
-
94
- setup_dummy_item(maker)
95
- end
96
- channel = rss.channel
97
- assert_equal(about, channel.about)
98
- assert_equal(title, channel.title)
99
- assert_equal(link, channel.link)
100
- assert_equal(description, channel.description)
101
- assert_equal(1, channel.items.Seq.lis.size)
102
- assert_equal(rss.image.about, channel.image.resource)
103
- assert_equal(rss.textinput.about, channel.textinput.resource)
104
- end
105
-
106
- def test_channel_language
107
- about = "http://hoge.com"
108
- title = "fugafuga"
109
- link = "http://hoge.com"
110
- description = "fugafugafugafuga"
111
- language = "ja"
112
-
113
- rss = RSS::Maker.make("1.0") do |maker|
114
- maker.channel.about = about
115
- maker.channel.title = title
116
- maker.channel.link = link
117
- maker.channel.description = description
118
- maker.channel.language = language
119
-
120
- setup_dummy_item(maker)
121
- end
122
- channel = rss.channel
123
- assert_equal(language, channel.dc_language)
124
- end
125
-
126
- def test_not_valid_channel
127
- about = "http://hoge.com"
128
- title = "fugafuga"
129
- link = "http://hoge.com"
130
- description = "fugafugafugafuga"
131
-
132
- assert_not_set_error("maker.channel", %w(about)) do
133
- RSS::Maker.make("1.0") do |maker|
134
- # maker.channel.about = about
135
- maker.channel.title = title
136
- maker.channel.link = link
137
- maker.channel.description = description
138
- end
139
- end
140
-
141
- assert_not_set_error("maker.channel", %w(title)) do
142
- RSS::Maker.make("1.0") do |maker|
143
- maker.channel.about = about
144
- # maker.channel.title = title
145
- maker.channel.link = link
146
- maker.channel.description = description
147
- end
148
- end
149
-
150
- assert_not_set_error("maker.channel", %w(link)) do
151
- RSS::Maker.make("1.0") do |maker|
152
- maker.channel.about = about
153
- maker.channel.title = title
154
- # maker.channel.link = link
155
- maker.channel.description = description
156
- end
157
- end
158
-
159
- assert_not_set_error("maker.channel", %w(description)) do
160
- RSS::Maker.make("1.0") do |maker|
161
- maker.channel.about = about
162
- maker.channel.title = title
163
- maker.channel.link = link
164
- # maker.channel.description = description
165
- end
166
- end
167
- end
168
-
169
-
170
- def test_image
171
- title = "fugafuga"
172
- link = "http://hoge.com"
173
- url = "http://hoge.com/hoge.png"
174
-
175
- rss = RSS::Maker.make("1.0") do |maker|
176
- setup_dummy_channel(maker)
177
- maker.channel.link = link
178
-
179
- maker.image.title = title
180
- maker.image.url = url
181
-
182
- setup_dummy_item(maker)
183
- end
184
- image = rss.image
185
- assert_equal(url, image.about)
186
- assert_equal(url, rss.channel.image.resource)
187
- assert_equal(title, image.title)
188
- assert_equal(link, image.link)
189
- assert_equal(url, image.url)
190
-
191
- assert_not_set_error("maker.channel", %w(about title description)) do
192
- RSS::Maker.make("1.0") do |maker|
193
- # setup_dummy_channel(maker)
194
- maker.channel.link = link
195
-
196
- maker.image.title = title
197
- maker.image.url = url
198
- end
199
- end
200
- end
201
-
202
- def test_not_valid_image
203
- title = "fugafuga"
204
- link = "http://hoge.com"
205
- url = "http://hoge.com/hoge.png"
206
-
207
- rss = RSS::Maker.make("1.0") do |maker|
208
- setup_dummy_channel(maker)
209
- maker.channel.link = link
210
-
211
- # maker.image.url = url
212
- maker.image.title = title
213
-
214
- setup_dummy_item(maker)
215
- end
216
- assert_nil(rss.channel.image)
217
- assert_nil(rss.image)
218
-
219
- rss = RSS::Maker.make("1.0") do |maker|
220
- setup_dummy_channel(maker)
221
- maker.channel.link = link
222
-
223
- maker.image.url = url
224
- # maker.image.title = title
225
-
226
- setup_dummy_item(maker)
227
- end
228
- assert_nil(rss.channel.image)
229
- assert_nil(rss.image)
230
-
231
- assert_not_set_error("maker.channel", %w(link)) do
232
- RSS::Maker.make("1.0") do |maker|
233
- setup_dummy_channel(maker)
234
- # maker.channel.link = link
235
- maker.channel.link = nil
236
-
237
- maker.image.url = url
238
- maker.image.title = title
239
-
240
- setup_dummy_item(maker)
241
- end
242
- end
243
- end
244
-
245
- def test_items(with_convenience_way=true)
246
- title = "TITLE"
247
- link = "http://hoge.com/"
248
- description = "text hoge fuga"
249
-
250
- assert_not_set_error("maker", %w(items)) do
251
- RSS::Maker.make("1.0") do |maker|
252
- setup_dummy_channel(maker)
253
- end
254
- end
255
-
256
- rss = RSS::Maker.make("1.0") do |maker|
257
- setup_dummy_channel(maker)
258
-
259
- maker.items.new_item do |item|
260
- item.title = title
261
- item.link = link
262
- # item.description = description
263
- end
264
- end
265
- assert_equal(1, rss.items.size)
266
- item = rss.items.first
267
- assert_equal(link, item.about)
268
- assert_equal(title, item.title)
269
- assert_equal(link, item.link)
270
- assert_nil(item.description)
271
-
272
- pubDate = Time.now
273
-
274
- item_size = 5
275
- rss = RSS::Maker.make("1.0") do |maker|
276
- setup_dummy_channel(maker)
277
-
278
- item_size.times do |i|
279
- maker.items.new_item do |_item|
280
- _item.title = "#{title}#{i}"
281
- _item.link = "#{link}#{i}"
282
- _item.description = "#{description}#{i}"
283
- _item.date = pubDate - i
284
- end
285
- end
286
- maker.items.do_sort = true
287
- end
288
- assert_equal(item_size, rss.items.size)
289
- rss.items.each_with_index do |_item, i|
290
- assert_equal("#{link}#{i}", _item.about)
291
- assert_equal("#{title}#{i}", _item.title)
292
- assert_equal("#{link}#{i}", _item.link)
293
- assert_equal("#{description}#{i}", _item.description)
294
- end
295
-
296
- rss = RSS::Maker.make("1.0") do |maker|
297
- setup_dummy_channel(maker)
298
-
299
- item_size.times do |i|
300
- maker.items.new_item do |_item|
301
- _item.title = "#{title}#{i}"
302
- _item.link = "#{link}#{i}"
303
- _item.description = "#{description}#{i}"
304
- end
305
- end
306
- maker.items.do_sort = Proc.new do |x, y|
307
- if with_convenience_way
308
- y.title[-1] <=> x.title[-1]
309
- else
310
- y.title {|t| t.content[-1]} <=> x.title {|t| t.content[-1]}
311
- end
312
- end
313
- end
314
- assert_equal(item_size, rss.items.size)
315
- rss.items.reverse.each_with_index do |_item, i|
316
- assert_equal("#{link}#{i}", _item.about)
317
- assert_equal("#{title}#{i}", _item.title)
318
- assert_equal("#{link}#{i}", _item.link)
319
- assert_equal("#{description}#{i}", _item.description)
320
- end
321
-
322
- max_size = item_size / 2
323
- rss = RSS::Maker.make("1.0") do |maker|
324
- setup_dummy_channel(maker)
325
-
326
- item_size.times do |i|
327
- maker.items.new_item do |_item|
328
- _item.title = "#{title}#{i}"
329
- _item.link = "#{link}#{i}"
330
- _item.description = "#{description}#{i}"
331
- end
332
- end
333
- maker.items.max_size = max_size
334
- end
335
- assert_equal(max_size, rss.items.size)
336
- rss.items.each_with_index do |_item, i|
337
- assert_equal("#{link}#{i}", _item.about)
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
- max_size = 0
344
- assert_not_set_error("maker", %w(items)) do
345
- RSS::Maker.make("1.0") do |maker|
346
- setup_dummy_channel(maker)
347
-
348
- item_size.times do |i|
349
- maker.items.new_item do |_item|
350
- _item.title = "#{title}#{i}"
351
- _item.link = "#{link}#{i}"
352
- _item.description = "#{description}#{i}"
353
- end
354
- end
355
- maker.items.max_size = max_size
356
- end
357
- end
358
-
359
- max_size = -2
360
- rss = RSS::Maker.make("1.0") do |maker|
361
- setup_dummy_channel(maker)
362
-
363
- item_size.times do |i|
364
- maker.items.new_item do |_item|
365
- _item.title = "#{title}#{i}"
366
- _item.link = "#{link}#{i}"
367
- _item.description = "#{description}#{i}"
368
- end
369
- end
370
- maker.items.max_size = max_size
371
- end
372
- assert_equal(item_size + max_size + 1, rss.items.size)
373
- rss.items.each_with_index do |_item, i|
374
- assert_equal("#{link}#{i}", _item.about)
375
- assert_equal("#{title}#{i}", _item.title)
376
- assert_equal("#{link}#{i}", _item.link)
377
- assert_equal("#{description}#{i}", _item.description)
378
- end
379
- end
380
-
381
- def test_items_with_new_api_since_018
382
- test_items(false)
383
- end
384
-
385
- def test_not_valid_items
386
- title = "TITLE"
387
- link = "http://hoge.com/"
388
-
389
- assert_not_set_error("maker.item", %w(title)) do
390
- RSS::Maker.make("1.0") do |maker|
391
- setup_dummy_channel(maker)
392
-
393
- maker.items.new_item do |item|
394
- # item.title = title
395
- item.link = link
396
- end
397
- end
398
- end
399
-
400
- assert_not_set_error("maker.item", %w(link)) do
401
- RSS::Maker.make("1.0") do |maker|
402
- setup_dummy_channel(maker)
403
-
404
- maker.items.new_item do |item|
405
- item.title = title
406
- # item.link = link
407
- end
408
- end
409
- end
410
-
411
- assert_not_set_error("maker.item", %w(title link)) do
412
- RSS::Maker.make("1.0") do |maker|
413
- setup_dummy_channel(maker)
414
-
415
- maker.items.new_item do |item|
416
- # item.title = title
417
- # item.link = link
418
- end
419
- end
420
- end
421
- end
422
-
423
- def test_textinput
424
- title = "fugafuga"
425
- description = "text hoge fuga"
426
- name = "hoge"
427
- link = "http://hoge.com"
428
-
429
- rss = RSS::Maker.make("1.0") do |maker|
430
- setup_dummy_channel(maker)
431
-
432
- maker.textinput.link = link
433
- maker.textinput.title = title
434
- maker.textinput.description = description
435
- maker.textinput.name = name
436
-
437
- setup_dummy_item(maker)
438
- end
439
- textinput = rss.textinput
440
- assert_equal(link, textinput.about)
441
- assert_equal(link, rss.channel.textinput.resource)
442
- assert_equal(title, textinput.title)
443
- assert_equal(name, textinput.name)
444
- assert_equal(description, textinput.description)
445
- assert_equal(link, textinput.link)
446
-
447
- assert_not_set_error("maker.channel", %w(about link description title)) do
448
- RSS::Maker.make("1.0") do |maker|
449
- # setup_dummy_channel(maker)
450
-
451
- maker.textinput.link = link
452
- maker.textinput.title = title
453
- maker.textinput.description = description
454
- maker.textinput.name = name
455
- end
456
- end
457
- end
458
-
459
- def test_not_valid_textinput
460
- title = "fugafuga"
461
- description = "text hoge fuga"
462
- name = "hoge"
463
- link = "http://hoge.com"
464
-
465
- rss = RSS::Maker.make("1.0") do |maker|
466
- setup_dummy_channel(maker)
467
-
468
- # maker.textinput.link = link
469
- maker.textinput.title = title
470
- maker.textinput.description = description
471
- maker.textinput.name = name
472
-
473
- setup_dummy_item(maker)
474
- end
475
- assert_nil(rss.channel.textinput)
476
- assert_nil(rss.textinput)
477
-
478
- rss = RSS::Maker.make("1.0") do |maker|
479
- setup_dummy_channel(maker)
480
-
481
- maker.textinput.link = link
482
- # maker.textinput.title = title
483
- maker.textinput.description = description
484
- maker.textinput.name = name
485
-
486
- setup_dummy_item(maker)
487
- end
488
- assert_nil(rss.channel.textinput)
489
- assert_nil(rss.textinput)
490
-
491
- rss = RSS::Maker.make("1.0") do |maker|
492
- setup_dummy_channel(maker)
493
-
494
- maker.textinput.link = link
495
- maker.textinput.title = title
496
- # maker.textinput.description = description
497
- maker.textinput.name = name
498
-
499
- setup_dummy_item(maker)
500
- end
501
- assert_nil(rss.channel.textinput)
502
- assert_nil(rss.textinput)
503
-
504
- rss = RSS::Maker.make("1.0") do |maker|
505
- setup_dummy_channel(maker)
506
-
507
- maker.textinput.link = link
508
- maker.textinput.title = title
509
- maker.textinput.description = description
510
- # maker.textinput.name = name
511
-
512
- setup_dummy_item(maker)
513
- end
514
- assert_nil(rss.channel.textinput)
515
- assert_nil(rss.textinput)
516
- end
517
-
518
- end
519
- end