From b0947c5e04cbc5bb9cde351200575d8da2036eb1 Mon Sep 17 00:00:00 2001 From: kou Date: Mon, 24 Aug 2009 12:31:22 +0000 Subject: [PATCH] * lib/rss/maker/base.rb, test/rss/test_maker_2.0.rb: fix a bug that RSS Maker doesn't accept 'false' as guid's isPermaLink. Reported by Joe Holt. Thanks!!! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/rss/maker/base.rb | 2 +- test/rss/test_maker_2.0.rb | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 28c713c627..fd49cfcc62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Aug 24 21:31:37 2009 Kouhei Sutou + + * lib/rss/maker/base.rb, test/rss/test_maker_2.0.rb: fix a bug + that RSS Maker doesn't accept 'false' as guid's isPermaLink. + Reported by Joe Holt. Thanks!!! + Mon Aug 24 18:58:56 2009 NAKAMURA Usaku * include/ruby/missing.h (vsnprintf): rollback a part of r24179, because diff --git a/lib/rss/maker/base.rb b/lib/rss/maker/base.rb index 9ccfba7e84..5d795443a4 100644 --- a/lib/rss/maker/base.rb +++ b/lib/rss/maker/base.rb @@ -238,7 +238,7 @@ module RSS setter = "#{var}=" if target.respond_to?(setter) value = __send__(var) - if value + unless value.nil? target.__send__(setter, value) set = true end diff --git a/test/rss/test_maker_2.0.rb b/test/rss/test_maker_2.0.rb index d4d9832373..705270df4e 100644 --- a/test/rss/test_maker_2.0.rb +++ b/test/rss/test_maker_2.0.rb @@ -508,6 +508,26 @@ module RSS assert_equal(content, guid.content) end + def test_guid_permanent_link_false + content = "http://inessential.com/2002/09/01.php#a2" + + rss = RSS::Maker.make("2.0") do |maker| + setup_dummy_channel(maker) + setup_dummy_item(maker) + + guid = maker.items.last.guid + assert_equal(nil, guid.permanent_link?) + assert_equal(guid.isPermaLink, guid.permanent_link?) + guid.permanent_link = false + assert_equal(false, guid.permanent_link?) + assert_equal(guid.isPermaLink, guid.permanent_link?) + guid.content = content + end + guid = rss.channel.items.last.guid + assert_equal(false, guid.isPermaLink) + assert_equal(content, guid.content) + end + def test_not_valid_guid content = "http://inessential.com/2002/09/01.php#a2"