compass/test/units/sprites/importer_test.rb

64 lines
2.1 KiB
Ruby
Raw Normal View History

2011-06-09 19:44:35 +00:00
require 'test_helper'
require 'timecop'
class ImporterTest < Test::Unit::TestCase
URI = "selectors/*.png"
def setup
@images_src_path = File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'sprites', 'public', 'images')
file = StringIO.new("images_path = #{@images_src_path.inspect}\n")
Compass.add_configuration(file, "sprite_config")
2011-06-16 03:37:23 +00:00
@importer = Compass::SpriteImporter.new
2011-06-09 19:44:35 +00:00
end
2011-06-11 17:24:17 +00:00
def teardown
Compass.reset_configuration!
end
2011-06-09 19:44:35 +00:00
def options
{:foo => 'bar'}
end
test "name should return the sprite name" do
2011-06-16 03:37:23 +00:00
assert_equal 'selectors', Compass::SpriteImporter.sprite_name(URI)
2011-06-09 19:44:35 +00:00
end
test "path should return the sprite path" do
2011-06-16 03:37:23 +00:00
assert_equal 'selectors', Compass::SpriteImporter.path(URI)
2011-06-09 19:44:35 +00:00
end
test "should return all the sprite names" do
2011-06-16 03:37:23 +00:00
assert_equal ["ten-by-ten", "ten-by-ten_active", "ten-by-ten_hover", "ten-by-ten_target"], Compass::SpriteImporter.sprite_names(URI)
2011-06-09 19:44:35 +00:00
end
test "should have correct mtime" do
thirtydays = Time.now.to_i + (60*60*24*30)
file = Dir[File.join(@images_src_path, URI)].sort.first
File.utime(thirtydays, thirtydays, file)
assert_equal thirtydays, File.mtime(file).to_i
assert_equal thirtydays, @importer.mtime(URI, {}).to_i
end
test "should return sass engine on find" do
assert @importer.find(URI, {}).is_a?(Sass::Engine)
end
test "sass options should contain options" do
2011-06-19 16:26:38 +00:00
opts = Compass::SpriteImporter.sass_options('foo', @importer, options)
2011-06-16 03:37:23 +00:00
assert_equal 'bar', opts[:foo]
2011-06-09 19:44:35 +00:00
end
2011-06-11 17:24:17 +00:00
test "should fail given bad sprite extensions" do
@images_src_path = File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'sprites', 'public', 'images')
file = StringIO.new("images_path = #{@images_src_path.inspect}\n")
Compass.add_configuration(file, "sprite_config")
2011-06-16 03:37:23 +00:00
importer = Compass::SpriteImporter.new
uri = "bad_extensions/*.jpg"
begin
2011-06-16 03:37:23 +00:00
Compass::SpriteImporter.sass_engine(uri, Compass::SpriteImporter.sprite_name(uri), importer, {})
2011-06-11 17:24:17 +00:00
assert false, "An invalid sprite file made it past validation."
rescue Compass::Error => e
2011-06-16 03:37:23 +00:00
assert e.message.include?("invalid sprite path")
end
end
2011-06-09 19:44:35 +00:00
end