From 87816ea9e18ac39e9161246a0f20a8b7cb8a3692 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 18 Feb 2015 11:42:11 +0000 Subject: [PATCH] Merged r14015 (#19065). git-svn-id: http://svn.redmine.org/redmine/branches/2.6-stable@14024 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/views/builders/xml.rb | 5 +++-- test/integration/api_test/issues_test.rb | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/redmine/views/builders/xml.rb b/lib/redmine/views/builders/xml.rb index 37fd25d39..9f80a6088 100644 --- a/lib/redmine/views/builders/xml.rb +++ b/lib/redmine/views/builders/xml.rb @@ -30,9 +30,10 @@ module Redmine target! end - def method_missing(sym, *args, &block) + # Overrides Builder::XmlBase#tag! to format timestamps in ISO 8601 + def tag!(sym, *args, &block) if args.size == 1 && args.first.is_a?(::Time) - __send__ sym, args.first.xmlschema, &block + tag! sym, args.first.xmlschema, &block else super end diff --git a/test/integration/api_test/issues_test.rb b/test/integration/api_test/issues_test.rb index 6b81c6e4f..029bdb8c3 100644 --- a/test/integration/api_test/issues_test.rb +++ b/test/integration/api_test/issues_test.rb @@ -162,6 +162,15 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base end end + test "GET /issues/:id.xml with journals should format timestamps in ISO 8601" do + get '/issues/1.xml?include=journals' + + iso_date = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/ + assert_select 'issue>created_on', :text => iso_date + assert_select 'issue>updated_on', :text => iso_date + assert_select 'issue journal>created_on', :text => iso_date + end + def test_index_should_include_issue_attributes get '/issues.xml' assert_select 'issues>issue>is_private', :text => 'false' -- 2.39.5