From 684f95e8845be4f9efc434ea6456bee99b2303ac Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Tue, 14 Mar 2017 23:34:55 +0000 Subject: Revert "core: Re-add ISO 8601 formatting workaround for dates" This reverts commit bfbd4f5ca493f17fe2300e54092a4ec27f65ea08. Google have fixed their servers and now reject the workaround timestamp format. Unfortunately, because nothing is ever easy, this breaks Google Tasks. Obviously something else is wrong there. https://bugzilla.gnome.org/show_bug.cgi?id=780067 --- gdata/gdata-parser.c | 20 +------------------- gdata/tests/calendar.c | 14 +++++++------- gdata/tests/general.c | 34 +++++++++++++++++----------------- gdata/tests/tasks.c | 38 +++++++++++++++++++------------------- 4 files changed, 44 insertions(+), 62 deletions(-) diff --git a/gdata/gdata-parser.c b/gdata/gdata-parser.c index 74871c73..a43c2ecf 100644 --- a/gdata/gdata-parser.c +++ b/gdata/gdata-parser.c @@ -241,29 +241,11 @@ gchar * gdata_parser_int64_to_iso8601 (gint64 _time) { GTimeVal time_val; - gchar *iso8601; - gchar **date_time_components; - gchar *retval; time_val.tv_sec = _time; time_val.tv_usec = 0; - iso8601 = g_time_val_to_iso8601 (&time_val); - - /* FIXME: Work around for Google's incorrect ISO 8601 implementation. - * They appear to not like dates in the format ‘2014-08-09T21:07:05Z’ - * which specify a timezone using ‘Z’ and no microseconds. - * - * See: https://bugzilla.gnome.org/show_bug.cgi?id=732809 - * https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3595 - * http://stackoverflow.com/a/17630320/2931197 */ - date_time_components = g_strsplit (iso8601, "Z", 2); - retval = g_strjoinv (".000001+00:00", date_time_components); - g_strfreev (date_time_components); - - g_free (iso8601); - - return retval; + return g_time_val_to_iso8601 (&time_val); } gboolean diff --git a/gdata/tests/calendar.c b/gdata/tests/calendar.c index 442374d9..4d70d1b7 100644 --- a/gdata/tests/calendar.c +++ b/gdata/tests/calendar.c @@ -619,11 +619,11 @@ test_event_json (void) "'guestsCanSeeOtherGuests': false," "'anyoneCanAddSelf': false," "'start': {" - "'dateTime': '2009-04-17T15:00:00.000001+00:00'," + "'dateTime': '2009-04-17T15:00:00Z'," "'timeZone': 'UTC'" "}," "'end': {" - "'dateTime': '2009-04-17T17:00:00.000001+00:00'," + "'dateTime': '2009-04-17T17:00:00Z'," "'timeZone': 'UTC'" "}," "'attendees': [" @@ -758,11 +758,11 @@ test_event_json_dates (void) "}", TRUE, 1239926400, 1239926400 + 86400, NULL }, /* Full date and time. */ { "'start': {" - "'dateTime': '2009-04-17T15:00:00.000001+00:00'," + "'dateTime': '2009-04-17T15:00:00Z'," "'timeZone': 'UTC'" "}," "'end': {" - "'dateTime': '2009-04-17T16:00:00.000001+00:00'," + "'dateTime': '2009-04-17T16:00:00Z'," "'timeZone': 'UTC'" "}", FALSE, 1239926400 + 54000, 1239926400 + 54000 + 3600, NULL }, /* Start and end time. */ @@ -1152,21 +1152,21 @@ G_GNUC_END_IGNORE_DEPRECATIONS /* Check the built query URI with a normal feed URI */ query_uri = gdata_query_get_query_uri (GDATA_QUERY (query), "http://example.com"); g_assert_cmpstr (query_uri, ==, "http://example.com?q=q&orderBy=startTime&singleEvents=true" - "&timeMin=2009-04-17T15:00:00.000001+00:00&timeMax=2010-04-17T15:00:00.000001+00:00&timeZone=America%2FLos_Angeles&maxAttendees=15" + "&timeMin=2009-04-17T15:00:00Z&timeMax=2010-04-17T15:00:00Z&timeZone=America%2FLos_Angeles&maxAttendees=15" "&showDeleted=true"); g_free (query_uri); /* …with a feed URI with a trailing slash */ query_uri = gdata_query_get_query_uri (GDATA_QUERY (query), "http://example.com/"); g_assert_cmpstr (query_uri, ==, "http://example.com/?q=q&orderBy=startTime&singleEvents=true" - "&timeMin=2009-04-17T15:00:00.000001+00:00&timeMax=2010-04-17T15:00:00.000001+00:00&timeZone=America%2FLos_Angeles&maxAttendees=15" + "&timeMin=2009-04-17T15:00:00Z&timeMax=2010-04-17T15:00:00Z&timeZone=America%2FLos_Angeles&maxAttendees=15" "&showDeleted=true"); g_free (query_uri); /* …with a feed URI with pre-existing arguments */ query_uri = gdata_query_get_query_uri (GDATA_QUERY (query), "http://example.com/bar/?test=test&this=that"); g_assert_cmpstr (query_uri, ==, "http://example.com/bar/?test=test&this=that&q=q&orderBy=startTime" - "&singleEvents=true&timeMin=2009-04-17T15:00:00.000001+00:00&timeMax=2010-04-17T15:00:00.000001+00:00" + "&singleEvents=true&timeMin=2009-04-17T15:00:00Z&timeMax=2010-04-17T15:00:00Z" "&timeZone=America%2FLos_Angeles&maxAttendees=15&showDeleted=true"); g_free (query_uri); diff --git a/gdata/tests/general.c b/gdata/tests/general.c index 75232de3..da531fec 100644 --- a/gdata/tests/general.c +++ b/gdata/tests/general.c @@ -528,8 +528,8 @@ test_entry_parse_xml (void) "" "" "Testing unhandled XML" - "2009-01-25T14:07:37.000001+00:00" - "2009-01-23T14:06:37.000001+00:00" + "2009-01-25T14:07:37Z" + "2009-01-23T14:06:37Z" "Here we test unhandled XML elements." "Test!" "" @@ -569,8 +569,8 @@ test_entry_parse_xml_kind_category (void) "" "" "Testing kind categories" - "2009-01-25T14:07:37.000001+00:00" - "2009-01-23T14:06:37.000001+00:00" + "2009-01-25T14:07:37Z" + "2009-01-23T14:06:37Z" "Here we test kind categories." "" "Escaped content & stuff" "http://foo.com/?foo&bar" - "2010-12-10T17:21:24.000001+00:00" - "2010-12-10T17:21:24.000001+00:00" + "2010-12-10T17:21:24Z" + "2010-12-10T17:21:24Z" "Summary & stuff" "Free & open source" "Content & things." @@ -1106,7 +1106,7 @@ test_feed_escaping (void) "" "Test feed & stuff." "http://foo.com?foo&bar" - "2010-12-10T17:49:15.000001+00:00" + "2010-12-10T17:49:15Z" ""); g_object_unref (feed); } @@ -1157,28 +1157,28 @@ test_query_dates (void) /* updated-min */ gdata_query_set_updated_min (query, 1373280114); /* 2013-07-08T10:41:54Z */ query_uri = gdata_query_get_query_uri (query, "http://example.com"); - g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-min=2013-07-08T10:41:54.000001+00:00"); + g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-min=2013-07-08T10:41:54Z"); g_free (query_uri); gdata_query_set_updated_min (query, -1); /* updated-max */ gdata_query_set_updated_max (query, 1373280114); /* 2013-07-08T10:41:54Z */ query_uri = gdata_query_get_query_uri (query, "http://example.com"); - g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-max=2013-07-08T10:41:54.000001+00:00"); + g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-max=2013-07-08T10:41:54Z"); g_free (query_uri); gdata_query_set_updated_max (query, -1); /* published-min */ gdata_query_set_published_min (query, 1373280114); /* 2013-07-08T10:41:54Z */ query_uri = gdata_query_get_query_uri (query, "http://example.com"); - g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-min=2013-07-08T10:41:54.000001+00:00"); + g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-min=2013-07-08T10:41:54Z"); g_free (query_uri); gdata_query_set_published_min (query, -1); /* published-max */ gdata_query_set_published_max (query, 1373280114); /* 2013-07-08T10:41:54Z */ query_uri = gdata_query_get_query_uri (query, "http://example.com"); - g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-max=2013-07-08T10:41:54.000001+00:00"); + g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-max=2013-07-08T10:41:54Z"); g_free (query_uri); gdata_query_set_published_max (query, -1); @@ -3254,7 +3254,7 @@ test_gd_reminder (void) gdata_test_assert_xml (reminder, "" ""); + "absoluteTime='2005-06-07T00:55:00Z' method='alert'/>"); g_object_unref (reminder); } @@ -3349,8 +3349,8 @@ test_gd_when (void) /* Check the outputted XML is the same */ gdata_test_assert_xml (when, "" - ""); + ""); g_object_unref (when); /* Now parse a time with different information */ @@ -3392,7 +3392,7 @@ test_gd_when (void) "" "" - "" + "" "" ""); g_object_unref (when); @@ -3412,7 +3412,7 @@ test_gd_when_escaping (void) gdata_test_assert_xml (when, "" ""); + "startTime='2005-06-07T01:00:00Z' valueString='Value string & stuff!'/>"); g_object_unref (when); } diff --git a/gdata/tests/tasks.c b/gdata/tests/tasks.c index d8583b56..2e9a03ef 100644 --- a/gdata/tests/tasks.c +++ b/gdata/tests/tasks.c @@ -122,14 +122,14 @@ test_query_uri (void) g_assert_cmpstr (query_uri, ==, "http://example.com" /* FIXME: First two are outdated fallbacks */ - "?updated-min=1970-01-01T01:53:09.000001+00:00" + "?updated-min=1970-01-01T01:53:09Z" "&max-results=10" "&maxResults=10" - "&updatedMin=1970-01-01T01:53:09.000001+00:00" - "&completedMin=1970-01-01T01:34:38.000001+00:00" - "&completedMax=1970-01-01T00:20:34.000001+00:00" - "&dueMin=1970-01-01T00:39:05.000001+00:00" - "&dueMax=1970-01-01T00:57:36.000001+00:00" + "&updatedMin=1970-01-01T01:53:09Z" + "&completedMin=1970-01-01T01:34:38Z" + "&completedMax=1970-01-01T00:20:34Z" + "&dueMin=1970-01-01T00:39:05Z" + "&dueMax=1970-01-01T00:57:36Z" "&showCompleted=true" "&showDeleted=true" "&showHidden=true"); @@ -150,14 +150,14 @@ test_query_uri (void) "http://example.com"); g_assert_cmpstr (query_uri, ==, "http://example.com" - "?updated-min=1970-01-01T01:53:09.000001+00:00" + "?updated-min=1970-01-01T01:53:09Z" "&max-results=10" "&maxResults=10" - "&updatedMin=1970-01-01T01:53:09.000001+00:00" - "&completedMin=1970-01-01T01:34:38.000001+00:00" - "&completedMax=1970-01-01T00:20:34.000001+00:00" - "&dueMin=1970-01-01T00:39:05.000001+00:00" - "&dueMax=1970-01-01T00:57:36.000001+00:00" + "&updatedMin=1970-01-01T01:53:09Z" + "&completedMin=1970-01-01T01:34:38Z" + "&completedMax=1970-01-01T00:20:34Z" + "&dueMin=1970-01-01T00:39:05Z" + "&dueMax=1970-01-01T00:57:36Z" "&showCompleted=false" "&showDeleted=false" "&showHidden=false"); @@ -322,8 +322,8 @@ test_task_properties (void) "\"title\": \"some-other-title\"," "\"notes\": \"more-notes\"," "\"status\": \"completed\"," - "\"due\": \"2014-08-30T17:20:00.000001+00:00\"," - "\"completed\": \"2014-08-30T17:20:00.000001+00:00\"," + "\"due\": \"2014-08-30T17:20:00Z\"," + "\"completed\": \"2014-08-30T17:20:00Z\"," "\"deleted\": true," "\"hidden\": false" "}"); @@ -337,8 +337,8 @@ test_task_properties (void) "\"title\": \"some-other-title\"," "\"notes\": \"more-notes\"," "\"status\": \"completed\"," - "\"due\": \"2014-08-30T17:20:00.000001+00:00\"," - "\"completed\": \"2014-08-30T17:20:00.000001+00:00\"," + "\"due\": \"2014-08-30T17:20:00Z\"," + "\"completed\": \"2014-08-30T17:20:00Z\"," "\"deleted\": false," "\"hidden\": false" "}"); @@ -501,14 +501,14 @@ test_task_parser_normal (void) "\"id\": \"some-id\"," "\"etag\": \"some-etag\"," "\"title\": \"some-title \\\"with quotes\\\"\"," - "\"updated\": \"2014-08-30T19:40:00.000001+00:00\"," + "\"updated\": \"2014-08-30T19:40:00Z\"," "\"selfLink\": \"http://some-uri/\"," "\"parent\": \"some-parent-id\"," "\"position\": \"some-position\"," "\"notes\": \"Some notes!\"," "\"status\": \"needsAction\"," - "\"due\": \"2014-08-30T20:00:00.000001+00:00\"," - "\"completed\": \"2014-08-30T20:10:05.000001+00:00\"," + "\"due\": \"2014-08-30T20:00:00Z\"," + "\"completed\": \"2014-08-30T20:10:05Z\"," "\"deleted\": false," "\"hidden\": true," /* Unhandled for the moment: */ -- cgit v1.2.1