mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Updated the json date regex to recognize xmlschema formatted date times during json decoding. [#3031 state:resolved]
Signed-off-by: Santiago Pastorino and Emilio Tagua <santiago+emilioe@wyeworks.com>
This commit is contained in:
committed by
Santiago Pastorino and Emilio Tagua
parent
5b0695a8cb
commit
e8c870726a
@@ -23,7 +23,7 @@ module ActiveSupport
|
||||
|
||||
module JSON
|
||||
# matches YAML-formatted dates
|
||||
DATE_REGEX = /^(?:\d{4}-\d{2}-\d{2}|\d{4}-\d{1,2}-\d{1,2}[ \t]+\d{1,2}:\d{2}:\d{2}(\.[0-9]*)?(([ \t]*)Z|[-+]\d{2}?(:\d{2})?))$/
|
||||
DATE_REGEX = /^(?:\d{4}-\d{2}-\d{2}|\d{4}-\d{1,2}-\d{1,2}[T \t]+\d{1,2}:\d{2}:\d{2}(\.[0-9]*)?(([ \t]*)Z|[-+]\d{2}?(:\d{2})?))$/
|
||||
|
||||
# Dumps object in JSON (JavaScript Object Notation). See www.json.org for more info.
|
||||
def self.encode(value, options = nil)
|
||||
|
||||
@@ -21,6 +21,10 @@ class TestJSONDecoding < ActiveSupport::TestCase
|
||||
%({"a": "2007-01-01 01:12:34"}) => {'a' => "2007-01-01 01:12:34"},
|
||||
# invalid date
|
||||
%({"a": "1089-10-40"}) => {'a' => "1089-10-40"},
|
||||
# xmlschema date notation
|
||||
%({"a": "2009-08-10T19:01:02Z"}) => {'a' => Time.utc(2009, 8, 10, 19, 1, 2)},
|
||||
%({"a": "2009-08-10T19:01:02+02:00"}) => {'a' => Time.utc(2009, 8, 10, 17, 1, 2)},
|
||||
%({"a": "2009-08-10T19:01:02-05:00"}) => {'a' => Time.utc(2009, 8, 11, 00, 1, 2)},
|
||||
# needs to be *exact*
|
||||
%({"a": " 2007-01-01 01:12:34 Z "}) => {'a' => " 2007-01-01 01:12:34 Z "},
|
||||
%({"a": "2007-01-01 : it's your birthday"}) => {'a' => "2007-01-01 : it's your birthday"},
|
||||
|
||||
Reference in New Issue
Block a user