From 7c635516813a34aa7fb6d3192d3b55ba219aa5c1 Mon Sep 17 00:00:00 2001 From: Alessandro Astone 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': 'john.smith@example.com'," - "'displayName': 'John Smith‽'," - "'organizer': true" + "\"email\": \"john.smith@example.com\"," + "\"displayName\": \"John Smith‽\"," + "\"organizer\": true" "}" "]," - "'organizer': {" - "'email': 'john.smith@example.com'," - "'displayName': 'John Smith‽'" + "\"organizer\": {" + "\"email\": \"john.smith@example.com\"," + "\"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': 'blah@example.com'," - "'displayName': 'Ruth Pettut'" + "\"kind\": \"calendar#event\"," + "\"id\": \"some-id\"," + "\"created\": \"2017-02-04T17:53:47.000Z\"," + "\"summary\": \"Duff this\"," + "\"organizer\": {" + "\"email\": \"blah@example.com\"," + "\"displayName\": \"Ruth Pettut\"" "}," - "'attendees': [" + "\"attendees\": [" "{" - "'email': 'person1@gmail.com'," - "'displayName': 'Joe Hibbs'," - "'responseStatus': 'accepted'" + "\"email\": \"person1@gmail.com\"," + "\"displayName\": \"Joe Hibbs\"," + "\"responseStatus\": \"accepted\"" "}," "{" - "'email': 'me@gmail.com'," - "'displayName': 'Me McMeeson'," - "'self': true," - "'responseStatus': 'needsAction'" + "\"email\": \"me@gmail.com\"," + "\"displayName\": \"Me McMeeson\"," + "\"self\": true," + "\"responseStatus\": \"needsAction\"" "}," "{" - "'email': 'person2@gmail.com'," - "'responseStatus': 'needsAction'" + "\"email\": \"person2@gmail.com\"," + "\"responseStatus\": \"needsAction\"" "}," "{" - "'email': 'person3@gmail.com'," - "'displayName': 'Example Person 3'," - "'responseStatus': 'tentative'," - "'comment': 'Some poor excuse about not coming.'" + "\"email\": \"person3@gmail.com\"," + "\"displayName\": \"Example Person 3\"," + "\"responseStatus\": \"tentative\"," + "\"comment\": \"Some poor excuse about not coming.\"" "}," "{" - "'email': 'person4@gmail.com'," - "'responseStatus': 'accepted'" + "\"email\": \"person4@gmail.com\"," + "\"responseStatus\": \"accepted\"" "}," "{" - "'email': 'blah@example.com'," - "'displayName': 'Ruth Pettut'," - "'organizer': true," - "'responseStatus': 'accepted'" + "\"email\": \"blah@example.com\"," + "\"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/libgdata.test@googlemail.com/events/g5928e82rrch95b25f8ud0dlsg_20090429T153000Z'," - "'updated': '2009-04-27T17:54:10.000Z'," - "'summary': 'Test daily instance event'," - "'kind': 'calendar#event'," - "'creator': {" - "'displayName': 'GData Test'," - "'email': 'libgdata.test@googlemail.com'" + "\"id\": \"https://www.googleapis.com/calendar/v3/calendars/libgdata.test@googlemail.com/events/g5928e82rrch95b25f8ud0dlsg_20090429T153000Z\"," + "\"updated\": \"2009-04-27T17:54:10.000Z\"," + "\"summary\": \"Test daily instance event\"," + "\"kind\": \"calendar#event\"," + "\"creator\": {" + "\"displayName\": \"GData Test\"," + "\"email\": \"libgdata.test@googlemail.com\"" "}," - "'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': 'g5928e82rrch95b25f8ud0dlsg@google.com'," - "'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\": \"g5928e82rrch95b25f8ud0dlsg@google.com\"," + "\"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': 'libgdata.test@googlemail.com'," - "'displayName': 'GData Test'," - "'organizer': true," - "'responseStatus': 'needsAction'" + "\"email\": \"libgdata.test@googlemail.com\"," + "\"displayName\": \"GData Test\"," + "\"organizer\": true," + "\"responseStatus\": \"needsAction\"" "}" "]," - "'organizer': {" - "'email': 'libgdata.test@googlemail.com'," - "'displayName': 'GData Test'" + "\"organizer\": {" + "\"email\": \"libgdata.test@googlemail.com\"," + "\"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': ''," - "'hidden': false," - "'backgroundColor': '#000000'," - "'selected': false" + "\"kind\": \"calendar#calendar\"," + "\"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': 'darcy@gmail.com'" + "\"kind\": \"calendar#aclRule\"," + "\"role\": \"writer\"," + "\"scope\": {" + "\"type\": \"user\"," + "\"value\": \"darcy@gmail.com\"" "}" "}"); } 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': [" - "''," - "'keyword2 & stuff, things'" + "\"kind\": \"youtube#video\"," + "\"title\": null," + "\"description\": \"Description & 'stuff'.\"," + "\"snippet\": {" + "\"description\": \"Description & 'stuff'.\"," + "\"tags\": [" + "\"\"," + "\"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 & '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 & 'stüff'.\"," + "\"parentId\": \"http://example.com/?foo=bar&baz=shizzle\"" "}" "}" "}" -- GitLab