diff --git a/testsuite/gtk/Makefile.am b/testsuite/gtk/Makefile.am index 822e7b45d2..a0d6ee3e40 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 0000000000..45b553cb11 --- /dev/null +++ b/testsuite/gtk/icons/32x32/only32-symbolic.svg @@ -0,0 +1,4 @@ + + + 32 + diff --git a/testsuite/gtk/icons/index.theme b/testsuite/gtk/icons/index.theme index 28e544aa59..cecd974868 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 c72d50d0a0..17fe6a04e2 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(); }