]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
img test: Don't rely on using an empty ImageMagick coder name
authorSimon McVittie <smcv@debian.org>
Wed, 28 Feb 2018 09:49:46 +0000 (09:49 +0000)
committerSimon McVittie <smcv@debian.org>
Wed, 28 Feb 2018 09:56:07 +0000 (09:56 +0000)
This used to work, but has been interpreted as a literal part of
the filename since ImageMagick 6.9.8-3. In newer versions, there does
not seem to be any way to indicate that a filename containing ':' is
to be taken literally without first knowing the decoder to use.

Signed-off-by: Simon McVittie <smcv@debian.org>
t/img.t

diff --git a/t/img.t b/t/img.t
index 6049042c2311b8055e10c87c104ac7d797bad40f..e42d85353c8f33aabc7da4a96f5f2104ed19c598 100755 (executable)
--- a/t/img.t
+++ b/t/img.t
@@ -105,8 +105,21 @@ ok(! system(@command, '--set-yaml', 'img_allowed_formats=[JPEG, PNG, svg, pdf]')
 
 sub size($) {
        my $filename = shift;
+       my $decoder;
+       if ($filename =~ m/\.png$/i) {
+               $decoder = 'png';
+       }
+       elsif ($filename =~ m/\.jpe?g$/i) {
+               $decoder = 'jpeg';
+       }
+       elsif ($filename =~ m/\.bmp$/i) {
+               $decoder = 'bmp';
+       }
+       else {
+               die "Unexpected extension in '$filename'";
+       }
        my $im = Image::Magick->new();
-       my $r = $im->Read(":$filename");
+       my $r = $im->Read("$decoder:$filename");
        return "no image: $r" if $r;
        my $w = $im->Get("width");
        my $h = $im->Get("height");