summaryrefslogtreecommitdiff
path: root/trunk/test/rss/test_maker_itunes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/test/rss/test_maker_itunes.rb')
-rw-r--r--trunk/test/rss/test_maker_itunes.rb471
1 files changed, 0 insertions, 471 deletions
diff --git a/trunk/test/rss/test_maker_itunes.rb b/trunk/test/rss/test_maker_itunes.rb
deleted file mode 100644
index 21a4dd1f29..0000000000
--- a/trunk/test/rss/test_maker_itunes.rb
+++ /dev/null
@@ -1,471 +0,0 @@
-require "rss-testcase"
-
-require "rss/maker"
-
-module RSS
- class TestMakerITunes < TestCase
- def test_author
- assert_maker_itunes_author(%w(channel))
- assert_maker_itunes_author(%w(items last))
- end
-
- def test_block
- assert_maker_itunes_block(%w(channel))
- assert_maker_itunes_block(%w(items last))
- end
-
- def test_category
- assert_maker_itunes_category(%w(channel))
- end
-
- def test_image
- assert_maker_itunes_image(%w(channel))
- end
-
- def test_duration
- assert_maker_itunes_duration(%w(items last))
- end
-
- def test_explicit
- assert_maker_itunes_explicit(%w(channel))
- assert_maker_itunes_explicit(%w(items last))
- end
-
- def test_keywords
- assert_maker_itunes_keywords(%w(channel))
- assert_maker_itunes_keywords(%w(items last))
- end
-
- def test_new_feed_url
- assert_maker_itunes_new_feed_url(%w(channel))
- end
-
- def test_owner
- assert_maker_itunes_owner(%w(channel))
- end
-
- def test_subtitle
- assert_maker_itunes_subtitle(%w(channel))
- assert_maker_itunes_subtitle(%w(items last))
- end
-
- def test_summary
- assert_maker_itunes_summary(%w(channel))
- assert_maker_itunes_summary(%w(items last))
- end
-
- private
-
- def assert_maker_itunes_author(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- author = "John Doe"
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- target.itunes_author = author
- end
- target = chain_reader(rss20, feed_readers)
- assert_equal(author, target.itunes_author)
- end
- end
-
- def _assert_maker_itunes_block(value, boolean_value, maker_readers,
- feed_readers)
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- target.itunes_block = value
- assert_equal(value, target.itunes_block)
- assert_equal(boolean_value, target.itunes_block?)
- end
- target = chain_reader(rss20, feed_readers)
- if [true, false].include?(value)
- feed_expected_value = value = value ? "yes" : "no"
- else
- feed_expected_value = value
- end
- assert_equal(value, target.itunes_block)
- assert_equal(boolean_value, target.itunes_block?)
- end
-
- def assert_maker_itunes_block(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- _assert_maker_itunes_block("yes", true, maker_readers, feed_readers)
- _assert_maker_itunes_block("Yes", true, maker_readers, feed_readers)
- _assert_maker_itunes_block("no", false, maker_readers, feed_readers)
- _assert_maker_itunes_block("", false, maker_readers, feed_readers)
- _assert_maker_itunes_block(true, true, maker_readers, feed_readers)
- _assert_maker_itunes_block(false, false, maker_readers, feed_readers)
- _assert_maker_itunes_block(nil, false, maker_readers, feed_readers)
- end
- end
-
- def _assert_maker_itunes_category(categories, maker_readers, feed_readers)
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- categories.each do |category|
- sub_target = target.itunes_categories
- if category.is_a?(Array)
- category.each do |sub_category|
- sub_target = sub_target.new_category
- sub_target.text = sub_category
- end
- else
- sub_target.new_category.text = category
- end
- end
- end
-
- target = chain_reader(rss20, feed_readers)
- actual_categories = target.itunes_categories.collect do |category|
- cat = category.text
- if category.itunes_categories.empty?
- cat
- else
- [cat, *category.itunes_categories.collect {|c| c.text}]
- end
- end
- assert_equal(categories, actual_categories)
- end
-
- def assert_maker_itunes_category(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- _assert_maker_itunes_category(["Audio Blogs"],
- maker_readers, feed_readers)
- _assert_maker_itunes_category([["Arts & Entertainment", "Games"]],
- maker_readers, feed_readers)
- _assert_maker_itunes_category([["Arts & Entertainment", "Games"],
- ["Technology", "Computers"],
- "Audio Blogs"],
- maker_readers, feed_readers)
- end
- end
-
- def assert_maker_itunes_image(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- url = "http://example.com/podcasts/everything/AllAboutEverything.jpg"
-
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- target.itunes_image = url
- end
-
- target = chain_reader(rss20, feed_readers)
- assert_not_nil(target.itunes_image)
- assert_equal(url, target.itunes_image.href)
- end
- end
-
- def _assert_maker_itunes_duration(hour, minute, second, value,
- maker_readers, feed_readers)
- _assert_maker_itunes_duration_by_value(hour, minute, second, value,
- maker_readers, feed_readers)
- _assert_maker_itunes_duration_by_hour_minute_second(hour, minute, second,
- value,
- maker_readers,
- feed_readers)
- end
-
- def _assert_maker_itunes_duration_by(hour, minute, second, value,
- maker_readers, feed_readers)
- expected_value = nil
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- expected_value = yield(target)
- assert_equal(expected_value, target.itunes_duration)
- target.itunes_duration do |duration|
- assert_equal([hour, minute, second, expected_value],
- [duration.hour, duration.minute,
- duration.second, duration.content])
- end
- end
- target = chain_reader(rss20, feed_readers)
- duration = target.itunes_duration
- assert_not_nil(duration)
- assert_equal([hour, minute, second, expected_value],
- [duration.hour, duration.minute,
- duration.second, duration.content])
- end
-
- def _assert_maker_itunes_duration_by_value(hour, minute, second, value,
- maker_readers, feed_readers)
- _assert_maker_itunes_duration_by(hour, minute, second, value,
- maker_readers, feed_readers) do |target|
- target.itunes_duration = value
- value
- end
- end
-
- def _assert_maker_itunes_duration_by_hour_minute_second(hour, minute, second,
- value,
- maker_readers,
- feed_readers)
- _assert_maker_itunes_duration_by(hour, minute, second, value,
- maker_readers, feed_readers) do |target|
- target.itunes_duration do |duration|
- duration.hour = hour
- duration.minute = minute
- duration.second = second
- end
- value.split(":").collect {|v| "%02d" % v.to_i}.join(":")
- end
- end
-
- def _assert_maker_itunes_duration_invalid_value(value, maker_readers)
- assert_raise(ArgumentError) do
- ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- target.itunes_duration = value
- end
- end
- end
-
- def assert_maker_itunes_duration(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- _assert_maker_itunes_duration(7, 14, 5, "07:14:05", maker_readers,
- feed_readers)
- _assert_maker_itunes_duration(7, 14, 5, "7:14:05", maker_readers,
- feed_readers)
- _assert_maker_itunes_duration(0, 4, 55, "04:55", maker_readers,
- feed_readers)
- _assert_maker_itunes_duration(0, 4, 5, "4:05", maker_readers,
- feed_readers)
-
- _assert_maker_itunes_duration_invalid_value("5", maker_readers)
- _assert_maker_itunes_duration_invalid_value("09:07:14:05", maker_readers)
- _assert_maker_itunes_duration_invalid_value("10:5", maker_readers)
- _assert_maker_itunes_duration_invalid_value("10:03:5", maker_readers)
- _assert_maker_itunes_duration_invalid_value("10:3:05", maker_readers)
-
- _assert_maker_itunes_duration_invalid_value("xx:xx:xx", maker_readers)
- end
- end
-
- def _assert_maker_itunes_explicit(explicit, value,
- maker_readers, feed_readers)
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- target.itunes_explicit = value
- assert_equal(explicit, target.itunes_explicit?)
- end
- target = chain_reader(rss20, feed_readers)
- assert_equal(value, target.itunes_explicit)
- assert_equal(explicit, target.itunes_explicit?)
- end
-
- def assert_maker_itunes_explicit(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- _assert_maker_itunes_explicit(true, "yes", maker_readers, feed_readers)
- _assert_maker_itunes_explicit(false, "clean",
- maker_readers, feed_readers)
- _assert_maker_itunes_explicit(nil, "no", maker_readers, feed_readers)
- end
- end
-
- def _assert_maker_itunes_keywords(keywords, value,
- maker_readers, feed_readers)
- _assert_maker_itunes_keywords_by_value(keywords, value,
- maker_readers, feed_readers)
- _assert_maker_itunes_keywords_by_keywords(keywords, maker_readers,
- feed_readers)
- end
-
- def _assert_maker_itunes_keywords_by(keywords, maker_readers, feed_readers)
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- yield(target)
- end
- assert_nothing_raised do
- rss20 = ::RSS::Parser.parse(rss20.to_s)
- end
- target = chain_reader(rss20, feed_readers)
- assert_equal(keywords, target.itunes_keywords)
- end
-
- def _assert_maker_itunes_keywords_by_value(keywords, value,
- maker_readers, feed_readers)
- _assert_maker_itunes_keywords_by(keywords, maker_readers,
- feed_readers) do |target|
- target.itunes_keywords = value
- end
- end
-
- def _assert_maker_itunes_keywords_by_keywords(keywords,
- maker_readers, feed_readers)
- _assert_maker_itunes_keywords_by(keywords, maker_readers,
- feed_readers) do |target|
- target.itunes_keywords = keywords
- end
- end
-
- def assert_maker_itunes_keywords(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- _assert_maker_itunes_keywords(["salt"], "salt",
- maker_readers, feed_readers)
- _assert_maker_itunes_keywords(["salt"], " salt ",
- maker_readers, feed_readers)
- _assert_maker_itunes_keywords(["salt", "pepper", "shaker", "exciting"],
- "salt, pepper, shaker, exciting",
- maker_readers, feed_readers)
- _assert_maker_itunes_keywords(["metric", "socket", "wrenches",
- "toolsalt"],
- "metric, socket, wrenches, toolsalt",
- maker_readers, feed_readers)
- _assert_maker_itunes_keywords(["olitics", "red", "blue", "state"],
- "olitics, red, blue, state",
- maker_readers, feed_readers)
- end
- end
-
- def assert_maker_itunes_new_feed_url(maker_readers, feed_readers=nil)
- feed_readers ||= maker_readers
- url = "http://newlocation.com/example.rss"
-
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- target.itunes_new_feed_url = url
- end
- target = chain_reader(rss20, feed_readers)
- assert_equal(url, target.itunes_new_feed_url)
- end
-
- def _assert_maker_itunes_owner(name, email, maker_readers, feed_readers)
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- owner = target.itunes_owner
- owner.itunes_name = name
- owner.itunes_email = email
- end
- owner = chain_reader(rss20, feed_readers).itunes_owner
- if name.nil? and email.nil?
- assert_nil(owner)
- else
- assert_not_nil(owner)
- assert_equal(name, owner.itunes_name)
- assert_equal(email, owner.itunes_email)
- end
- end
-
- def assert_maker_itunes_owner(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- _assert_maker_itunes_owner("John Doe", "john.doe@example.com",
- maker_readers, feed_readers)
-
- not_set_name = (["maker"] + maker_readers + ["itunes_owner"]).join(".")
- assert_not_set_error(not_set_name, ["itunes_name"]) do
- _assert_maker_itunes_owner(nil, "john.doe@example.com",
- maker_readers, feed_readers)
- end
- assert_not_set_error(not_set_name, ["itunes_email"]) do
- _assert_maker_itunes_owner("John Doe", nil,
- maker_readers, feed_readers)
- end
-
- _assert_maker_itunes_owner(nil, nil, maker_readers, feed_readers)
- end
- end
-
- def _assert_maker_itunes_subtitle(subtitle, maker_readers, feed_readers)
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- target.itunes_subtitle = subtitle
- end
-
- target = chain_reader(rss20, feed_readers)
- assert_equal(subtitle, target.itunes_subtitle)
- end
-
- def assert_maker_itunes_subtitle(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- _assert_maker_itunes_subtitle("A show about everything",
- maker_readers, feed_readers)
- _assert_maker_itunes_subtitle("A short primer on table spices",
- maker_readers, feed_readers)
- _assert_maker_itunes_subtitle("Comparing socket wrenches is fun!",
- maker_readers, feed_readers)
- _assert_maker_itunes_subtitle("Red + Blue != Purple",
- maker_readers, feed_readers)
- end
- end
-
- def _assert_maker_itunes_summary(summary, maker_readers, feed_readers)
- rss20 = ::RSS::Maker.make("rss2.0") do |maker|
- setup_dummy_channel(maker)
- setup_dummy_item(maker)
-
- target = chain_reader(maker, maker_readers)
- target.itunes_summary = summary
- end
-
- target = chain_reader(rss20, feed_readers)
- assert_equal(summary, target.itunes_summary)
- end
-
- def assert_maker_itunes_summary(maker_readers, feed_readers=nil)
- _wrap_assertion do
- feed_readers ||= maker_readers
- _assert_maker_itunes_summary("All About Everything is a show about " +
- "everything. Each week we dive into any " +
- "subject known to man and talk about it " +
- "as much as we can. Look for our Podcast " +
- "in the iTunes Music Store",
- maker_readers, feed_readers)
- _assert_maker_itunes_summary("This week we talk about salt and pepper " +
- "shakers, comparing and contrasting pour " +
- "rates, construction materials, and " +
- "overall aesthetics. Come and join the " +
- "party!",
- maker_readers, feed_readers)
- _assert_maker_itunes_summary("This week we talk about metric vs. old " +
- "english socket wrenches. Which one is " +
- "better? Do you really need both? Get " +
- "all of your answers here.",
- maker_readers, feed_readers)
- _assert_maker_itunes_summary("This week we talk about surviving in a " +
- "Red state if you're a Blue person. Or " +
- "vice versa.",
- maker_readers, feed_readers)
- end
- end
- end
-end