summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/rss/rss.rb2
-rw-r--r--test/rss/test_to_s.rb6
-rw-r--r--version.h2
4 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b7a6c850ec..09806e4062 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Sep 29 17:33:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of fraction
+ digits. [ruby-core:70667] [Bug #11509]
+
Tue Sep 29 17:25:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching
diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb
index 6c89598e2d..9a11b2ea93 100644
--- a/lib/rss/rss.rb
+++ b/lib/rss/rss.rb
@@ -53,7 +53,7 @@ class Time
if usec.zero?
fraction_digits = 0
else
- fraction_digits = Math.log10(usec.to_s.sub(/0*$/, '').to_i).floor + 1
+ fraction_digits = strftime('%6N').index(/0*\z/)
end
xmlschema(fraction_digits)
end
diff --git a/test/rss/test_to_s.rb b/test/rss/test_to_s.rb
index 4ef83ce18b..d97cf9d4b0 100644
--- a/test/rss/test_to_s.rb
+++ b/test/rss/test_to_s.rb
@@ -102,6 +102,12 @@ module RSS
assert_textinput20(@textinput_info, rss.textinput)
end
+ def test_time_w3cdtf
+ assert_equal("2015-09-05T01:25:48.0001Z",
+ Time.utc(2015, 9, 5, 1, 25, 48, 100).w3cdtf,
+ '[ruby-core:70667] [Bug #11509]')
+ end
+
private
def setup_xml_declaration_info
@version = "1.0"
diff --git a/version.h b/version.h
index ff5ac67cc3..ce33fad329 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.1.8"
#define RUBY_RELEASE_DATE "2015-09-29"
-#define RUBY_PATCHLEVEL 403
+#define RUBY_PATCHLEVEL 404
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 9