Author: michiel
Date: 2009-11-11 13:55:22 +0100 (Wed, 11 Nov 2009)
New Revision: 39642

Added:
   
mmbase/trunk/applications/resources/src/test/java/org/mmbase/util/images/ImageMagickImageConverterTest.java
Modified:
   
mmbase/trunk/applications/resources/src/main/java/org/mmbase/util/images/ImageMagickImageConverter.java
Log:
I found an image magick not matching the regexp

Modified: 
mmbase/trunk/applications/resources/src/main/java/org/mmbase/util/images/ImageMagickImageConverter.java
===================================================================
--- 
mmbase/trunk/applications/resources/src/main/java/org/mmbase/util/images/ImageMagickImageConverter.java
     2009-11-11 12:03:48 UTC (rev 39641)
+++ 
mmbase/trunk/applications/resources/src/main/java/org/mmbase/util/images/ImageMagickImageConverter.java
     2009-11-11 12:55:22 UTC (rev 39642)
@@ -30,7 +30,7 @@
 public class ImageMagickImageConverter extends AbstractImageConverter 
implements ImageConverter {
     private static final Logger log = 
Logging.getLoggerInstance(ImageMagickImageConverter.class);
 
-    private static final Pattern IM_VERSION_PATTERN = 
Pattern.compile("(?is).*?\\s(\\d+)\\.(\\d+)\\.(\\d+)\\s.*");
+    static final Pattern IM_VERSION_PATTERN = 
Pattern.compile("(?is).*?\\s(\\d+)\\.(\\d+)\\.(\\d+)(-[0-9]+)?\\s.*");
     private static final Pattern IM_FORMAT_PATTERN  = 
Pattern.compile("(?is)\\s*([A-Z0-9]+)\\*?\\s+[A-Z0-9]*\\s*[r\\-]w[\\+\\-]\\s+.*");
 
     private int imVersionMajor = 5;
@@ -227,7 +227,7 @@
                 log.service("Found ImageMagick version " + imVersionMajor + 
"." + imVersionMinor + "." + imVersionPatch);
             } else {
                 log.error( "converter from location " + converterPath + ", 
gave strange result: " + imOutput
-                           + "conv.root='" + converterRoot + "' 
conv.command='" + converterCommand + "'");
+                           + "conv.root='" + converterRoot + "' 
conv.command='" + converterCommand + "'. (Doesn't match " + IM_VERSION_PATTERN 
+ ")");
                 log.info("Supposing ImageMagick version " + imVersionMajor + 
"." + imVersionMinor + "." + imVersionPatch);
 
             }

Added: 
mmbase/trunk/applications/resources/src/test/java/org/mmbase/util/images/ImageMagickImageConverterTest.java
===================================================================
--- 
mmbase/trunk/applications/resources/src/test/java/org/mmbase/util/images/ImageMagickImageConverterTest.java
                         (rev 0)
+++ 
mmbase/trunk/applications/resources/src/test/java/org/mmbase/util/images/ImageMagickImageConverterTest.java
 2009-11-11 12:55:22 UTC (rev 39642)
@@ -0,0 +1,45 @@
+/*
+
+This software is OSI Certified Open Source Software.
+OSI Certified is a certification mark of the Open Source Initiative.
+
+The license (Mozilla version 1.0) can be read at the MMBase site.
+See http://www.MMBase.org/license
+
+*/
+package org.mmbase.util.images;
+
+import java.io.*;
+import java.util.*;
+import java.util.regex.*;
+import org.mmbase.util.*;
+
+import org.junit.*;
+import org.junit.runner.*;
+import org.junit.runners.*;
+import static org.junit.Assert.*;
+import static org.junit.Assume.*;
+
+/**
+ *
+ * @author Michiel Meeuwissen
+ */
+
+public class ImageMagickImageConverterTest {
+
+
+    public void imageMagickVersion(String version, int major, int minor, int 
patch) {
+       Matcher m = 
ImageMagickImageConverter.IM_VERSION_PATTERN.matcher(version);
+       assert(m.matches());
+       assertEquals(major, Integer.parseInt(m.group(1)));
+       assertEquals(minor, Integer.parseInt(m.group(2)));
+       assertEquals(patch, Integer.parseInt(m.group(3)));
+    }
+
+    @Test
+    public void imageMagickVersion() throws IOException {
+        imageMagickVersion("Version: ImageMagick 6.3.7 03/20/08 Q16 
http://www.imagemagick.org";, 6, 3, 7);
+        imageMagickVersion("Version: ImageMagick 6.5.1-0 2009-08-27 Q16 OpenMP 
http://www.imagemagick.org";, 6, 5, 1);
+    }
+
+}

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to