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,758 +0,0 @@
1
- # frozen_string_literal: false
2
- require_relative "rss-testcase"
3
-
4
- require "rss/maker"
5
-
6
- module RSS
7
- class TestMaker20 < TestCase
8
- def test_supported?
9
- assert(RSS::Maker.supported?("2.0"))
10
- assert(RSS::Maker.supported?("rss2.0"))
11
- assert(!RSS::Maker.supported?("2.2"))
12
- assert(!RSS::Maker.supported?("rss2.2"))
13
- end
14
-
15
- def test_find_class
16
- assert_equal(RSS::Maker::RSS20, RSS::Maker["2.0"])
17
- assert_equal(RSS::Maker::RSS20, RSS::Maker["rss2.0"])
18
- end
19
-
20
- def test_rss
21
- assert_raise(LocalJumpError) do
22
- RSS::Maker.make("2.0")
23
- end
24
-
25
- rss = RSS::Maker.make("2.0") do |maker|
26
- setup_dummy_channel(maker)
27
- end
28
- assert_equal("2.0", rss.rss_version)
29
-
30
- rss = RSS::Maker.make("2.0") do |maker|
31
- setup_dummy_channel(maker)
32
-
33
- maker.encoding = "EUC-JP"
34
- end
35
- assert_equal("2.0", rss.rss_version)
36
- assert_equal("EUC-JP", rss.encoding)
37
-
38
- rss = RSS::Maker.make("2.0") do |maker|
39
- setup_dummy_channel(maker)
40
-
41
- maker.standalone = "yes"
42
- end
43
- assert_equal("2.0", rss.rss_version)
44
- assert_equal("yes", rss.standalone)
45
-
46
- rss = RSS::Maker.make("2.0") do |maker|
47
- setup_dummy_channel(maker)
48
-
49
- maker.encoding = "EUC-JP"
50
- maker.standalone = "yes"
51
- end
52
- assert_equal("2.0", rss.rss_version)
53
- assert_equal("EUC-JP", rss.encoding)
54
- assert_equal("yes", rss.standalone)
55
- end
56
-
57
- def test_channel
58
- title = "fugafuga"
59
- link = "http://hoge.com"
60
- description = "fugafugafugafuga"
61
- language = "ja"
62
- copyright = "foo"
63
- managingEditor = "bar"
64
- webMaster = "web master"
65
- 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))'
66
- docs = "http://foo.com/doc"
67
- skipDays = [
68
- "Sunday",
69
- "Monday",
70
- ]
71
- skipHours = [
72
- "0",
73
- "13",
74
- ]
75
- pubDate = Time.now
76
- lastBuildDate = Time.now
77
- categories = [
78
- "Nespapers",
79
- "misc",
80
- ]
81
- generator = "RSS Maker"
82
- ttl = "60"
83
-
84
- rss = RSS::Maker.make("2.0") do |maker|
85
- maker.channel.title = title
86
- maker.channel.link = link
87
- maker.channel.description = description
88
- maker.channel.language = language
89
- maker.channel.copyright = copyright
90
- maker.channel.managingEditor = managingEditor
91
- maker.channel.webMaster = webMaster
92
- maker.channel.rating = rating
93
- maker.channel.docs = docs
94
- maker.channel.pubDate = pubDate
95
- maker.channel.lastBuildDate = lastBuildDate
96
-
97
- skipDays.each do |day|
98
- maker.channel.skipDays.new_day do |new_day|
99
- new_day.content = day
100
- end
101
- end
102
- skipHours.each do |hour|
103
- maker.channel.skipHours.new_hour do |new_hour|
104
- new_hour.content = hour
105
- end
106
- end
107
-
108
- categories.each do |category|
109
- maker.channel.categories.new_category do |new_category|
110
- new_category.content = category
111
- end
112
- end
113
-
114
- maker.channel.generator = generator
115
- maker.channel.ttl = ttl
116
- end
117
- channel = rss.channel
118
-
119
- assert_equal(title, channel.title)
120
- assert_equal(link, channel.link)
121
- assert_equal(description, channel.description)
122
- assert_equal(language, channel.language)
123
- assert_equal(copyright, channel.copyright)
124
- assert_equal(managingEditor, channel.managingEditor)
125
- assert_equal(webMaster, channel.webMaster)
126
- assert_equal(rating, channel.rating)
127
- assert_equal(docs, channel.docs)
128
- assert_equal(pubDate, channel.pubDate)
129
- assert_equal(pubDate, channel.date)
130
- assert_equal(lastBuildDate, channel.lastBuildDate)
131
-
132
- skipDays.each_with_index do |day, i|
133
- assert_equal(day, channel.skipDays.days[i].content)
134
- end
135
- skipHours.each_with_index do |hour, i|
136
- assert_equal(hour.to_i, channel.skipHours.hours[i].content)
137
- end
138
-
139
- channel.categories.each_with_index do |category, i|
140
- assert_equal(categories[i], category.content)
141
- end
142
-
143
- assert_equal(generator, channel.generator)
144
- assert_equal(ttl.to_i, channel.ttl)
145
-
146
- assert(channel.items.empty?)
147
- assert_nil(channel.image)
148
- assert_nil(channel.textInput)
149
- end
150
-
151
- def test_not_valid_channel
152
- title = "fugafuga"
153
- link = "http://hoge.com"
154
- description = "fugafugafugafuga"
155
- language = "ja"
156
-
157
- assert_not_set_error("maker.channel", %w(title)) do
158
- RSS::Maker.make("2.0") do |maker|
159
- # maker.channel.title = title
160
- maker.channel.link = link
161
- maker.channel.description = description
162
- maker.channel.language = language
163
- end
164
- end
165
-
166
- assert_not_set_error("maker.channel", %w(link)) do
167
- RSS::Maker.make("2.0") do |maker|
168
- maker.channel.title = title
169
- # maker.channel.link = link
170
- maker.channel.description = description
171
- maker.channel.language = language
172
- end
173
- end
174
-
175
- assert_not_set_error("maker.channel", %w(description)) do
176
- RSS::Maker.make("2.0") do |maker|
177
- maker.channel.title = title
178
- maker.channel.link = link
179
- # maker.channel.description = description
180
- maker.channel.language = language
181
- end
182
- end
183
-
184
- rss = RSS::Maker.make("2.0") do |maker|
185
- maker.channel.title = title
186
- maker.channel.link = link
187
- maker.channel.description = description
188
- # maker.channel.language = language
189
- end
190
- assert_not_nil(rss)
191
- end
192
-
193
-
194
- def test_cloud
195
- domain = "rpc.sys.com"
196
- port = "80"
197
- path = "/RPC2"
198
- registerProcedure = "myCloud.rssPleaseNotify"
199
- protocol = "xml-rpc"
200
-
201
- rss = RSS::Maker.make("2.0") do |maker|
202
- setup_dummy_channel(maker)
203
-
204
- maker.channel.cloud.domain = domain
205
- maker.channel.cloud.port = port
206
- maker.channel.cloud.path = path
207
- maker.channel.cloud.registerProcedure = registerProcedure
208
- maker.channel.cloud.protocol = protocol
209
- end
210
- cloud = rss.channel.cloud
211
- assert_equal(domain, cloud.domain)
212
- assert_equal(port.to_i, cloud.port)
213
- assert_equal(path, cloud.path)
214
- assert_equal(registerProcedure, cloud.registerProcedure)
215
- assert_equal(protocol, cloud.protocol)
216
- end
217
-
218
- def test_not_valid_cloud
219
- domain = "rpc.sys.com"
220
- port = "80"
221
- path = "/RPC2"
222
- registerProcedure = "myCloud.rssPleaseNotify"
223
- protocol = "xml-rpc"
224
-
225
- rss = RSS::Maker.make("2.0") do |maker|
226
- setup_dummy_channel(maker)
227
-
228
- # maker.channel.cloud.domain = domain
229
- maker.channel.cloud.port = port
230
- maker.channel.cloud.path = path
231
- maker.channel.cloud.registerProcedure = registerProcedure
232
- maker.channel.cloud.protocol = protocol
233
- end
234
- assert_nil(rss.channel.cloud)
235
-
236
- rss = RSS::Maker.make("2.0") do |maker|
237
- setup_dummy_channel(maker)
238
-
239
- maker.channel.cloud.domain = domain
240
- # maker.channel.cloud.port = port
241
- maker.channel.cloud.path = path
242
- maker.channel.cloud.registerProcedure = registerProcedure
243
- maker.channel.cloud.protocol = protocol
244
- end
245
- assert_nil(rss.channel.cloud)
246
-
247
- rss = RSS::Maker.make("2.0") do |maker|
248
- setup_dummy_channel(maker)
249
-
250
- maker.channel.cloud.domain = domain
251
- maker.channel.cloud.port = port
252
- # maker.channel.cloud.path = path
253
- maker.channel.cloud.registerProcedure = registerProcedure
254
- maker.channel.cloud.protocol = protocol
255
- end
256
- assert_nil(rss.channel.cloud)
257
-
258
- rss = RSS::Maker.make("2.0") do |maker|
259
- setup_dummy_channel(maker)
260
-
261
- maker.channel.cloud.domain = domain
262
- maker.channel.cloud.port = port
263
- maker.channel.cloud.path = path
264
- # maker.channel.cloud.registerProcedure = registerProcedure
265
- maker.channel.cloud.protocol = protocol
266
- end
267
- assert_nil(rss.channel.cloud)
268
-
269
- rss = RSS::Maker.make("2.0") do |maker|
270
- setup_dummy_channel(maker)
271
-
272
- maker.channel.cloud.domain = domain
273
- maker.channel.cloud.port = port
274
- maker.channel.cloud.path = path
275
- maker.channel.cloud.registerProcedure = registerProcedure
276
- # maker.channel.cloud.protocol = protocol
277
- end
278
- assert_nil(rss.channel.cloud)
279
- end
280
-
281
-
282
- def test_image
283
- title = "fugafuga"
284
- link = "http://hoge.com"
285
- url = "http://hoge.com/hoge.png"
286
- width = "144"
287
- height = "400"
288
- description = "an image"
289
-
290
- rss = RSS::Maker.make("2.0") do |maker|
291
- setup_dummy_channel(maker)
292
- maker.channel.link = link
293
-
294
- maker.image.title = title
295
- maker.image.url = url
296
- maker.image.width = width
297
- maker.image.height = height
298
- maker.image.description = description
299
- end
300
- image = rss.image
301
- assert_equal(title, image.title)
302
- assert_equal(link, image.link)
303
- assert_equal(url, image.url)
304
- assert_equal(width.to_i, image.width)
305
- assert_equal(height.to_i, image.height)
306
- assert_equal(description, image.description)
307
-
308
- assert_not_set_error("maker.channel", %w(title description)) do
309
- RSS::Maker.make("2.0") do |maker|
310
- # setup_dummy_channel(maker)
311
- maker.channel.link = link
312
-
313
- maker.image.title = title
314
- maker.image.url = url
315
- maker.image.width = width
316
- maker.image.height = height
317
- maker.image.description = description
318
- end
319
- end
320
- end
321
-
322
- def test_not_valid_image
323
- title = "fugafuga"
324
- link = "http://hoge.com"
325
- url = "http://hoge.com/hoge.png"
326
- width = "144"
327
- height = "400"
328
- description = "an image"
329
-
330
- rss = RSS::Maker.make("2.0") do |maker|
331
- setup_dummy_channel(maker)
332
- maker.channel.link = link
333
-
334
- # maker.image.title = title
335
- maker.image.url = url
336
- maker.image.width = width
337
- maker.image.height = height
338
- maker.image.description = description
339
- end
340
- assert_nil(rss.image)
341
-
342
- assert_not_set_error("maker.channel", %w(link)) do
343
- RSS::Maker.make("2.0") do |maker|
344
- setup_dummy_channel(maker)
345
- # maker.channel.link = link
346
- maker.channel.link = nil
347
-
348
- maker.image.title = title
349
- maker.image.url = url
350
- maker.image.width = width
351
- maker.image.height = height
352
- maker.image.description = description
353
- end
354
- end
355
-
356
- rss = RSS::Maker.make("2.0") do |maker|
357
- setup_dummy_channel(maker)
358
- maker.channel.link = link
359
-
360
- maker.image.title = title
361
- # maker.image.url = url
362
- maker.image.width = width
363
- maker.image.height = height
364
- maker.image.description = description
365
- end
366
- assert_nil(rss.image)
367
- end
368
-
369
- def test_items(with_convenience_way=true)
370
- title = "TITLE"
371
- link = "http://hoge.com/"
372
- description = "text hoge fuga"
373
- author = "oprah@oxygen.net"
374
- comments = "http://www.myblog.org/cgi-local/mt/mt-comments.cgi?entry_id=290"
375
- pubDate = Time.now
376
-
377
- rss = RSS::Maker.make("2.0") do |maker|
378
- setup_dummy_channel(maker)
379
- end
380
- assert(rss.channel.items.empty?)
381
-
382
- item_size = 5
383
- rss = RSS::Maker.make("2.0") do |maker|
384
- setup_dummy_channel(maker)
385
-
386
- item_size.times do |i|
387
- maker.items.new_item do |item|
388
- item.title = "#{title}#{i}"
389
- item.link = "#{link}#{i}"
390
- item.description = "#{description}#{i}"
391
- item.author = "#{author}#{i}"
392
- item.comments = "#{comments}#{i}"
393
- item.date = pubDate - i
394
- end
395
- end
396
- maker.items.do_sort = true
397
- end
398
- assert_equal(item_size, rss.items.size)
399
- rss.channel.items.each_with_index do |item, i|
400
- assert_equal("#{title}#{i}", item.title)
401
- assert_equal("#{link}#{i}", item.link)
402
- assert_equal("#{description}#{i}", item.description)
403
- assert_equal("#{author}#{i}", item.author)
404
- assert_equal("#{comments}#{i}", item.comments)
405
- assert_equal(pubDate - i, item.pubDate)
406
- assert_equal(pubDate - i, item.date)
407
- end
408
-
409
- rss = RSS::Maker.make("2.0") do |maker|
410
- setup_dummy_channel(maker)
411
-
412
- item_size.times do |i|
413
- maker.items.new_item do |item|
414
- item.title = "#{title}#{i}"
415
- item.link = "#{link}#{i}"
416
- item.description = "#{description}#{i}"
417
- item.author = "#{author}#{i}"
418
- item.comments = "#{comments}#{i}"
419
- item.date = pubDate
420
- end
421
- end
422
- maker.items.do_sort = Proc.new do |x, y|
423
- if with_convenience_way
424
- y.title[-1] <=> x.title[-1]
425
- else
426
- y.title {|t| t.content[-1]} <=> x.title {|t| t.content[-1]}
427
- end
428
- end
429
- end
430
- assert_equal(item_size, rss.items.size)
431
- rss.channel.items.reverse.each_with_index do |item, i|
432
- assert_equal("#{title}#{i}", item.title)
433
- assert_equal("#{link}#{i}", item.link)
434
- assert_equal("#{description}#{i}", item.description)
435
- assert_equal("#{author}#{i}", item.author)
436
- assert_equal("#{comments}#{i}", item.comments)
437
- assert_equal(pubDate, item.pubDate)
438
- assert_equal(pubDate, item.date)
439
- end
440
- end
441
-
442
- def test_items_with_new_api_since_018
443
- test_items(false)
444
- end
445
-
446
- def test_pubDate_without_description
447
- title = "TITLE"
448
- link = "http://hoge.com/"
449
- # description = "text hoge fuga"
450
- author = "oprah@oxygen.net"
451
- pubDate = Time.now
452
-
453
- rss = RSS::Maker.make("2.0") do |maker|
454
- setup_dummy_channel(maker)
455
-
456
- maker.items.new_item do |item|
457
- item.title = title
458
- item.link = link
459
- # item.description = description
460
- item.author = author
461
- item.pubDate = pubDate
462
- end
463
- end
464
- assert_equal(1, rss.items.size)
465
- rss.channel.items.each_with_index do |item, i|
466
- assert_equal(title, item.title)
467
- assert_equal(link, item.link)
468
- # assert_equal(description, item.description)
469
- assert_equal(author, item.author)
470
- assert_equal(pubDate, item.pubDate)
471
- assert_equal(pubDate, item.date)
472
- end
473
- end
474
-
475
- def test_guid
476
- isPermaLink = "true"
477
- content = "http://inessential.com/2002/09/01.php#a2"
478
-
479
- rss = RSS::Maker.make("2.0") do |maker|
480
- setup_dummy_channel(maker)
481
- setup_dummy_item(maker)
482
-
483
- guid = maker.items.last.guid
484
- guid.isPermaLink = isPermaLink
485
- guid.content = content
486
- end
487
- guid = rss.channel.items.last.guid
488
- assert_equal(isPermaLink == "true", guid.isPermaLink)
489
- assert_equal(content, guid.content)
490
- end
491
-
492
- def test_guid_permanent_link
493
- content = "http://inessential.com/2002/09/01.php#a2"
494
-
495
- rss = RSS::Maker.make("2.0") do |maker|
496
- setup_dummy_channel(maker)
497
- setup_dummy_item(maker)
498
-
499
- guid = maker.items.last.guid
500
- assert_equal(nil, guid.permanent_link?)
501
- assert_equal(guid.isPermaLink, guid.permanent_link?)
502
- guid.permanent_link = true
503
- assert_equal(true, guid.permanent_link?)
504
- assert_equal(guid.isPermaLink, guid.permanent_link?)
505
- guid.content = content
506
- end
507
- guid = rss.channel.items.last.guid
508
- assert_equal(true, guid.isPermaLink)
509
- assert_equal(content, guid.content)
510
- end
511
-
512
- def test_guid_permanent_link_false
513
- content = "http://inessential.com/2002/09/01.php#a2"
514
-
515
- rss = RSS::Maker.make("2.0") do |maker|
516
- setup_dummy_channel(maker)
517
- setup_dummy_item(maker)
518
-
519
- guid = maker.items.last.guid
520
- assert_equal(nil, guid.permanent_link?)
521
- assert_equal(guid.isPermaLink, guid.permanent_link?)
522
- guid.permanent_link = false
523
- assert_equal(false, guid.permanent_link?)
524
- assert_equal(guid.isPermaLink, guid.permanent_link?)
525
- guid.content = content
526
- end
527
- guid = rss.channel.items.last.guid
528
- assert_equal(false, guid.isPermaLink)
529
- assert_equal(content, guid.content)
530
- end
531
-
532
- def test_not_valid_guid
533
- # content = "http://inessential.com/2002/09/01.php#a2"
534
-
535
- rss = RSS::Maker.make("2.0") do |maker|
536
- setup_dummy_channel(maker)
537
- setup_dummy_item(maker)
538
-
539
- # guid = maker.items.last.guid
540
- # guid.content = content
541
- end
542
- assert_nil(rss.channel.items.last.guid)
543
- end
544
-
545
- def test_enclosure
546
- url = "http://www.scripting.com/mp3s/weatherReportSuite.mp3"
547
- length = "12216320"
548
- type = "audio/mpeg"
549
-
550
- rss = RSS::Maker.make("2.0") do |maker|
551
- setup_dummy_channel(maker)
552
- setup_dummy_item(maker)
553
-
554
- enclosure = maker.items.last.enclosure
555
- enclosure.url = url
556
- enclosure.length = length
557
- enclosure.type = type
558
- end
559
- enclosure = rss.channel.items.last.enclosure
560
- assert_equal(url, enclosure.url)
561
- assert_equal(length.to_i, enclosure.length)
562
- assert_equal(type, enclosure.type)
563
- end
564
-
565
- def test_not_valid_enclosure
566
- url = "http://www.scripting.com/mp3s/weatherReportSuite.mp3"
567
- length = "12216320"
568
- type = "audio/mpeg"
569
-
570
- rss = RSS::Maker.make("2.0") do |maker|
571
- setup_dummy_channel(maker)
572
- setup_dummy_item(maker)
573
-
574
- enclosure = maker.items.last.enclosure
575
- # enclosure.url = url
576
- enclosure.length = length
577
- enclosure.type = type
578
- end
579
- assert_nil(rss.channel.items.last.enclosure)
580
-
581
- rss = RSS::Maker.make("2.0") do |maker|
582
- setup_dummy_channel(maker)
583
- setup_dummy_item(maker)
584
-
585
- enclosure = maker.items.last.enclosure
586
- enclosure.url = url
587
- # enclosure.length = length
588
- enclosure.type = type
589
- end
590
- assert_nil(rss.channel.items.last.enclosure)
591
-
592
- rss = RSS::Maker.make("2.0") do |maker|
593
- setup_dummy_channel(maker)
594
- setup_dummy_item(maker)
595
-
596
- enclosure = maker.items.last.enclosure
597
- enclosure.url = url
598
- enclosure.length = length
599
- # enclosure.type = type
600
- end
601
- assert_nil(rss.channel.items.last.enclosure)
602
- end
603
-
604
-
605
- def test_source
606
- url = "http://static.userland.com/tomalak/links2.xml"
607
- content = "Tomalak's Realm"
608
-
609
- rss = RSS::Maker.make("2.0") do |maker|
610
- setup_dummy_channel(maker)
611
- setup_dummy_item(maker)
612
-
613
- source = maker.items.last.source
614
- source.url = url
615
- source.content = content
616
- end
617
- source = rss.channel.items.last.source
618
- assert_equal(url, source.url)
619
- assert_equal(content, source.content)
620
- end
621
-
622
- def test_not_valid_source
623
- url = "http://static.userland.com/tomalak/links2.xml"
624
- content = "Tomalak's Realm"
625
-
626
- rss = RSS::Maker.make("2.0") do |maker|
627
- setup_dummy_channel(maker)
628
- setup_dummy_item(maker)
629
-
630
- source = maker.items.last.source
631
- # source.url = url
632
- source.content = content
633
- end
634
- assert_nil(rss.channel.items.last.source)
635
-
636
- rss = RSS::Maker.make("2.0") do |maker|
637
- setup_dummy_channel(maker)
638
- setup_dummy_item(maker)
639
-
640
- source = maker.items.last.source
641
- source.url = url
642
- # source.content = content
643
- end
644
- assert_nil(rss.channel.items.last.source)
645
- end
646
-
647
- def test_category
648
- domain = "http://www.fool.com/cusips"
649
- content = "MSFT"
650
-
651
- rss = RSS::Maker.make("2.0") do |maker|
652
- setup_dummy_channel(maker)
653
- setup_dummy_item(maker)
654
-
655
- maker.items.last.categories.new_category do |category|
656
- category.domain = domain
657
- category.content = content
658
- end
659
- end
660
- category = rss.channel.items.last.categories.last
661
- assert_equal(domain, category.domain)
662
- assert_equal(content, category.content)
663
- end
664
-
665
- def test_not_valid_category
666
- # content = "Grateful Dead"
667
-
668
- rss = RSS::Maker.make("2.0") do |maker|
669
- setup_dummy_channel(maker)
670
- setup_dummy_item(maker)
671
-
672
- maker.items.last.categories.new_category do |category|
673
- # category.content = content
674
- end
675
- end
676
- assert(rss.channel.items.last.categories.empty?)
677
- end
678
-
679
- def test_textInput
680
- title = "fugafuga"
681
- description = "text hoge fuga"
682
- name = "hoge"
683
- link = "http://hoge.com"
684
-
685
- rss = RSS::Maker.make("2.0") do |maker|
686
- setup_dummy_channel(maker)
687
-
688
- maker.textinput.title = title
689
- maker.textinput.description = description
690
- maker.textinput.name = name
691
- maker.textinput.link = link
692
- end
693
- textInput = rss.channel.textInput
694
- assert_equal(title, textInput.title)
695
- assert_equal(description, textInput.description)
696
- assert_equal(name, textInput.name)
697
- assert_equal(link, textInput.link)
698
-
699
- assert_not_set_error("maker.channel", %w(link description title)) do
700
- RSS::Maker.make("2.0") do |maker|
701
- # setup_dummy_channel(maker)
702
-
703
- maker.textinput.title = title
704
- maker.textinput.description = description
705
- maker.textinput.name = name
706
- maker.textinput.link = link
707
- end
708
- end
709
- end
710
-
711
- def test_not_valid_textInput
712
- title = "fugafuga"
713
- description = "text hoge fuga"
714
- name = "hoge"
715
- link = "http://hoge.com"
716
-
717
- rss = RSS::Maker.make("2.0") do |maker|
718
- setup_dummy_channel(maker)
719
-
720
- # maker.textinput.title = title
721
- maker.textinput.description = description
722
- maker.textinput.name = name
723
- maker.textinput.link = link
724
- end
725
- assert_nil(rss.channel.textInput)
726
-
727
- rss = RSS::Maker.make("2.0") do |maker|
728
- setup_dummy_channel(maker)
729
-
730
- maker.textinput.title = title
731
- # maker.textinput.description = description
732
- maker.textinput.name = name
733
- maker.textinput.link = link
734
- end
735
- assert_nil(rss.channel.textInput)
736
-
737
- rss = RSS::Maker.make("2.0") do |maker|
738
- setup_dummy_channel(maker)
739
-
740
- maker.textinput.title = title
741
- maker.textinput.description = description
742
- # maker.textinput.name = name
743
- maker.textinput.link = link
744
- end
745
- assert_nil(rss.channel.textInput)
746
-
747
- rss = RSS::Maker.make("2.0") do |maker|
748
- setup_dummy_channel(maker)
749
-
750
- maker.textinput.title = title
751
- maker.textinput.description = description
752
- maker.textinput.name = name
753
- # maker.textinput.link = link
754
- end
755
- assert_nil(rss.channel.textInput)
756
- end
757
- end
758
- end