[gtk+] testsuite: Add a test for symbolic icons in specific sizes



commit 45a64cd7d47fcc5a54f3f83c73eb1d88b9351160
Author: Benjamin Otte <otte redhat com>
Date:   Thu Jun 12 12:28:07 2014 +0200

    testsuite: Add a test for symbolic icons in specific sizes
    
    Check that loading symbolics works, even if the symbolic is only
    available in a fixed size.

 testsuite/gtk/Makefile.am                     |    1 +
 testsuite/gtk/icons/32x32/only32-symbolic.svg |    4 ++++
 testsuite/gtk/icons/index.theme               |    7 ++++++-
 testsuite/gtk/icontheme.c                     |   20 ++++++++++++++++++++
 4 files changed, 31 insertions(+), 1 deletions(-)
---
diff --git a/testsuite/gtk/Makefile.am b/testsuite/gtk/Makefile.am
index 822e7b4..a0d6ee3 100644
--- a/testsuite/gtk/Makefile.am
+++ b/testsuite/gtk/Makefile.am
@@ -130,6 +130,7 @@ keyhash_SOURCES     =                                       \
 
 test_icontheme =                                       \
        icons/16x16/simple.png                          \
+       icons/32x32/only32-symbolic.svg                 \
        icons/index.theme                               \
        icons/scalable/everything-justregular.svg       \
        icons/scalable/everything-justrtl-rtl.svg       \
diff --git a/testsuite/gtk/icons/32x32/only32-symbolic.svg b/testsuite/gtk/icons/32x32/only32-symbolic.svg
new file mode 100644
index 0000000..45b553c
--- /dev/null
+++ b/testsuite/gtk/icons/32x32/only32-symbolic.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" standalone="no"?>
+<svg width="32" height="32" version="1.1" xmlns="http://www.w3.org/2000/svg";>
+  <text x="16" y="24" text-anchor="middle" font-size="24">32</text>
+</svg>
diff --git a/testsuite/gtk/icons/index.theme b/testsuite/gtk/icons/index.theme
index 28e544a..cecd974 100644
--- a/testsuite/gtk/icons/index.theme
+++ b/testsuite/gtk/icons/index.theme
@@ -3,13 +3,18 @@ Name=Icons
 Comment=Testing of the Icon theme code
 Example=16x16/simple.png
 
-Directories=16x16,scalable
+Directories=16x16,32x32,scalable
 
 [16x16]
 Context=16x16 icons
 Size=16
 Type=Fixed
 
+[32x32]
+Context=32x32 icons
+Size=32
+Type=Fixed
+
 [scalable]
 Context=scalable icons
 Type=Scalable
diff --git a/testsuite/gtk/icontheme.c b/testsuite/gtk/icontheme.c
index c72d50d..17fe6a0 100644
--- a/testsuite/gtk/icontheme.c
+++ b/testsuite/gtk/icontheme.c
@@ -405,6 +405,25 @@ test_rtl (void)
                       "/icons/scalable/everything-justrtl-rtl.svg");
 }
 
+static void
+test_symbolic_single_size (void)
+{
+  /* Check we properly load a symbolic icon from a sized directory */
+  assert_icon_lookup ("only32-symbolic",
+                      32,
+                      0,
+                      "/icons/32x32/only32-symbolic.svg");
+  /* Check that we still properly load it even if a different size is requested */
+  assert_icon_lookup ("only32-symbolic",
+                      16,
+                      0,
+                      "/icons/32x32/only32-symbolic.svg");
+  assert_icon_lookup ("only32-symbolic",
+                      128,
+                      0,
+                      "/icons/32x32/only32-symbolic.svg");
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -416,6 +435,7 @@ main (int argc, char *argv[])
   g_test_add_func ("/icontheme/force-symbolic", test_force_symbolic);
   g_test_add_func ("/icontheme/force-regular", test_force_regular);
   g_test_add_func ("/icontheme/rtl", test_rtl);
+  g_test_add_func ("/icontheme/symbolic-single-size", test_symbolic_single_size);
 
   return g_test_run();
 }


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