Browse Source

Fixed that timestamps may not be formatted as expected in XML responses (#19065).

git-svn-id: http://svn.redmine.org/redmine/trunk@14015 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/3.0.0
Jean-Philippe Lang 9 years ago
parent
commit
177dd7bff1
2 changed files with 12 additions and 2 deletions
  1. 3
    2
      lib/redmine/views/builders/xml.rb
  2. 9
    0
      test/integration/api_test/issues_test.rb

+ 3
- 2
lib/redmine/views/builders/xml.rb View File

@@ -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

+ 9
- 0
test/integration/api_test/issues_test.rb View File

@@ -183,6 +183,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

test "GET /issues/:id.xml with custom fields" do
get '/issues/3.xml'


Loading…
Cancel
Save