From 0a3947d3207cc3301313e2f4d19f73db729c74d8 Mon Sep 17 00:00:00 2001 From: Chris Eppstein Date: Mon, 22 Feb 2010 00:12:23 -0800 Subject: [PATCH] Add tests, fix some bugs in the image_size helpers, dropped support for bmp because it was broken. --- .../sass_extensions/functions/image_size.rb | 16 +++++++--------- test/compass_test.rb | 2 +- test/fixtures/stylesheets/compass/100x150.jpg | Bin 0 -> 14497 bytes .../stylesheets/compass/css/image_size.css | 15 +++++++++++++++ .../stylesheets/compass/images/100x150.gif | Bin 0 -> 11928 bytes .../stylesheets/compass/images/100x150.jpeg | Bin 0 -> 14497 bytes .../stylesheets/compass/images/100x150.jpg | Bin 0 -> 14497 bytes .../stylesheets/compass/images/100x150.png | Bin 0 -> 10184 bytes .../stylesheets/compass/sass/image_size.sass | 12 ++++++++++++ 9 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 test/fixtures/stylesheets/compass/100x150.jpg create mode 100644 test/fixtures/stylesheets/compass/css/image_size.css create mode 100644 test/fixtures/stylesheets/compass/images/100x150.gif create mode 100644 test/fixtures/stylesheets/compass/images/100x150.jpeg create mode 100644 test/fixtures/stylesheets/compass/images/100x150.jpg create mode 100644 test/fixtures/stylesheets/compass/images/100x150.png create mode 100644 test/fixtures/stylesheets/compass/sass/image_size.sass diff --git a/lib/compass/sass_extensions/functions/image_size.rb b/lib/compass/sass_extensions/functions/image_size.rb index 453010bc..864b8cdc 100644 --- a/lib/compass/sass_extensions/functions/image_size.rb +++ b/lib/compass/sass_extensions/functions/image_size.rb @@ -1,10 +1,12 @@ module Compass::SassExtensions::Functions::ImageSize + # Returns the width of the image relative to the images directory def image_width(image_file) image_path = real_path(image_file) width = ImageProperties.new(image_path).size.first Sass::Script::Number.new(width,["px"]) end + # Returns the height of the image relative to the images directory def image_height(image_file) image_path = real_path(image_file) height = ImageProperties.new(image_path).size.last @@ -15,8 +17,8 @@ private def real_path(image_file) path = image_file.value # Compute the real path to the image on the file stystem if the images_dir is set. - if Compass.configuration.images_dir - File.join(Compass.configuration.project_path, Compass.configuration.images_dir, path) + if Compass.configuration.images_path + File.join(Compass.configuration.images_path, path) else File.join(Compass.configuration.project_path, path) end @@ -29,7 +31,9 @@ private end def size - @dimensions ||= send("get_size_for_#{@file_type}") + @dimensions ||= send(:"get_size_for_#{@file_type}") + rescue NoMethodError + raise Sass::SyntaxError, "Unrecognized file type: #{@file_type}" end private @@ -39,12 +43,6 @@ private def get_size_for_gif size = IO.read(@file)[6..10].unpack('SS') - size.inspect - end - - def get_size_for_bmp - d = IO.read(@file)[14..28] - d[0] == 40 ? d[4..-1].unpack('LL') : d[4..8].unpack('SS') end def get_size_for_jpg diff --git a/test/compass_test.rb b/test/compass_test.rb index d0e43f23..665d0070 100644 --- a/test/compass_test.rb +++ b/test/compass_test.rb @@ -42,7 +42,7 @@ class CompassTest < Test::Unit::TestCase each_css_file(proj.css_path) do |css_file| assert_no_errors css_file, 'compass' end - assert_renders_correctly :reset, :layout, :utilities, :gradients + assert_renders_correctly :reset, :layout, :utilities, :gradients, :image_size end end diff --git a/test/fixtures/stylesheets/compass/100x150.jpg b/test/fixtures/stylesheets/compass/100x150.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7077121348c2117e997b5c6e9d202a069bd1c525 GIT binary patch literal 14497 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�zg6D)Xg?&V{MTNw8#d#!n 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