more importer tests

This commit is contained in:
Scott Davis 2011-07-27 02:39:24 -04:00
parent 0984b48b24
commit 8c48248a72
6 changed files with 56 additions and 4 deletions

View File

@ -1,7 +1,7 @@
PATH
remote: .
specs:
compass (0.12.0.alpha.0.71494ce)
compass (0.12.0.alpha.0.0984b48)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.1)

View File

@ -17,7 +17,16 @@ module Compass
# The Full path to the image
def file
File.join(Compass.configuration.images_path, relative_file)
@file ||= find_file
end
def find_file
Compass.configuration.sprite_load_path.each do |path|
f = File.join(path, relative_file)
if File.exists?(f)
return f
end
end
end
# Width of the image
@ -25,6 +34,10 @@ module Compass
dimensions.first
end
def size
@size ||= File.size(file)
end
# Height of the image
def height
dimensions.last

View File

@ -16,7 +16,7 @@ module Compass
calculate_horizontal_positions
calculate_width
else
@images.sort! {|a,b| File.size(b.file) <=> File.size(a.file)} #put small images first
@images.sort! {|a,b| b.size <=> b.size} #put small images first
calculate_width
calulate_vertical_postions
calculate_height

View File

@ -23,7 +23,9 @@ module Compass
end
def self.relative_name(sprite)
sprite = File.expand_path(sprite)
Compass.configuration.sprite_load_path.each do |path|
path = File.expand_path(path)
if sprite.include?(path)
return sprite.gsub("#{path}/", "")
end

View File

@ -15,7 +15,7 @@ class SpritesImageTest < Test::Unit::TestCase
end
let(:sprite_filename) { 'squares/ten-by-ten.png' }
let(:sprite_path) { File.join(@images_src_path, sprite_filename) }
let(:sprite_path) { File.join(@images_tmp_path, sprite_filename) }
let(:sprite_name) { File.basename(sprite_filename, '.png') }
@ -91,4 +91,24 @@ class SpritesImageTest < Test::Unit::TestCase
assert_equal 0, img.offset
end
test 'gets name for sprite in search path' do
Compass.reset_configuration!
uri = 'foo/*.png'
other_folder = File.join(@images_tmp_path, '../other-temp')
FileUtils.mkdir_p other_folder
FileUtils.mkdir_p File.join(other_folder, 'foo')
%w(my bar).each do |file|
FileUtils.touch(File.join(other_folder, "foo/#{file}.png"))
end
config = Compass::Configuration::Data.new('config')
config.images_path = @images_tmp_path
config.sprite_load_path = [@images_tmp_path, other_folder]
Compass.add_configuration(config, "sprite_config")
image = Compass::SassExtensions::Sprites::Image.new(sprite_map_test(options), "foo/my.png", options)
assert_equal File.join(other_folder, 'foo/my.png'), image.file
assert_equal 0, image.size
FileUtils.rm_rf other_folder
end
end

View File

@ -121,5 +121,22 @@ class SpriteMapTest < Test::Unit::TestCase
assert_equal sizes.max, File.size(@base.images.last.file)
end
test "should get correct relative_name" do
Compass.reset_configuration!
uri = 'foo/*.png'
other_folder = File.join(@images_tmp_path, '../other-temp')
FileUtils.mkdir_p other_folder
FileUtils.mkdir_p File.join(other_folder, 'foo')
%w(my bar).each do |file|
FileUtils.touch(File.join(other_folder, "foo/#{file}.png"))
end
config = Compass::Configuration::Data.new('config')
config.images_path = @images_tmp_path
config.sprite_load_path = [@images_tmp_path, other_folder]
Compass.add_configuration(config, "sprite_config")
assert_equal 'foo/my.png', Compass::SassExtensions::Sprites::SpriteMap.relative_name(File.join(other_folder, 'foo/my.png'))
FileUtils.rm_rf other_folder
end
end