diff --git a/testsuite/gtk/icons/15/size-test.png b/testsuite/gtk/icons/15/size-test.png new file mode 100644 index 0000000000..a4061a5ace Binary files /dev/null and b/testsuite/gtk/icons/15/size-test.png differ diff --git a/testsuite/gtk/icons/16-22/size-test.png b/testsuite/gtk/icons/16-22/size-test.png new file mode 100644 index 0000000000..fed0c268b1 Binary files /dev/null and b/testsuite/gtk/icons/16-22/size-test.png differ diff --git a/testsuite/gtk/icons/25+/size-test.svg b/testsuite/gtk/icons/25+/size-test.svg new file mode 100644 index 0000000000..ce0bbe1b11 --- /dev/null +++ b/testsuite/gtk/icons/25+/size-test.svg @@ -0,0 +1,87 @@ + + + + + + + + + + image/svg+xml + + + + + + + 30 + + diff --git a/testsuite/gtk/icons/35+/size-test.svg b/testsuite/gtk/icons/35+/size-test.svg new file mode 100644 index 0000000000..e6019934e0 --- /dev/null +++ b/testsuite/gtk/icons/35+/size-test.svg @@ -0,0 +1,87 @@ + + + + + + + + + + image/svg+xml + + + + + + + 40 + + diff --git a/testsuite/gtk/icons/index.theme b/testsuite/gtk/icons/index.theme index 20c53bb7c0..dbe538c5da 100644 --- a/testsuite/gtk/icons/index.theme +++ b/testsuite/gtk/icons/index.theme @@ -3,7 +3,7 @@ Name=Icons Comment=Testing of the Icon theme code Example=16x16/simple.png -Directories=16x16,16x16s,32x32,32x32s,scalable +Directories=16x16,16x16s,32x32,32x32s,scalable,15,16-22,25+,35+ [16x16] Context=16x16 icons @@ -35,3 +35,28 @@ Type=Scalable Size=128 MinSize=1 MaxSize=256 + +[15] +Context=none +Type=Fixed +Size=15 + +[16-22] +Context=none +Type=Threshold +Size=19 +Threshold=3 + +[25+] +Context=none +Type=Scalable +Size=30 +MinSize=25 +MaxSize=35 + +[35+] +Context=none +Type=Scalable +Size=40 +MinSize=35 +MaxSize=1000 diff --git a/testsuite/gtk/icontheme.c b/testsuite/gtk/icontheme.c index cef4ca855b..f57d5aa1a7 100644 --- a/testsuite/gtk/icontheme.c +++ b/testsuite/gtk/icontheme.c @@ -484,6 +484,52 @@ test_builtin (void) assert_icon_lookup_size ("gtk-caps-lock-warning", 30, GTK_ICON_LOOKUP_USE_BUILTIN, NULL, 30); } +static void +test_size (void) +{ + assert_icon_lookup_size ("size-test", 12, 0, "/icons/15/size-test.png", 15); + assert_icon_lookup_size ("size-test", 13, 0, "/icons/15/size-test.png", 15); + assert_icon_lookup_size ("size-test", 14, 0, "/icons/15/size-test.png", 15); + assert_icon_lookup_size ("size-test", 15, 0, "/icons/15/size-test.png", 15); + assert_icon_lookup_size ("size-test", 16, 0, "/icons/16-22/size-test.png", 19); + assert_icon_lookup_size ("size-test", 17, 0, "/icons/16-22/size-test.png", 19); + assert_icon_lookup_size ("size-test", 18, 0, "/icons/16-22/size-test.png", 19); + assert_icon_lookup_size ("size-test", 19, 0, "/icons/16-22/size-test.png", 19); + //assert_icon_lookup_size ("size-test", 20, 0, "/icons/16-22/size-test.png", 19); + //assert_icon_lookup_size ("size-test", 21, 0, "/icons/16-22/size-test.png", 19); + //assert_icon_lookup_size ("size-test", 22, 0, "/icons/16-22/size-test.png", 19); + assert_icon_lookup_size ("size-test", 23, 0, "/icons/25+/size-test.svg", 23); + assert_icon_lookup_size ("size-test", 24, 0, "/icons/25+/size-test.svg", 24); + assert_icon_lookup_size ("size-test", 25, 0, "/icons/25+/size-test.svg", 25); + assert_icon_lookup_size ("size-test", 28, 0, "/icons/25+/size-test.svg", 28); + //assert_icon_lookup_size ("size-test", 31, 0, "/icons/25+/size-test.svg", 31); + //assert_icon_lookup_size ("size-test", 34, 0, "/icons/25+/size-test.svg", 34); + assert_icon_lookup_size ("size-test", 37, 0, "/icons/35+/size-test.svg", 37); + assert_icon_lookup_size ("size-test", 40, 0, "/icons/35+/size-test.svg", 40); + assert_icon_lookup_size ("size-test", 45, 0, "/icons/35+/size-test.svg", 45); + + assert_icon_lookup_size ("size-test", 12, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/15/size-test.png", 12); + assert_icon_lookup_size ("size-test", 13, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/15/size-test.png", 13); + assert_icon_lookup_size ("size-test", 14, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/15/size-test.png", 14); + assert_icon_lookup_size ("size-test", 15, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/15/size-test.png", 15); + assert_icon_lookup_size ("size-test", 16, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/16-22/size-test.png", 16); + assert_icon_lookup_size ("size-test", 17, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/16-22/size-test.png", 17); + assert_icon_lookup_size ("size-test", 18, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/16-22/size-test.png", 18); + assert_icon_lookup_size ("size-test", 19, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/16-22/size-test.png", 19); + //assert_icon_lookup_size ("size-test", 20, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/16-22/size-test.png", 20); + //assert_icon_lookup_size ("size-test", 21, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/16-22/size-test.png", 21); + //assert_icon_lookup_size ("size-test", 22, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/16-22/size-test.png", 22); + assert_icon_lookup_size ("size-test", 23, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/25+/size-test.svg", 23); + assert_icon_lookup_size ("size-test", 24, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/25+/size-test.svg", 24); + assert_icon_lookup_size ("size-test", 25, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/25+/size-test.svg", 25); + assert_icon_lookup_size ("size-test", 28, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/25+/size-test.svg", 28); + //assert_icon_lookup_size ("size-test", 31, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/25+/size-test.svg", 31); + //assert_icon_lookup_size ("size-test", 34, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/25+/size-test.svg", 34); + assert_icon_lookup_size ("size-test", 37, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/35+/size-test.svg", 37); + assert_icon_lookup_size ("size-test", 40, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/35+/size-test.svg", 40); + assert_icon_lookup_size ("size-test", 45, GTK_ICON_LOOKUP_FORCE_SIZE, "/icons/35+/size-test.svg", 45); +} + int main (int argc, char *argv[]) { @@ -497,6 +543,7 @@ main (int argc, char *argv[]) g_test_add_func ("/icontheme/rtl", test_rtl); g_test_add_func ("/icontheme/symbolic-single-size", test_symbolic_single_size); g_test_add_func ("/icontheme/svg-size", test_svg_size); + g_test_add_func ("/icontheme/size", test_size); g_test_add_func ("/icontheme/builtin", test_builtin); return g_test_run();