lilyp pushed a commit to branch gnome-team
in repository guix.

commit 930f99b8595e13e0b0fd347d05b4d21c7eb6e424
Author: Liliana Marie Prikler <[email protected]>
AuthorDate: Sun Nov 24 09:53:04 2024 +0100

    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.
---
 gnu/local.mk                                  |    1 +
 gnu/packages/gnome.scm                        |    1 +
 gnu/packages/patches/libgdata-fix-tests.patch | 1509 +++++++++++++++++++++++++
 3 files changed, 1511 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index b700128dbc..30dca28a3b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1681,6 +1681,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/libgda-fix-build.patch                  \
   %D%/packages/patches/libgda-fix-missing-initialization.patch \
   %D%/packages/patches/libgda-skip-postgresql-tests.patch      \
+  %D%/packages/patches/libgdata-fix-tests.patch        \
   %D%/packages/patches/libgit2-mtime-0.patch                   \
   %D%/packages/patches/libgit2-uninitialized-proxy-settings.patch      \
   %D%/packages/patches/libgnome-encoding.patch                 \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6575f87715..734864c4bf 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2064,6 +2064,7 @@ formats like PNG, SVG, PDF and EPS.")
               (uri (string-append "mirror://gnome/sources/" name "/"
                                   (version-major+minor version)  "/"
                                   name "-" version ".tar.xz"))
+              (patches (search-patches "libgdata-fix-tests.patch"))
               (sha256
                (base32
                 "1iq4d1qy0vkmy29xvr13dgz4pxvn5v3yi2swryld0ajinvp951fx"))))
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


Reply via email to