rss 0.2.9 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +54 -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 +12 -12
  12. metadata +4 -143
  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