summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/libgdata-fix-tests.patch
diff options
context:
space:
mode:
authorLiliana Marie Prikler <[email protected]>2024-11-24 09:53:04 +0100
committerLiliana Marie Prikler <[email protected]>2025-03-02 20:31:36 +0100
commit34e5752fd0fdc9247505c8dec023c6318aa9b274 (patch)
treeb512eaf60e386f79830557e21f566f4f28b2ebd6 /gnu/packages/patches/libgdata-fix-tests.patch
parenta70a06b2a73849bb73aa38fcdfd45c3a85381954 (diff)
gnu: libgdata: Fix build.
* gnu/packages/patches/libgdata-fix-tests.patch: New file. * gnu/packages/gnome.scm (libgdata)[patches]: Use it here. * gnu/local.mk (dist_patch_DATA): Register it here.
Diffstat (limited to 'gnu/packages/patches/libgdata-fix-tests.patch')
-rw-r--r--gnu/packages/patches/libgdata-fix-tests.patch1509
1 files changed, 1509 insertions, 0 deletions
diff --git a/gnu/packages/patches/libgdata-fix-tests.patch b/gnu/packages/patches/libgdata-fix-tests.patch
new file mode 100644
index 0000000000..26228a6675
--- /dev/null
+++ b/gnu/packages/patches/libgdata-fix-tests.patch
@@ -0,0 +1,1509 @@
+From 7c635516813a34aa7fb6d3192d3b55ba219aa5c1 Mon Sep 17 00:00:00 2001
+From: Alessandro Astone <[email protected]>
+Date: Tue, 17 Sep 2024 12:10:22 +0200
+Subject: [PATCH] tests: JSON strings should use double-quotes
+
+libjson-glib allowed single-quotes up until 1.10.0;
+change all the hard-coded json string literals to use double-quotes.
+
+Fixes: #50
+---
+ gdata/tests/calendar.c | 316 ++++++++--------
+ gdata/tests/general.c | 38 +-
+ gdata/tests/streams.c | 46 +--
+ gdata/tests/youtube.c | 806 ++++++++++++++++++++---------------------
+ 4 files changed, 603 insertions(+), 603 deletions(-)
+
+diff --git a/gdata/tests/calendar.c b/gdata/tests/calendar.c
+index a3302dee..d7807633 100644
+--- a/gdata/tests/calendar.c
++++ b/gdata/tests/calendar.c
+@@ -615,35 +615,35 @@ test_event_json (void)
+
+ /* Check the JSON */
+ gdata_test_assert_json (event, "{"
+- "'summary': 'Tennis with Beth',"
+- "'description': 'Meet for a quick lesson.',"
+- "'kind': 'calendar#event',"
+- "'status': 'confirmed',"
+- "'transparency': 'opaque',"
+- "'guestsCanModify': false,"
+- "'guestsCanInviteOthers': false,"
+- "'guestsCanSeeOtherGuests': false,"
+- "'anyoneCanAddSelf': false,"
+- "'start': {"
+- "'dateTime': '2009-04-17T15:00:00Z',"
+- "'timeZone': 'UTC'"
++ "\"summary\": \"Tennis with Beth\","
++ "\"description\": \"Meet for a quick lesson.\","
++ "\"kind\": \"calendar#event\","
++ "\"status\": \"confirmed\","
++ "\"transparency\": \"opaque\","
++ "\"guestsCanModify\": false,"
++ "\"guestsCanInviteOthers\": false,"
++ "\"guestsCanSeeOtherGuests\": false,"
++ "\"anyoneCanAddSelf\": false,"
++ "\"start\": {"
++ "\"dateTime\": \"2009-04-17T15:00:00Z\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'end': {"
+- "'dateTime': '2009-04-17T17:00:00Z',"
+- "'timeZone': 'UTC'"
++ "\"end\": {"
++ "\"dateTime\": \"2009-04-17T17:00:00Z\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'attendees': ["
++ "\"attendees\": ["
+ "{"
+- "'email': '[email protected]',"
+- "'displayName': 'John Smith‽',"
+- "'organizer': true"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"John Smith‽\","
++ "\"organizer\": true"
+ "}"
+ "],"
+- "'organizer': {"
+- "'email': '[email protected]',"
+- "'displayName': 'John Smith‽'"
++ "\"organizer\": {"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"John Smith‽\""
+ "},"
+- "'location': 'Rolling Lawn Courts'"
++ "\"location\": \"Rolling Lawn Courts\""
+ "}");
+ }
+
+@@ -668,45 +668,45 @@ test_event_json_attendees (void)
+ GError *error = NULL;
+
+ event = GDATA_CALENDAR_EVENT (gdata_parsable_new_from_json (GDATA_TYPE_CALENDAR_EVENT, "{"
+- "'kind': 'calendar#event',"
+- "'id': 'some-id',"
+- "'created': '2017-02-04T17:53:47.000Z',"
+- "'summary': 'Duff this',"
+- "'organizer': {"
+- "'email': '[email protected]',"
+- "'displayName': 'Ruth Pettut'"
++ "\"kind\": \"calendar#event\","
++ "\"id\": \"some-id\","
++ "\"created\": \"2017-02-04T17:53:47.000Z\","
++ "\"summary\": \"Duff this\","
++ "\"organizer\": {"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"Ruth Pettut\""
+ "},"
+- "'attendees': ["
++ "\"attendees\": ["
+ "{"
+- "'email': '[email protected]',"
+- "'displayName': 'Joe Hibbs',"
+- "'responseStatus': 'accepted'"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"Joe Hibbs\","
++ "\"responseStatus\": \"accepted\""
+ "},"
+ "{"
+- "'email': '[email protected]',"
+- "'displayName': 'Me McMeeson',"
+- "'self': true,"
+- "'responseStatus': 'needsAction'"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"Me McMeeson\","
++ "\"self\": true,"
++ "\"responseStatus\": \"needsAction\""
+ "},"
+ "{"
+- "'email': '[email protected]',"
+- "'responseStatus': 'needsAction'"
++ "\"email\": \"[email protected]\","
++ "\"responseStatus\": \"needsAction\""
+ "},"
+ "{"
+- "'email': '[email protected]',"
+- "'displayName': 'Example Person 3',"
+- "'responseStatus': 'tentative',"
+- "'comment': 'Some poor excuse about not coming.'"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"Example Person 3\","
++ "\"responseStatus\": \"tentative\","
++ "\"comment\": \"Some poor excuse about not coming.\""
+ "},"
+ "{"
+- "'email': '[email protected]',"
+- "'responseStatus': 'accepted'"
++ "\"email\": \"[email protected]\","
++ "\"responseStatus\": \"accepted\""
+ "},"
+ "{"
+- "'email': '[email protected]',"
+- "'displayName': 'Ruth Pettut',"
+- "'organizer': true,"
+- "'responseStatus': 'accepted'"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"Ruth Pettut\","
++ "\"organizer\": true,"
++ "\"responseStatus\": \"accepted\""
+ "}"
+ "]"
+ "}", -1, &error));
+@@ -754,38 +754,38 @@ test_event_json_dates (void)
+ const gchar *output_json; /* NULL if equal to @json */
+ } test_vectors[] = {
+ /* Plain date, single day. */
+- { "'start': {"
+- "'date': '2009-04-17',"
+- "'timeZone': 'UTC'"
++ { "\"start\": {"
++ "\"date\": \"2009-04-17\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'end': {"
+- "'date': '2009-04-18',"
+- "'timeZone': 'UTC'"
++ "\"end\": {"
++ "\"date\": \"2009-04-18\","
++ "\"timeZone\": \"UTC\""
+ "}", TRUE, 1239926400, 1239926400 + 86400, NULL },
+ /* Full date and time. */
+- { "'start': {"
+- "'dateTime': '2009-04-17T15:00:00Z',"
+- "'timeZone': 'UTC'"
++ { "\"start\": {"
++ "\"dateTime\": \"2009-04-17T15:00:00Z\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'end': {"
+- "'dateTime': '2009-04-17T16:00:00Z',"
+- "'timeZone': 'UTC'"
++ "\"end\": {"
++ "\"dateTime\": \"2009-04-17T16:00:00Z\","
++ "\"timeZone\": \"UTC\""
+ "}", FALSE, 1239926400 + 54000, 1239926400 + 54000 + 3600, NULL },
+ /* Start and end time. */
+- { "'start': {"
+- "'date': '2009-04-27',"
+- "'timeZone': 'UTC'"
++ { "\"start\": {"
++ "\"date\": \"2009-04-27\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'end': {"
+- "'date': '20090506',"
+- "'timeZone': 'UTC'"
+- "}", TRUE, 1239926400 + 864000, 1241568000, "'start': {"
+- "'date': '2009-04-27',"
+- "'timeZone': 'UTC'"
++ "\"end\": {"
++ "\"date\": \"20090506\","
++ "\"timeZone\": \"UTC\""
++ "}", TRUE, 1239926400 + 864000, 1241568000, "\"start\": {"
++ "\"date\": \"2009-04-27\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'end': {"
+- "'date': '2009-05-06',"
+- "'timeZone': 'UTC'"
++ "\"end\": {"
++ "\"date\": \"2009-05-06\","
++ "\"timeZone\": \"UTC\""
+ "}" },
+ };
+
+@@ -798,20 +798,20 @@ test_event_json_dates (void)
+ GError *error = NULL;
+
+ json = g_strdup_printf ("{"
+- "'summary': 'Tennis with Beth',"
+- "'description': 'Meet for a quick lesson.',"
+- "'kind': 'calendar#event',"
++ "\"summary\": \"Tennis with Beth\","
++ "\"description\": \"Meet for a quick lesson.\","
++ "\"kind\": \"calendar#event\","
+ "%s"
+ "}", test_vectors[i].json);
+ output_json = g_strdup_printf ("{"
+- "'summary': 'Tennis with Beth',"
+- "'description': 'Meet for a quick lesson.',"
+- "'kind': 'calendar#event',"
+- "'guestsCanModify': false,"
+- "'guestsCanInviteOthers': false,"
+- "'guestsCanSeeOtherGuests': false,"
+- "'anyoneCanAddSelf': false,"
+- "'attendees': [],"
++ "\"summary\": \"Tennis with Beth\","
++ "\"description\": \"Meet for a quick lesson.\","
++ "\"kind\": \"calendar#event\","
++ "\"guestsCanModify\": false,"
++ "\"guestsCanInviteOthers\": false,"
++ "\"guestsCanSeeOtherGuests\": false,"
++ "\"anyoneCanAddSelf\": false,"
++ "\"attendees\": [],"
+ "%s"
+ "}", (test_vectors[i].output_json != NULL) ? test_vectors[i].output_json : test_vectors[i].json);
+
+@@ -852,20 +852,20 @@ test_event_json_organizer (void)
+ GError *error = NULL;
+
+ event = GDATA_CALENDAR_EVENT (gdata_parsable_new_from_json (GDATA_TYPE_CALENDAR_EVENT, "{"
+- "'kind': 'calendar#event',"
+- "'id': 'some-id',"
+- "'created': '2013-12-22T18:00:00.000Z',"
+- "'summary': 'FOSDEM GNOME Beer Event',"
+- "'organizer': {"
+- "'id': 'another-id',"
+- "'displayName': 'Guillaume Desmottes'"
++ "\"kind\": \"calendar#event\","
++ "\"id\": \"some-id\","
++ "\"created\": \"2013-12-22T18:00:00.000Z\","
++ "\"summary\": \"FOSDEM GNOME Beer Event\","
++ "\"organizer\": {"
++ "\"id\": \"another-id\","
++ "\"displayName\": \"Guillaume Desmottes\""
+ "},"
+- "'attendees': ["
++ "\"attendees\": ["
+ "{"
+- "'id': 'another-id',"
+- "'displayName': 'Guillaume Desmottes',"
+- "'organizer': true,"
+- "'responseStatus': 'accepted'"
++ "\"id\": \"another-id\","
++ "\"displayName\": \"Guillaume Desmottes\","
++ "\"organizer\": true,"
++ "\"responseStatus\": \"accepted\""
+ "}"
+ "]"
+ "}", -1, &error));
+@@ -884,56 +884,56 @@ test_event_json_recurrence (void)
+ gchar *id, *uri;
+
+ event = GDATA_CALENDAR_EVENT (gdata_parsable_new_from_json (GDATA_TYPE_CALENDAR_EVENT, "{"
+- "'id': 'https://www.googleapis.com/calendar/v3/calendars/[email protected]/events/g5928e82rrch95b25f8ud0dlsg_20090429T153000Z',"
+- "'updated': '2009-04-27T17:54:10.000Z',"
+- "'summary': 'Test daily instance event',"
+- "'kind': 'calendar#event',"
+- "'creator': {"
+- "'displayName': 'GData Test',"
+- "'email': '[email protected]'"
++ "\"id\": \"https://www.googleapis.com/calendar/v3/calendars/[email protected]/events/g5928e82rrch95b25f8ud0dlsg_20090429T153000Z\","
++ "\"updated\": \"2009-04-27T17:54:10.000Z\","
++ "\"summary\": \"Test daily instance event\","
++ "\"kind\": \"calendar#event\","
++ "\"creator\": {"
++ "\"displayName\": \"GData Test\","
++ "\"email\": \"[email protected]\""
+ "},"
+- "'recurringEventId': 'g5928e82rrch95b25f8ud0dlsg',"
+- "'originalStartTime': {"
+- "'dateTime': '2009-04-29T16:30:00.000+01:00',"
+- "'timeZone': 'UTC'"
++ "\"recurringEventId\": \"g5928e82rrch95b25f8ud0dlsg\","
++ "\"originalStartTime\": {"
++ "\"dateTime\": \"2009-04-29T16:30:00.000+01:00\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'guestsCanModify': false,"
+- "'guestsCanInviteOthers': false,"
+- "'guestsCanSeeOtherGuests': false,"
+- "'anyoneCanAddSelf': false,"
+- "'status': 'confirmed',"
+- "'visibility': 'private',"
+- "'transparency': 'opaque',"
+- "'iCalUID': '[email protected]',"
+- "'sequence': '0',"
+- "'start': {"
+- "'dateTime': '2009-04-29T17:30:00.000+01:00',"
+- "'timeZone': 'UTC'"
++ "\"guestsCanModify\": false,"
++ "\"guestsCanInviteOthers\": false,"
++ "\"guestsCanSeeOtherGuests\": false,"
++ "\"anyoneCanAddSelf\": false,"
++ "\"status\": \"confirmed\","
++ "\"visibility\": \"private\","
++ "\"transparency\": \"opaque\","
++ "\"iCalUID\": \"[email protected]\","
++ "\"sequence\": \"0\","
++ "\"start\": {"
++ "\"dateTime\": \"2009-04-29T17:30:00.000+01:00\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'end': {"
+- "'dateTime': '2009-04-29T17:30:00.000+01:00',"
+- "'timeZone': 'UTC'"
++ "\"end\": {"
++ "\"dateTime\": \"2009-04-29T17:30:00.000+01:00\","
++ "\"timeZone\": \"UTC\""
+ "},"
+- "'reminders': {"
+- "'overrides': [{"
+- "'method': 'email',"
+- "'minutes': 10"
++ "\"reminders\": {"
++ "\"overrides\": [{"
++ "\"method\": \"email\","
++ "\"minutes\": 10"
+ "}, {"
+- "'method': 'popup',"
+- "'minutes': 10"
++ "\"method\": \"popup\","
++ "\"minutes\": 10"
+ "}]"
+ "},"
+- "'attendees': ["
++ "\"attendees\": ["
+ "{"
+- "'email': '[email protected]',"
+- "'displayName': 'GData Test',"
+- "'organizer': true,"
+- "'responseStatus': 'needsAction'"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"GData Test\","
++ "\"organizer\": true,"
++ "\"responseStatus\": \"needsAction\""
+ "}"
+ "],"
+- "'organizer': {"
+- "'email': '[email protected]',"
+- "'displayName': 'GData Test'"
++ "\"organizer\": {"
++ "\"email\": \"[email protected]\","
++ "\"displayName\": \"GData Test\""
+ "}"
+ "}", -1, &error));
+ g_assert_no_error (error);
+@@ -962,11 +962,11 @@ test_calendar_escaping (void)
+
+ /* Check the outputted JSON is escaped properly */
+ gdata_test_assert_json (calendar, "{"
+- "'kind': 'calendar#calendar',"
+- "'timeZone': '<timezone>',"
+- "'hidden': false,"
+- "'backgroundColor': '#000000',"
+- "'selected': false"
++ "\"kind\": \"calendar#calendar\","
++ "\"timeZone\": \"<timezone>\","
++ "\"hidden\": false,"
++ "\"backgroundColor\": \"#000000\","
++ "\"selected\": false"
+ "}");
+ g_object_unref (calendar);
+ }
+@@ -985,17 +985,17 @@ test_event_escaping (void)
+
+ /* Check the outputted JSON is escaped properly */
+ gdata_test_assert_json (event, "{"
+- "'kind': 'calendar#event',"
+- "'status': '\"status\"',"
+- "'transparency': '\"transparency\"',"
+- "'visibility': '\"visibility\"',"
+- "'iCalUID': '\"uid\"',"
+- "'recurrence': [ '\"recurrence\"' ],"
+- "'guestsCanModify': false,"
+- "'guestsCanInviteOthers': false,"
+- "'guestsCanSeeOtherGuests': false,"
+- "'anyoneCanAddSelf': false,"
+- "'attendees': []"
++ "\"kind\": \"calendar#event\","
++ "\"status\": \"\\\"status\\\"\","
++ "\"transparency\": \"\\\"transparency\\\"\","
++ "\"visibility\": \"\\\"visibility\\\"\","
++ "\"iCalUID\": \"\\\"uid\\\"\","
++ "\"recurrence\": [ \"\\\"recurrence\\\"\" ],"
++ "\"guestsCanModify\": false,"
++ "\"guestsCanInviteOthers\": false,"
++ "\"guestsCanSeeOtherGuests\": false,"
++ "\"anyoneCanAddSelf\": false,"
++ "\"attendees\": []"
+ "}");
+ g_object_unref (event);
+ }
+@@ -1092,11 +1092,11 @@ test_access_rule_json (void)
+
+ /* Check the JSON */
+ gdata_test_assert_json (rule, "{"
+- "'kind': 'calendar#aclRule',"
+- "'role': 'writer',"
+- "'scope': {"
+- "'type': 'user',"
+- "'value': '[email protected]'"
++ "\"kind\": \"calendar#aclRule\","
++ "\"role\": \"writer\","
++ "\"scope\": {"
++ "\"type\": \"user\","
++ "\"value\": \"[email protected]\""
+ "}"
+ "}");
+ }
+diff --git a/gdata/tests/general.c b/gdata/tests/general.c
+index 57f3e8e7..d195eff9 100644
+--- a/gdata/tests/general.c
++++ b/gdata/tests/general.c
+@@ -2368,27 +2368,27 @@ test_app_categories (void)
+
+ categories = GDATA_APP_CATEGORIES (gdata_parsable_new_from_json (GDATA_TYPE_APP_CATEGORIES,
+ "{"
+- "'kind': 'youtube#videoCategoryListResponse',"
+- "'etag': '\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/1v2mrzYSYG6onNLt2qTj13hkQZk\"',"
+- "'items': ["
++ "\"kind\": \"youtube#videoCategoryListResponse\","
++ "\"etag\": \"\\\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/1v2mrzYSYG6onNLt2qTj13hkQZk\\\"\","
++ "\"items\": ["
+ "{"
+- "'kind': 'youtube#videoCategory',"
+- "'etag': '\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Xy1mB4_yLrHy_BmKmPBggty2mZQ\"',"
+- "'id': '1',"
+- "'snippet': {"
+- "'channelId': 'UCBR8-60-B28hp2BmDPdntcQ',"
+- "'title': 'Film & Animation',"
+- "'assignable': true"
++ "\"kind\": \"youtube#videoCategory\","
++ "\"etag\": \"\\\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Xy1mB4_yLrHy_BmKmPBggty2mZQ\\\"\","
++ "\"id\": \"1\","
++ "\"snippet\": {"
++ "\"channelId\": \"UCBR8-60-B28hp2BmDPdntcQ\","
++ "\"title\": \"Film & Animation\","
++ "\"assignable\": true"
+ "}"
+ "},"
+ "{"
+- "'kind': 'youtube#videoCategory',"
+- "'etag': '\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/UZ1oLIIz2dxIhO45ZTFR3a3NyTA\"',"
+- "'id': '2',"
+- "'snippet': {"
+- "'channelId': 'UCBR8-60-B28hp2BmDPdntcQ',"
+- "'title': 'Autos & Vehicles',"
+- "'assignable': true"
++ "\"kind\": \"youtube#videoCategory\","
++ "\"etag\": \"\\\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/UZ1oLIIz2dxIhO45ZTFR3a3NyTA\\\"\","
++ "\"id\": \"2\","
++ "\"snippet\": {"
++ "\"channelId\": \"UCBR8-60-B28hp2BmDPdntcQ\","
++ "\"title\": \"Autos & Vehicles\","
++ "\"assignable\": true"
+ "}"
+ "}"
+ "]"
+@@ -2424,8 +2424,8 @@ test_app_categories (void)
+ /* Now parse one with less information available */
+ categories = GDATA_APP_CATEGORIES (gdata_parsable_new_from_json (GDATA_TYPE_APP_CATEGORIES,
+ "{"
+- "'kind': 'youtube#videoCategoryListResponse',"
+- "'items': []"
++ "\"kind\": \"youtube#videoCategoryListResponse\","
++ "\"items\": []"
+ "}", -1, &error));
+ g_assert_no_error (error);
+ g_assert (GDATA_IS_APP_CATEGORIES (categories));
+diff --git a/gdata/tests/streams.c b/gdata/tests/streams.c
+index 6ba5f960..c66d7a6c 100644
+--- a/gdata/tests/streams.c
++++ b/gdata/tests/streams.c
+@@ -752,15 +752,15 @@ test_upload_stream_resumable_server_handler_cb (SoupServer *server, SoupMessage
+ g_assert (message->request_body->data[message->request_body->length] == '\0');
+ g_assert (gdata_test_compare_json_strings (message->request_body->data,
+ "{"
+- "'title': 'Test title!',"
+- "'kind': 'youtube#video',"
+- "'snippet': {"
+- "'title': 'Test title!'"
++ "\"title\": \"Test title!\","
++ "\"kind\": \"youtube#video\","
++ "\"snippet\": {"
++ "\"title\": \"Test title!\""
+ "},"
+- "'status': {"
+- "'privacyStatus': 'public'"
++ "\"status\": {"
++ "\"privacyStatus\": \"public\""
+ "},"
+- "'recordingDetails': {}"
++ "\"recordingDetails\": {}"
+ "}", TRUE) == TRUE);
+
+ break;
+@@ -861,17 +861,17 @@ test_upload_stream_resumable_server_handler_cb (SoupServer *server, SoupMessage
+ error: {
+ const gchar *error_response =
+ "{"
+- "'error': {"
+- "'errors': ["
++ "\"error\": {"
++ "\"errors\": ["
+ "{"
+- "'domain': 'global',"
+- "'reason': 'authError',"
+- "'message': 'Invalid token.',"
+- "'location': 'Authorization: GoogleLogin'"
++ "\"domain\": \"global\","
++ "\"reason\": \"authError\","
++ "\"message\": \"Invalid token.\","
++ "\"location\": \"Authorization: GoogleLogin\""
+ "}"
+ "],"
+- "'code': 400,"
+- "'message': 'Invalid token.'"
++ "\"code\": 400,"
++ "\"message\": \"Invalid token.\""
+ "}"
+ "}";
+
+@@ -906,16 +906,16 @@ continuation: {
+ completion: {
+ const gchar *completion_response =
+ "{"
+- "'kind': 'youtube#video',"
+- "'snippet': {"
+- "'title': 'Test title!',"
+- "'categoryId': '10'" /* Music */
++ "\"kind\": \"youtube#video\","
++ "\"snippet\": {"
++ "\"title\": \"Test title!\","
++ "\"categoryId\": \"10\"" /* Music */
+ "},"
+- "'status': {"
+- "'privacyStatus': 'public'"
++ "\"status\": {"
++ "\"privacyStatus\": \"public\""
+ "},"
+- "'recordingDetails': {"
+- "'recordingDate': '2005-10-02'"
++ "\"recordingDetails\": {"
++ "\"recordingDate\": \"2005-10-02\""
+ "}"
+ "}";
+
+diff --git a/gdata/tests/youtube.c b/gdata/tests/youtube.c
+index e4780848..fe30ec96 100644
+--- a/gdata/tests/youtube.c
++++ b/gdata/tests/youtube.c
+@@ -104,8 +104,8 @@ get_video_for_related (void)
+
+ video = GDATA_YOUTUBE_VIDEO (gdata_parsable_new_from_json (GDATA_TYPE_YOUTUBE_VIDEO,
+ "{"
+- "'kind': 'youtube#video',"
+- "'id': 'q1UPMEmCqZo'"
++ "\"kind\": \"youtube#video\","
++ "\"id\": \"q1UPMEmCqZo\""
+ "}", -1, &error));
+ g_assert_no_error (error);
+ g_assert (GDATA_IS_YOUTUBE_VIDEO (video));
+@@ -393,312 +393,312 @@ test_parsing_app_control (void)
+
+ video = GDATA_YOUTUBE_VIDEO (gdata_parsable_new_from_json (GDATA_TYPE_YOUTUBE_VIDEO,
+ "{"
+- "'kind': 'youtube#video',"
+- "'etag': '\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/X_byq2BdOVgHzCA-ScpZbTWmgfQ\"',"
+- "'id': 'JAagedeKdcQ',"
+- "'snippet': {"
+- "'publishedAt': '2006-05-16T14:06:37.000Z',"
+- "'channelId': 'UCCS6UQvicRHyn1whEUDEMUQ',"
+- "'title': 'Judas Priest - Painkiller',"
+- "'description': 'Videoclip de Judas Priest',"
+- "'thumbnails': {"
+- "'default': {"
+- "'url': 'https://i.ytimg.com/vi/JAagedeKdcQ/default.jpg',"
+- "'width': 120,"
+- "'height': 90"
++ "\"kind\": \"youtube#video\","
++ "\"etag\": \"\\\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/X_byq2BdOVgHzCA-ScpZbTWmgfQ\\\"\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"snippet\": {"
++ "\"publishedAt\": \"2006-05-16T14:06:37.000Z\","
++ "\"channelId\": \"UCCS6UQvicRHyn1whEUDEMUQ\","
++ "\"title\": \"Judas Priest - Painkiller\","
++ "\"description\": \"Videoclip de Judas Priest\","
++ "\"thumbnails\": {"
++ "\"default\": {"
++ "\"url\": \"https://i.ytimg.com/vi/JAagedeKdcQ/default.jpg\","
++ "\"width\": 120,"
++ "\"height\": 90"
+ "},"
+- "'medium': {"
+- "'url': 'https://i.ytimg.com/vi/JAagedeKdcQ/mqdefault.jpg',"
+- "'width': 320,"
+- "'height': 180"
++ "\"medium\": {"
++ "\"url\": \"https://i.ytimg.com/vi/JAagedeKdcQ/mqdefault.jpg\","
++ "\"width\": 320,"
++ "\"height\": 180"
+ "},"
+- "'high': {"
+- "'url': 'https://i.ytimg.com/vi/JAagedeKdcQ/hqdefault.jpg',"
+- "'width': 480,"
+- "'height': 360"
++ "\"high\": {"
++ "\"url\": \"https://i.ytimg.com/vi/JAagedeKdcQ/hqdefault.jpg\","
++ "\"width\": 480,"
++ "\"height\": 360"
+ "}"
+ "},"
+- "'channelTitle': 'eluves',"
+- "'categoryId': '10',"
+- "'liveBroadcastContent': 'none',"
+- "'localized': {"
+- "'title': 'Judas Priest - Painkiller',"
+- "'description': 'Videoclip de Judas Priest'"
++ "\"channelTitle\": \"eluves\","
++ "\"categoryId\": \"10\","
++ "\"liveBroadcastContent\": \"none\","
++ "\"localized\": {"
++ "\"title\": \"Judas Priest - Painkiller\","
++ "\"description\": \"Videoclip de Judas Priest\""
+ "}"
+ "},"
+- "'contentDetails': {"
+- "'duration': 'PT6M',"
+- "'dimension': '2d',"
+- "'definition': 'sd',"
+- "'caption': 'false',"
+- "'licensedContent': false,"
+- "'regionRestriction': {"
+- "'blocked': ["
+- "'RU',"
+- "'RW',"
+- "'RS',"
+- "'RO',"
+- "'RE',"
+- "'BL',"
+- "'BM',"
+- "'BN',"
+- "'BO',"
+- "'JP',"
+- "'BI',"
+- "'BJ',"
+- "'BD',"
+- "'BE',"
+- "'BF',"
+- "'BG',"
+- "'YT',"
+- "'BB',"
+- "'CX',"
+- "'JE',"
+- "'BY',"
+- "'BZ',"
+- "'BT',"
+- "'JM',"
+- "'BV',"
+- "'BW',"
+- "'YE',"
+- "'BQ',"
+- "'BR',"
+- "'BS',"
+- "'IM',"
+- "'IL',"
+- "'IO',"
+- "'IN',"
+- "'IE',"
+- "'ID',"
+- "'QA',"
+- "'TM',"
+- "'IQ',"
+- "'IS',"
+- "'IR',"
+- "'IT',"
+- "'TK',"
+- "'AE',"
+- "'AD',"
+- "'AG',"
+- "'AF',"
+- "'AI',"
+- "'AM',"
+- "'AL',"
+- "'AO',"
+- "'AQ',"
+- "'AS',"
+- "'AR',"
+- "'AU',"
+- "'AT',"
+- "'AW',"
+- "'TG',"
+- "'AX',"
+- "'AZ',"
+- "'PR',"
+- "'HK',"
+- "'HN',"
+- "'PW',"
+- "'PT',"
+- "'HM',"
+- "'PY',"
+- "'PA',"
+- "'PF',"
+- "'PG',"
+- "'PE',"
+- "'HR',"
+- "'PK',"
+- "'PH',"
+- "'PN',"
+- "'HT',"
+- "'HU',"
+- "'OM',"
+- "'WS',"
+- "'WF',"
+- "'BH',"
+- "'KP',"
+- "'TT',"
+- "'GG',"
+- "'GF',"
+- "'GE',"
+- "'GD',"
+- "'GB',"
+- "'VN',"
+- "'VA',"
+- "'GM',"
+- "'VC',"
+- "'VE',"
+- "'GI',"
+- "'VG',"
+- "'GW',"
+- "'GU',"
+- "'GT',"
+- "'GS',"
+- "'GR',"
+- "'GQ',"
+- "'GP',"
+- "'VU',"
+- "'GY',"
+- "'NA',"
+- "'NC',"
+- "'NE',"
+- "'NF',"
+- "'NG',"
+- "'NI',"
+- "'NL',"
+- "'BA',"
+- "'NO',"
+- "'NP',"
+- "'NR',"
+- "'NU',"
+- "'NZ',"
+- "'PM',"
+- "'UM',"
+- "'TV',"
+- "'UG',"
+- "'UA',"
+- "'FI',"
+- "'FJ',"
+- "'FK',"
+- "'UY',"
+- "'FM',"
+- "'CN',"
+- "'UZ',"
+- "'US',"
+- "'ME',"
+- "'MD',"
+- "'MG',"
+- "'MF',"
+- "'MA',"
+- "'MC',"
+- "'VI',"
+- "'MM',"
+- "'ML',"
+- "'MO',"
+- "'FO',"
+- "'MH',"
+- "'MK',"
+- "'MU',"
+- "'MT',"
+- "'MW',"
+- "'MV',"
+- "'MQ',"
+- "'MP',"
+- "'MS',"
+- "'MR',"
+- "'CO',"
+- "'CV',"
+- "'MY',"
+- "'MX',"
+- "'MZ',"
+- "'TN',"
+- "'TO',"
+- "'TL',"
+- "'JO',"
+- "'TJ',"
+- "'GA',"
+- "'TH',"
+- "'TF',"
+- "'ET',"
+- "'TD',"
+- "'TC',"
+- "'ES',"
+- "'ER',"
+- "'TZ',"
+- "'EH',"
+- "'GN',"
+- "'EE',"
+- "'TW',"
+- "'EG',"
+- "'TR',"
+- "'CA',"
+- "'EC',"
+- "'GL',"
+- "'LB',"
+- "'LC',"
+- "'LA',"
+- "'MN',"
+- "'LK',"
+- "'LI',"
+- "'LV',"
+- "'LT',"
+- "'LU',"
+- "'LR',"
+- "'LS',"
+- "'PS',"
+- "'KZ',"
+- "'GH',"
+- "'LY',"
+- "'DZ',"
+- "'DO',"
+- "'DM',"
+- "'DJ',"
+- "'PL',"
+- "'DK',"
+- "'DE',"
+- "'SZ',"
+- "'SY',"
+- "'SX',"
+- "'SS',"
+- "'SR',"
+- "'SV',"
+- "'ST',"
+- "'SK',"
+- "'SJ',"
+- "'SI',"
+- "'SH',"
+- "'SO',"
+- "'SN',"
+- "'SM',"
+- "'SL',"
+- "'SC',"
+- "'SB',"
+- "'SA',"
+- "'FR',"
+- "'SG',"
+- "'SE',"
+- "'SD',"
+- "'CK',"
+- "'KR',"
+- "'CI',"
+- "'CH',"
+- "'KW',"
+- "'ZA',"
+- "'CM',"
+- "'CL',"
+- "'CC',"
+- "'ZM',"
+- "'KY',"
+- "'CG',"
+- "'CF',"
+- "'CD',"
+- "'CZ',"
+- "'CY',"
+- "'ZW',"
+- "'KG',"
+- "'CU',"
+- "'KE',"
+- "'CR',"
+- "'KI',"
+- "'KH',"
+- "'CW',"
+- "'KN',"
+- "'KM'"
++ "\"contentDetails\": {"
++ "\"duration\": \"PT6M\","
++ "\"dimension\": \"2d\","
++ "\"definition\": \"sd\","
++ "\"caption\": \"false\","
++ "\"licensedContent\": false,"
++ "\"regionRestriction\": {"
++ "\"blocked\": ["
++ "\"RU\","
++ "\"RW\","
++ "\"RS\","
++ "\"RO\","
++ "\"RE\","
++ "\"BL\","
++ "\"BM\","
++ "\"BN\","
++ "\"BO\","
++ "\"JP\","
++ "\"BI\","
++ "\"BJ\","
++ "\"BD\","
++ "\"BE\","
++ "\"BF\","
++ "\"BG\","
++ "\"YT\","
++ "\"BB\","
++ "\"CX\","
++ "\"JE\","
++ "\"BY\","
++ "\"BZ\","
++ "\"BT\","
++ "\"JM\","
++ "\"BV\","
++ "\"BW\","
++ "\"YE\","
++ "\"BQ\","
++ "\"BR\","
++ "\"BS\","
++ "\"IM\","
++ "\"IL\","
++ "\"IO\","
++ "\"IN\","
++ "\"IE\","
++ "\"ID\","
++ "\"QA\","
++ "\"TM\","
++ "\"IQ\","
++ "\"IS\","
++ "\"IR\","
++ "\"IT\","
++ "\"TK\","
++ "\"AE\","
++ "\"AD\","
++ "\"AG\","
++ "\"AF\","
++ "\"AI\","
++ "\"AM\","
++ "\"AL\","
++ "\"AO\","
++ "\"AQ\","
++ "\"AS\","
++ "\"AR\","
++ "\"AU\","
++ "\"AT\","
++ "\"AW\","
++ "\"TG\","
++ "\"AX\","
++ "\"AZ\","
++ "\"PR\","
++ "\"HK\","
++ "\"HN\","
++ "\"PW\","
++ "\"PT\","
++ "\"HM\","
++ "\"PY\","
++ "\"PA\","
++ "\"PF\","
++ "\"PG\","
++ "\"PE\","
++ "\"HR\","
++ "\"PK\","
++ "\"PH\","
++ "\"PN\","
++ "\"HT\","
++ "\"HU\","
++ "\"OM\","
++ "\"WS\","
++ "\"WF\","
++ "\"BH\","
++ "\"KP\","
++ "\"TT\","
++ "\"GG\","
++ "\"GF\","
++ "\"GE\","
++ "\"GD\","
++ "\"GB\","
++ "\"VN\","
++ "\"VA\","
++ "\"GM\","
++ "\"VC\","
++ "\"VE\","
++ "\"GI\","
++ "\"VG\","
++ "\"GW\","
++ "\"GU\","
++ "\"GT\","
++ "\"GS\","
++ "\"GR\","
++ "\"GQ\","
++ "\"GP\","
++ "\"VU\","
++ "\"GY\","
++ "\"NA\","
++ "\"NC\","
++ "\"NE\","
++ "\"NF\","
++ "\"NG\","
++ "\"NI\","
++ "\"NL\","
++ "\"BA\","
++ "\"NO\","
++ "\"NP\","
++ "\"NR\","
++ "\"NU\","
++ "\"NZ\","
++ "\"PM\","
++ "\"UM\","
++ "\"TV\","
++ "\"UG\","
++ "\"UA\","
++ "\"FI\","
++ "\"FJ\","
++ "\"FK\","
++ "\"UY\","
++ "\"FM\","
++ "\"CN\","
++ "\"UZ\","
++ "\"US\","
++ "\"ME\","
++ "\"MD\","
++ "\"MG\","
++ "\"MF\","
++ "\"MA\","
++ "\"MC\","
++ "\"VI\","
++ "\"MM\","
++ "\"ML\","
++ "\"MO\","
++ "\"FO\","
++ "\"MH\","
++ "\"MK\","
++ "\"MU\","
++ "\"MT\","
++ "\"MW\","
++ "\"MV\","
++ "\"MQ\","
++ "\"MP\","
++ "\"MS\","
++ "\"MR\","
++ "\"CO\","
++ "\"CV\","
++ "\"MY\","
++ "\"MX\","
++ "\"MZ\","
++ "\"TN\","
++ "\"TO\","
++ "\"TL\","
++ "\"JO\","
++ "\"TJ\","
++ "\"GA\","
++ "\"TH\","
++ "\"TF\","
++ "\"ET\","
++ "\"TD\","
++ "\"TC\","
++ "\"ES\","
++ "\"ER\","
++ "\"TZ\","
++ "\"EH\","
++ "\"GN\","
++ "\"EE\","
++ "\"TW\","
++ "\"EG\","
++ "\"TR\","
++ "\"CA\","
++ "\"EC\","
++ "\"GL\","
++ "\"LB\","
++ "\"LC\","
++ "\"LA\","
++ "\"MN\","
++ "\"LK\","
++ "\"LI\","
++ "\"LV\","
++ "\"LT\","
++ "\"LU\","
++ "\"LR\","
++ "\"LS\","
++ "\"PS\","
++ "\"KZ\","
++ "\"GH\","
++ "\"LY\","
++ "\"DZ\","
++ "\"DO\","
++ "\"DM\","
++ "\"DJ\","
++ "\"PL\","
++ "\"DK\","
++ "\"DE\","
++ "\"SZ\","
++ "\"SY\","
++ "\"SX\","
++ "\"SS\","
++ "\"SR\","
++ "\"SV\","
++ "\"ST\","
++ "\"SK\","
++ "\"SJ\","
++ "\"SI\","
++ "\"SH\","
++ "\"SO\","
++ "\"SN\","
++ "\"SM\","
++ "\"SL\","
++ "\"SC\","
++ "\"SB\","
++ "\"SA\","
++ "\"FR\","
++ "\"SG\","
++ "\"SE\","
++ "\"SD\","
++ "\"CK\","
++ "\"KR\","
++ "\"CI\","
++ "\"CH\","
++ "\"KW\","
++ "\"ZA\","
++ "\"CM\","
++ "\"CL\","
++ "\"CC\","
++ "\"ZM\","
++ "\"KY\","
++ "\"CG\","
++ "\"CF\","
++ "\"CD\","
++ "\"CZ\","
++ "\"CY\","
++ "\"ZW\","
++ "\"KG\","
++ "\"CU\","
++ "\"KE\","
++ "\"CR\","
++ "\"KI\","
++ "\"KH\","
++ "\"CW\","
++ "\"KN\","
++ "\"KM\""
+ "]"
+ "}"
+ "},"
+- "'status': {"
+- "'uploadStatus': 'processed',"
+- "'privacyStatus': 'private',"
+- "'license': 'youtube',"
+- "'embeddable': true,"
+- "'publicStatsViewable': true"
++ "\"status\": {"
++ "\"uploadStatus\": \"processed\","
++ "\"privacyStatus\": \"private\","
++ "\"license\": \"youtube\","
++ "\"embeddable\": true,"
++ "\"publicStatsViewable\": true"
+ "},"
+- "'statistics': {"
+- "'viewCount': '4369107',"
+- "'likeCount': '13619',"
+- "'dislikeCount': '440',"
+- "'favoriteCount': '0',"
+- "'commentCount': '11181'"
++ "\"statistics\": {"
++ "\"viewCount\": \"4369107\","
++ "\"likeCount\": \"13619\","
++ "\"dislikeCount\": \"440\","
++ "\"favoriteCount\": \"0\","
++ "\"commentCount\": \"11181\""
+ "}"
+ "}", -1, &error));
+ g_assert_no_error (error);
+@@ -726,24 +726,24 @@ test_parsing_yt_recorded (void)
+
+ video = GDATA_YOUTUBE_VIDEO (gdata_parsable_new_from_json (GDATA_TYPE_YOUTUBE_VIDEO,
+ "{"
+- "'kind': 'youtube#video',"
+- "'etag': '\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/X_byq2BdOVgHzCA-ScpZbTWmgfQ\"',"
+- "'id': 'JAagedeKdcQ',"
+- "'snippet': {"
+- "'publishedAt': '2006-05-16T14:06:37.000Z',"
+- "'channelId': 'UCCS6UQvicRHyn1whEUDEMUQ',"
+- "'title': 'Judas Priest - Painkiller',"
+- "'description': 'Videoclip de Judas Priest',"
+- "'channelTitle': 'eluves',"
+- "'categoryId': '10',"
+- "'liveBroadcastContent': 'none',"
+- "'localized': {"
+- "'title': 'Judas Priest - Painkiller',"
+- "'description': 'Videoclip de Judas Priest'"
++ "\"kind\": \"youtube#video\","
++ "\"etag\": \"\\\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/X_byq2BdOVgHzCA-ScpZbTWmgfQ\\\"\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"snippet\": {"
++ "\"publishedAt\": \"2006-05-16T14:06:37.000Z\","
++ "\"channelId\": \"UCCS6UQvicRHyn1whEUDEMUQ\","
++ "\"title\": \"Judas Priest - Painkiller\","
++ "\"description\": \"Videoclip de Judas Priest\","
++ "\"channelTitle\": \"eluves\","
++ "\"categoryId\": \"10\","
++ "\"liveBroadcastContent\": \"none\","
++ "\"localized\": {"
++ "\"title\": \"Judas Priest - Painkiller\","
++ "\"description\": \"Videoclip de Judas Priest\""
+ "}"
+ "},"
+- "'recordingDetails': {"
+- "'recordingDate': '2003-08-03'"
++ "\"recordingDetails\": {"
++ "\"recordingDate\": \"2003-08-03\""
+ "}"
+ "}", -1, &error));
+ g_assert_no_error (error);
+@@ -761,22 +761,22 @@ test_parsing_yt_recorded (void)
+ /* Check the XML */
+ gdata_test_assert_json (video,
+ "{"
+- "'kind': 'youtube#video',"
+- "'etag': '\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/X_byq2BdOVgHzCA-ScpZbTWmgfQ\"',"
+- "'id': 'JAagedeKdcQ',"
+- "'selfLink': 'https://www.googleapis.com/youtube/v3/videos?id=JAagedeKdcQ',"
+- "'title': 'Judas Priest - Painkiller',"
+- "'description': 'Videoclip de Judas Priest',"
+- "'snippet': {"
+- "'title': 'Judas Priest - Painkiller',"
+- "'description': 'Videoclip de Judas Priest',"
+- "'categoryId': '10'"
++ "\"kind\": \"youtube#video\","
++ "\"etag\": \"\\\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/X_byq2BdOVgHzCA-ScpZbTWmgfQ\\\"\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"selfLink\": \"https://www.googleapis.com/youtube/v3/videos?id=JAagedeKdcQ\","
++ "\"title\": \"Judas Priest - Painkiller\","
++ "\"description\": \"Videoclip de Judas Priest\","
++ "\"snippet\": {"
++ "\"title\": \"Judas Priest - Painkiller\","
++ "\"description\": \"Videoclip de Judas Priest\","
++ "\"categoryId\": \"10\""
+ "},"
+- "'status': {"
+- "'privacyStatus': 'public'"
++ "\"status\": {"
++ "\"privacyStatus\": \"public\""
+ "},"
+- "'recordingDetails': {"
+- "'recordingDate': '2005-10-02'"
++ "\"recordingDetails\": {"
++ "\"recordingDate\": \"2005-10-02\""
+ "}"
+ "}");
+
+@@ -793,11 +793,11 @@ test_parsing_yt_access_control (void)
+
+ video = GDATA_YOUTUBE_VIDEO (gdata_parsable_new_from_json (GDATA_TYPE_YOUTUBE_VIDEO,
+ "{"
+- "'kind': 'youtube#video',"
+- "'id': 'JAagedeKdcQ',"
+- "'status': {"
+- "'privacyStatus': 'public',"
+- "'embeddable': false"
++ "\"kind\": \"youtube#video\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"status\": {"
++ "\"privacyStatus\": \"public\","
++ "\"embeddable\": false"
+ "}"
+ "}", -1, &error));
+ g_assert_no_error (error);
+@@ -820,16 +820,16 @@ test_parsing_yt_access_control (void)
+ /* Check the JSON */
+ gdata_test_assert_json (video,
+ "{"
+- "'kind': 'youtube#video',"
+- "'id': 'JAagedeKdcQ',"
+- "'selfLink': 'https://www.googleapis.com/youtube/v3/videos?id=JAagedeKdcQ',"
+- "'title': null,"
+- "'snippet': {},"
+- "'status': {"
+- "'privacyStatus': 'unlisted',"
+- "'embeddable': true"
++ "\"kind\": \"youtube#video\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"selfLink\": \"https://www.googleapis.com/youtube/v3/videos?id=JAagedeKdcQ\","
++ "\"title\": null,"
++ "\"snippet\": {},"
++ "\"status\": {"
++ "\"privacyStatus\": \"unlisted\","
++ "\"embeddable\": true"
+ "},"
+- "'recordingDetails': {}"
++ "\"recordingDetails\": {}"
+ "}");
+
+ g_object_unref (video);
+@@ -898,12 +898,12 @@ test_parsing_georss_where (void)
+
+ video = GDATA_YOUTUBE_VIDEO (gdata_parsable_new_from_json (GDATA_TYPE_YOUTUBE_VIDEO,
+ "{"
+- "'kind': 'youtube#video',"
+- "'id': 'JAagedeKdcQ',"
+- "'recordingDetails': {"
+- "'location': {"
+- "'latitude': 41.14556884765625,"
+- "'longitude': -8.63525390625"
++ "\"kind\": \"youtube#video\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"recordingDetails\": {"
++ "\"location\": {"
++ "\"latitude\": 41.14556884765625,"
++ "\"longitude\": -8.63525390625"
+ "}"
+ "}"
+ "}", -1, &error));
+@@ -930,18 +930,18 @@ test_parsing_georss_where (void)
+ /* Check the JSON */
+ gdata_test_assert_json (video,
+ "{"
+- "'kind': 'youtube#video',"
+- "'id': 'JAagedeKdcQ',"
+- "'selfLink': 'https://www.googleapis.com/youtube/v3/videos?id=JAagedeKdcQ',"
+- "'title': null,"
+- "'snippet': {},"
+- "'status': {"
+- "'privacyStatus': 'public'"
++ "\"kind\": \"youtube#video\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"selfLink\": \"https://www.googleapis.com/youtube/v3/videos?id=JAagedeKdcQ\","
++ "\"title\": null,"
++ "\"snippet\": {},"
++ "\"status\": {"
++ "\"privacyStatus\": \"public\""
+ "},"
+- "'recordingDetails': {"
+- "'location': {"
+- "'latitude': 5.5,"
+- "'longitude': 6.5"
++ "\"recordingDetails\": {"
++ "\"location\": {"
++ "\"latitude\": 5.5,"
++ "\"longitude\": 6.5"
+ "}"
+ "}"
+ "}");
+@@ -956,15 +956,15 @@ test_parsing_georss_where (void)
+ /* Check the JSON */
+ gdata_test_assert_json (video,
+ "{"
+- "'kind': 'youtube#video',"
+- "'id': 'JAagedeKdcQ',"
+- "'selfLink': 'https://www.googleapis.com/youtube/v3/videos?id=JAagedeKdcQ',"
+- "'title': null,"
+- "'snippet': {},"
+- "'status': {"
+- "'privacyStatus': 'public'"
++ "\"kind\": \"youtube#video\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"selfLink\": \"https://www.googleapis.com/youtube/v3/videos?id=JAagedeKdcQ\","
++ "\"title\": null,"
++ "\"snippet\": {},"
++ "\"status\": {"
++ "\"privacyStatus\": \"public\""
+ "},"
+- "'recordingDetails': {}"
++ "\"recordingDetails\": {}"
+ "}");
+
+ g_object_unref (video);
+@@ -979,12 +979,12 @@ test_parsing_ratings (void)
+ /* Parse all ratings */
+ video = GDATA_YOUTUBE_VIDEO (gdata_parsable_new_from_json (GDATA_TYPE_YOUTUBE_VIDEO,
+ "{"
+- "'kind': 'youtube#video',"
+- "'id': 'JAagedeKdcQ',"
+- "'contentDetails': {"
+- "'contentRating': {"
+- "'mpaaRating': 'mpaaPg',"
+- "'tvpgRating': 'tvpgPg'"
++ "\"kind\": \"youtube#video\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"contentDetails\": {"
++ "\"contentRating\": {"
++ "\"mpaaRating\": \"mpaaPg\","
++ "\"tvpgRating\": \"tvpgPg\""
+ "}"
+ "}"
+ "}", -1, &error));
+@@ -1003,11 +1003,11 @@ test_parsing_ratings (void)
+ /* Parse a video with one rating missing and see what happens */
+ video = GDATA_YOUTUBE_VIDEO (gdata_parsable_new_from_json (GDATA_TYPE_YOUTUBE_VIDEO,
+ "{"
+- "'kind': 'youtube#video',"
+- "'id': 'JAagedeKdcQ',"
+- "'contentDetails': {"
+- "'contentRating': {"
+- "'tvpgRating': 'tvpgY7Fv'"
++ "\"kind\": \"youtube#video\","
++ "\"id\": \"JAagedeKdcQ\","
++ "\"contentDetails\": {"
++ "\"contentRating\": {"
++ "\"tvpgRating\": \"tvpgY7Fv\""
+ "}"
+ "}"
+ "}", -1, &error));
+@@ -1041,21 +1041,21 @@ test_video_escaping (void)
+ /* Check the outputted JSON is escaped properly */
+ gdata_test_assert_json (video,
+ "{"
+- "'kind': 'youtube#video',"
+- "'title': null,"
+- "'description': \"Description & 'stuff'.\","
+- "'snippet': {"
+- "'description': \"Description & 'stuff'.\","
+- "'tags': ["
+- "'<keyword1>',"
+- "'keyword2 & stuff, things'"
++ "\"kind\": \"youtube#video\","
++ "\"title\": null,"
++ "\"description\": \"Description & 'stuff'.\","
++ "\"snippet\": {"
++ "\"description\": \"Description & 'stuff'.\","
++ "\"tags\": ["
++ "\"<keyword1>\","
++ "\"keyword2 & stuff, things\""
+ "]"
+ "},"
+- "'status': {"
+- "'privacyStatus': 'public'"
++ "\"status\": {"
++ "\"privacyStatus\": \"public\""
+ "},"
+- "'recordingDetails': {"
+- "'locationDescription': \"\\\"Here\\\" & 'there'\""
++ "\"recordingDetails\": {"
++ "\"locationDescription\": \"\\\"Here\\\" & 'there'\""
+ "}"
+ "}");
+ g_object_unref (video);
+@@ -1081,13 +1081,13 @@ test_video_location (void)
+ /* Check the outputted JSON is escaped properly */
+ gdata_test_assert_json (video,
+ "{"
+- "'title': null,"
+- "'kind': 'youtube#video',"
+- "'snippet': {},"
+- "'status': {"
+- "'privacyStatus': 'public'"
++ "\"title\": null,"
++ "\"kind\": \"youtube#video\","
++ "\"snippet\": {},"
++ "\"status\": {"
++ "\"privacyStatus\": \"public\""
+ "},"
+- "'recordingDetails': {}"
++ "\"recordingDetails\": {}"
+ "}");
+
+ g_object_unref (video);
+@@ -1107,13 +1107,13 @@ test_comment_get_json (void)
+ /* Check the outputted JSON is OK */
+ gdata_test_assert_json (comment_,
+ "{"
+- "'kind': 'youtube#commentThread',"
+- "'snippet' : {"
+- "'topLevelComment': {"
+- "'kind': 'youtube#comment',"
+- "'snippet': {"
+- "'textOriginal': \"This is a comment with <markup> & 'stüff'.\","
+- "'parentId': 'http://example.com/?foo=bar&baz=shizzle'"
++ "\"kind\": \"youtube#commentThread\","
++ "\"snippet\" : {"
++ "\"topLevelComment\": {"
++ "\"kind\": \"youtube#comment\","
++ "\"snippet\": {"
++ "\"textOriginal\": \"This is a comment with <markup> & 'stüff'.\","
++ "\"parentId\": \"http://example.com/?foo=bar&baz=shizzle\""
+ "}"
+ "}"
+ "}"
+--
+GitLab