testsuite: Add a test targeting GL upload code
authorBenjamin Otte <otte@redhat.com>
Fri, 8 Oct 2021 18:15:07 +0000 (20:15 +0200)
committerBenjamin Otte <otte@redhat.com>
Sat, 9 Oct 2021 02:44:30 +0000 (04:44 +0200)
Previously, all the tests used the icon upload path using
glTexSubImage2D().

This test uses the custom texture path using glTexImage2D().

testsuite/gdk/memorytexture.c

index 488aec4d6cbbf7aa0926cf4f1c30cbc5fd78c41d..401ad58d2fc346dcbf1bcdd6ccae91f1dd3e1867 100644 (file)
@@ -618,6 +618,27 @@ test_download_4x4 (gconstpointer data)
     }
 }
 
+/* larger than what NGL puts into the icon cache */
+static void
+test_download_192x192 (gconstpointer data)
+{
+  GdkMemoryFormat format;
+  TextureMethod method;
+  GdkTexture *expected, *test;
+  GdkRGBA color;
+
+  decode (data, &format, &method);
+
+  create_random_color (&color);
+  expected = create_texture (GDK_MEMORY_DEFAULT, TEXTURE_METHOD_LOCAL, 192, 192, &color);
+  test = create_texture (format, method, 192, 192, &color);
+  
+  compare_textures (expected, test, gdk_memory_format_has_alpha (format));
+
+  g_object_unref (expected);
+  g_object_unref (test);
+}
+
 static void
 test_download_float_1x1 (gconstpointer data)
 {
@@ -708,6 +729,7 @@ main (int argc, char *argv[])
 
   add_test ("/memorytexture/download_1x1", test_download_1x1);
   add_test ("/memorytexture/download_4x4", test_download_4x4);
+  add_test ("/memorytexture/download_192x192", test_download_192x192);
   add_test ("/memorytexture/download_float_1x1", test_download_float_1x1);
   add_test ("/memorytexture/download_float_4x4", test_download_float_4x4);