[grilo-plugins] tests: tmdb: Verify release dates and certs



commit beb200872c73cdf6067ce881181d03702c5be576
Author: Mathias Hasselmann <mathias openismus com>
Date:   Mon Dec 3 14:56:40 2012 +0100

    tests: tmdb: Verify release dates and certs

 test/test_data/tmdb/releases.txt |    2 +-
 test/test_tmdb_fast_resolution.c |    7 +---
 test/test_tmdb_full_resolution.c |   55 +++++++++++++++++++++++++++----------
 3 files changed, 43 insertions(+), 21 deletions(-)
---
diff --git a/test/test_data/tmdb/releases.txt b/test/test_data/tmdb/releases.txt
index 5746bc3..a9f243e 100644
--- a/test/test_data/tmdb/releases.txt
+++ b/test/test_data/tmdb/releases.txt
@@ -1 +1 @@
-{"id":10528,"countries":[{"iso_3166_1":"US","certification":"PG-13","release_date":"2009-12-25"},{"iso_3166_1":"DK","certification":"15","release_date":"2009-12-25"},{"iso_3166_1":"FR","certification":"","release_date":"2010-02-03"},{"iso_3166_1":"DE","certification":"12","release_date":"2010-01-28"},{"iso_3166_1":"HU","certification":"16","release_date":"2010-01-07"},{"iso_3166_1":"BG","certification":"C","release_date":"2010-01-01"},{"iso_3166_1":"NL","certification":"12","release_date":"2009-01-07"},{"iso_3166_1":"GB","certification":"12A","release_date":"2009-12-26"}]}
\ No newline at end of file
+{"id":10528,"countries":[{"iso_3166_1":"US","certification":"PG-13","release_date":"2009-12-25"},{"iso_3166_1":"DK","certification":"15","release_date":"2009-12-25"},{"iso_3166_1":"FR","certification":"","release_date":"2010-02-03"},{"iso_3166_1":"DE","certification":"12","release_date":"2010-01-28"},{"iso_3166_1":"HU","certification":"16","release_date":"2010-01-07"},{"iso_3166_1":"BG","certification":"C","release_date":"2010-01-01"},{"iso_3166_1":"NL","certification":"12","release_date":"2010-01-07"},{"iso_3166_1":"GB","certification":"12A","release_date":"2009-12-26"}]}
diff --git a/test/test_tmdb_fast_resolution.c b/test/test_tmdb_fast_resolution.c
index 90fbd45..58992f2 100644
--- a/test/test_tmdb_fast_resolution.c
+++ b/test/test_tmdb_fast_resolution.c
@@ -41,7 +41,6 @@ test (void)
 {
   GrlKeyID backdrop, posters;
   GrlRegistry *registry;
-  GDateTime *date, *orig;
   GrlOperationOptions *options = NULL;
   GrlMedia *media = NULL;
   GError *error = NULL;
@@ -83,10 +82,8 @@ test (void)
 
   g_assert_cmpstr (grl_data_get_string (GRL_DATA (media), posters), ==,
                    "http://cf2.imgobject.com/t/p/original/22ngurXbLqab7Sko6aTSdwOCe5W.jpg";);
-  orig = g_date_time_new_utc (2009, 12, 25, 0, 0, 0.0);
-  date = grl_media_get_publication_date (media);
-  g_assert_cmpint (g_date_time_compare (orig, date), ==, 0);
-  g_date_time_unref (orig);
+
+  g_assert (grl_media_get_publication_date (media) == NULL);
 
   g_object_unref (media);
   media = NULL;
diff --git a/test/test_tmdb_full_resolution.c b/test/test_tmdb_full_resolution.c
index 3a76fa2..38a9aaf 100644
--- a/test/test_tmdb_full_resolution.c
+++ b/test/test_tmdb_full_resolution.c
@@ -31,9 +31,17 @@
  * A simple == will fail on values that are effectively the same,
  * due to rounding issues.
  */
-static gboolean compare_floats(gfloat a, gfloat b)
+static gboolean compare_floats (gfloat a, gfloat b)
 {
-   return fabs(a - b) < DBL_EPSILON;
+  return fabs(a - b) < DBL_EPSILON;
+}
+
+const char *iso_date (const GDateTime *date, char **strbuf)
+{
+  if (*strbuf)
+    g_free (*strbuf);
+
+  return (*strbuf = g_date_time_format ((GDateTime *) date, "%F"));
 }
 
 #define DESCRIPTION \
@@ -47,7 +55,9 @@ test (void)
   GrlKeyID backdrop, posters, imdb_id;
   GrlOperationOptions *options = NULL;
   GrlMedia *media = NULL;
-  GDateTime *date, *orig;
+  const GDateTime *date;
+  const char *cert;
+  char *tmp = NULL;
 
   test_setup_tmdb ();
 
@@ -84,10 +94,7 @@ test (void)
 
   g_assert_cmpstr (grl_data_get_string (GRL_DATA (media), posters), ==,
                    "http://cf2.imgobject.com/t/p/original/22ngurXbLqab7Sko6aTSdwOCe5W.jpg";);
-  orig = g_date_time_new_utc (2009, 12, 25, 0, 0, 0.0);
-  date = grl_media_get_publication_date (media);
-  g_assert_cmpint (g_date_time_compare (orig, date), ==, 0);
-  g_date_time_unref (orig);
+  g_assert (grl_media_get_publication_date (media) != NULL);
 
   /* And now the slow properties */
   g_assert_cmpstr (grl_media_get_site (media), ==,
@@ -97,10 +104,6 @@ test (void)
 
   g_assert_cmpstr (grl_media_get_description (media), ==, DESCRIPTION);
 
-  /* TODO: See https://bugzilla.gnome.org/show_bug.cgi?id=679686#c13
-  g_assert_cmpstr (grl_media_get_certificate (media), ==, "PG-13");
-  */
-
   g_assert_cmpstr (grl_data_get_string (GRL_DATA (media), imdb_id), ==, "tt0988045");
   g_assert_cmpint (grl_data_length (GRL_DATA (media), GRL_METADATA_KEY_KEYWORD), ==, 15);
 
@@ -111,10 +114,32 @@ test (void)
   g_assert_cmpint (grl_data_length (GRL_DATA (media), GRL_METADATA_KEY_DIRECTOR), ==, 1);
   g_assert_cmpstr (grl_data_get_string (GRL_DATA (media), GRL_METADATA_KEY_DIRECTOR), ==, "Guy Ritchie");
 
-  /* TODO: See https://bugzilla.gnome.org/show_bug.cgi?id=679686#c13
-  g_assert_cmpstr (grl_data_get_string (GRL_DATA (media), age_certs), ==,
-                   "GB:12A;NL:12;BG:C;HU:16;DE:12;DK:15;US:PG-13");
-  */
+  g_assert_cmpint (grl_data_length (GRL_DATA (media), GRL_METADATA_KEY_REGION), ==, 8);
+
+  g_assert_cmpstr (grl_media_get_region_data_nth (media, 0, &date, &cert), ==, "GB");
+  g_assert_cmpstr (iso_date (date, &tmp), ==, "2009-12-26");
+  g_assert_cmpstr (cert, ==, "12A");
+  g_assert_cmpstr (grl_media_get_region_data_nth (media, 1, &date, &cert), ==, "NL");
+  g_assert_cmpstr (iso_date (date, &tmp), ==, "2010-01-07");
+  g_assert_cmpstr (cert, ==, "12");
+  g_assert_cmpstr (grl_media_get_region_data_nth (media, 2, &date, &cert), ==, "BG");
+  g_assert_cmpstr (iso_date (date, &tmp), ==, "2010-01-01");
+  g_assert_cmpstr (cert, ==, "C");
+  g_assert_cmpstr (grl_media_get_region_data_nth (media, 3, &date, &cert), ==, "HU");
+  g_assert_cmpstr (iso_date (date, &tmp), ==, "2010-01-07");
+  g_assert_cmpstr (cert, ==, "16");
+  g_assert_cmpstr (grl_media_get_region_data_nth (media, 4, &date, &cert), ==, "DE");
+  g_assert_cmpstr (iso_date (date, &tmp), ==, "2010-01-28");
+  g_assert_cmpstr (cert, ==, "12");
+  g_assert_cmpstr (grl_media_get_region_data_nth (media, 5, &date, &cert), ==, "FR");
+  g_assert_cmpstr (iso_date (date, &tmp), ==, "2010-02-03");
+  g_assert_cmpstr (cert, ==, "");
+  g_assert_cmpstr (grl_media_get_region_data_nth (media, 6, &date, &cert), ==, "DK");
+  g_assert_cmpstr (iso_date (date, &tmp), ==, "2009-12-25");
+  g_assert_cmpstr (cert, ==, "15");
+  g_assert_cmpstr (grl_media_get_region_data_nth (media, 7, &date, &cert), ==, "US");
+  g_assert_cmpstr (iso_date (date, &tmp), ==, "2009-12-25");
+  g_assert_cmpstr (cert, ==, "PG-13");
 
   g_object_unref (media);
   media = NULL;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]