##// END OF EJS Templates
Merged r14101 (#19354)....
Jean-Philippe Lang -
r13729:2f78c8a7ec28
parent child
Show More
@@ -37,6 +37,16 module Redmine
37 37 @struct.last.merge!(options) if options
38 38 end
39 39
40 def encode_value(value)
41 if value.is_a?(Time)
42 # Rails uses a global setting to format JSON times
43 # Don't rely on it for the API as it could have been changed
44 value.xmlschema(0)
45 else
46 value
47 end
48 end
49
40 50 def method_missing(sym, *args, &block)
41 51 if args.any?
42 52 if args.first.is_a?(Hash)
@@ -46,14 +56,15 module Redmine
46 56 @struct.last[sym] = args.first
47 57 end
48 58 else
59 value = encode_value(args.first)
49 60 if @struct.last.is_a?(Array)
50 61 if args.size == 1 && !block_given?
51 @struct.last << args.first
62 @struct.last << value
52 63 else
53 @struct.last << (args.last || {}).merge(:value => args.first)
64 @struct.last << (args.last || {}).merge(:value => value)
54 65 end
55 66 else
56 @struct.last[sym] = args.first
67 @struct.last[sym] = value
57 68 end
58 69 end
59 70 end
@@ -34,4 +34,14 class Redmine::ApiTest::ApiTest < Redmine::ApiTest::Base
34 34 ensure
35 35 ActionController::Base.allow_forgery_protection = false
36 36 end
37 end No newline at end of file
37
38 def test_json_datetime_format
39 get '/users/1.json', {}, credentials('admin')
40 assert_include '"created_on":"2006-07-19T17:12:21Z"', response.body
41 end
42
43 def test_xml_datetime_format
44 get '/users/1.xml', {}, credentials('admin')
45 assert_include '<created_on>2006-07-19T17:12:21Z</created_on>', response.body
46 end
47 end
General Comments 0
You need to be logged in to leave comments. Login now