gdk: Improve test coverage
authorMatthias Clasen <mclasen@redhat.com>
Sat, 16 Jul 2022 03:08:28 +0000 (23:08 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 16 Jul 2022 13:43:46 +0000 (09:43 -0400)
testsuite/gdk/image-data/image-float.tiff [new file with mode: 0644]
testsuite/gdk/image.c
testsuite/gdk/rgba.c

diff --git a/testsuite/gdk/image-data/image-float.tiff b/testsuite/gdk/image-data/image-float.tiff
new file mode 100644 (file)
index 0000000..cdf42dd
Binary files /dev/null and b/testsuite/gdk/image-data/image-float.tiff differ
index 1bfdcf001e34396b03586750ef4b0b55d0def825..12b02c172d67ab6afc059e95063475811ae80a01 100644 (file)
@@ -129,6 +129,7 @@ main (int argc, char *argv[])
   g_test_add_data_func ("/image/load/tiff", "image.tiff", test_load_image);
   g_test_add_data_func ("/image/load/tiff2", "image-unassoc.tiff", test_load_image);
   g_test_add_data_func ("/image/load/tiff3", "image-tile.tiff", test_load_image);
+  g_test_add_data_func ("/image/load/tiff4", "image-float.tiff", test_load_image);
   g_test_add_data_func ("/image/load/jpeg", "image.jpeg", test_load_image);
   g_test_add_data_func ("/image/load/jpeg2", "image-cmyk.jpeg", test_load_image);
   g_test_add_data_func ("/image/load/jpeg3", "image-gray.jpeg", test_load_image);
index e6f691ed772c452331495e5fe08578bf9058863b..59f32f4126d38839723930b13a083a214cfecccb 100644 (file)
@@ -178,6 +178,33 @@ test_color_parse_nonsense (void)
 
   res = gdk_rgba_parse (&color, "rgb(0,0,0)  moo");
   g_assert_false (res);
+
+  res = gdk_rgba_parse (&color, "#XGB");
+  g_assert_false (res);
+
+  res = gdk_rgba_parse (&color, "#XGBQ");
+  g_assert_false (res);
+
+  res = gdk_rgba_parse (&color, "#AAAAXGBQ");
+  g_assert_false (res);
+}
+
+static void
+test_color_hash (void)
+{
+  GdkRGBA color1;
+  GdkRGBA color2;
+  guint hash1, hash2;
+
+  gdk_rgba_parse (&color1, "hsla (120, 255, 50%, 0.1)");
+  gdk_rgba_parse (&color2, "rgb(0,0,0)");
+
+  hash1 = gdk_rgba_hash (&color1);
+  hash2 = gdk_rgba_hash (&color2);
+
+  g_assert_cmpuint (hash1, !=, 0);
+  g_assert_cmpuint (hash2, !=, 0);
+  g_assert_cmpuint (hash1, !=, hash2);
 }
 
 int
@@ -189,6 +216,7 @@ main (int argc, char *argv[])
   g_test_add_func ("/rgba/parse/nonsense", test_color_parse_nonsense);
   g_test_add_func ("/rgba/to-string", test_color_to_string);
   g_test_add_func ("/rgba/copy", test_color_copy);
+  g_test_add_func ("/rgba/hash", test_color_hash);
 
   return g_test_run ();
 }