Show More
@@ -11,6 +11,7 b'' | |||
|
11 | 11 | # Imports |
|
12 | 12 | #----------------------------------------------------------------------------- |
|
13 | 13 | # stdlib |
|
14 | import datetime | |
|
14 | 15 | import json |
|
15 | 16 | from base64 import decodestring |
|
16 | 17 | |
@@ -19,6 +20,7 b' import nose.tools as nt' | |||
|
19 | 20 | |
|
20 | 21 | # our own |
|
21 | 22 | from IPython.testing import decorators as dec |
|
23 | from IPython.utils import jsonutil, tz | |
|
22 | 24 | from ..jsonutil import json_clean, encode_images |
|
23 | 25 | from ..py3compat import unicode_to_str, str_to_bytes |
|
24 | 26 | |
@@ -94,6 +96,33 b' def test_lambda():' | |||
|
94 | 96 | assert '<lambda>' in jc |
|
95 | 97 | json.dumps(jc) |
|
96 | 98 | |
|
99 | def test_extract_dates(): | |
|
100 | timestamps = [ | |
|
101 | '2013-07-03T16:34:52.249482', | |
|
102 | '2013-07-03T16:34:52.249482Z', | |
|
103 | '2013-07-03T16:34:52.249482Z-0800', | |
|
104 | '2013-07-03T16:34:52.249482Z+0800', | |
|
105 | '2013-07-03T16:34:52.249482Z+08:00', | |
|
106 | '2013-07-03T16:34:52.249482Z-08:00', | |
|
107 | '2013-07-03T16:34:52.249482-0800', | |
|
108 | '2013-07-03T16:34:52.249482+0800', | |
|
109 | '2013-07-03T16:34:52.249482+08:00', | |
|
110 | '2013-07-03T16:34:52.249482-08:00', | |
|
111 | ] | |
|
112 | extracted = jsonutil.extract_dates(timestamps) | |
|
113 | ref = extracted[0] | |
|
114 | for dt in extracted: | |
|
115 | nt.assert_true(isinstance(dt, datetime.datetime)) | |
|
116 | nt.assert_equal(dt, ref) | |
|
117 | ||
|
118 | def test_date_default(): | |
|
119 | data = dict(today=datetime.datetime.now(), utcnow=tz.utcnow()) | |
|
120 | jsondata = json.dumps(data, default=jsonutil.date_default) | |
|
121 | nt.assert_in("+00", jsondata) | |
|
122 | nt.assert_equal(jsondata.count("+00"), 1) | |
|
123 | extracted = jsonutil.extract_dates(json.loads(jsondata)) | |
|
124 | for dt in extracted.values(): | |
|
125 | nt.assert_true(isinstance(dt, datetime.datetime)) | |
|
97 | 126 | |
|
98 | 127 | def test_exception(): |
|
99 | 128 | bad_dicts = [{1:'number', '1':'string'}, |
General Comments 0
You need to be logged in to leave comments.
Login now