Title: [1034] trunk/image_voodoo: Fix class #with_image to not check for extensions; make error/ exception API a little more sane
Revision
1034
Author
nicksieger
Date
2008-07-02 12:18:23 -0400 (Wed, 02 Jul 2008)

Log Message

Fix class #with_image to not check for extensions; make error/exception API a little more sane

Modified Paths

Diff

Modified: trunk/image_voodoo/lib/image_voodoo.rb (1033 => 1034)


--- trunk/image_voodoo/lib/image_voodoo.rb	2008-06-27 02:07:01 UTC (rev 1033)
+++ trunk/image_voodoo/lib/image_voodoo.rb	2008-07-02 16:18:23 UTC (rev 1034)
@@ -303,12 +303,10 @@
   # A top-level image loader opens path and then yields/returns the image.
   #
   def self.with_image(file)
-    readers = ImageIO.getImageReadersBySuffix(File.extname(file)[1..-1])
-    raise TypeError, "unrecognized format for #{file}" unless readers.hasNext
-    image = ImageVoodoo.new ImageIO.read(JFile.new(file))
-    block_given? ? yield(image) : image
-  rescue NativeException => ne
-    nil
+    raise ArgumentError, "file does not exist" unless File.file?(file)
+    buffered_image = ImageIO.read(JFile.new(file))
+    image = ImageVoodoo.new(buffered_image) if buffered_image
+    image && block_given? ? yield(image) : image
   end
 
   # 

Modified: trunk/image_voodoo/test/test_image_science.rb (1033 => 1034)


--- trunk/image_voodoo/test/test_image_science.rb	2008-06-27 02:07:01 UTC (rev 1033)
+++ trunk/image_voodoo/test/test_image_science.rb	2008-07-02 16:18:23 UTC (rev 1034)
@@ -33,7 +33,7 @@
   end
 
   def test_class_with_image_missing
-    assert_raises TypeError do
+    assert_raises ArgumentError do
       ImageScience.with_image @path + "nope" do |img|
         flunk
       end
@@ -41,7 +41,16 @@
   end
 
   def test_class_with_image_missing_with_img_extension
-    assert_nil ImageScience.with_image("[EMAIL PROTECTED]") do |img|
+    assert_raises ArgumentError do
+      ImageScience.with_image("[EMAIL PROTECTED]") do |img|
+        flunk
+      end
+    end
+  end
+
+  def test_class_with_image_return_nil_on_bogus_image
+    File.open(@tmppath, "w") {|f| f << "bogus image file"}
+    assert_nil ImageScience.with_image(@tmppath) do |img|
       flunk
     end
   end
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to