test/units/sprites/sprite_map_test.rb in compass-0.12.alpha.0 vs test/units/sprites/sprite_map_test.rb in compass-0.12.alpha.1
- old
+ new
@@ -33,11 +33,11 @@
it 'should need generation' do
assert @base.generation_required?
end
test 'uniqueness_hash' do
- assert_equal 'ef52c5c63a', @base.uniqueness_hash
+ assert_equal '4c703bbc05', @base.uniqueness_hash
end
it 'should be outdated' do
assert @base.outdated?
end
@@ -90,30 +90,32 @@
base = sprite_map_test(@options.merge({"spacing" => Sass::Script::Number.new(10, ['px'])}))
assert_equal [0, 20, 40, 60], base.images.map(&:top)
end
it "should layout vertical with position" do
- base = sprite_map_test("ten_by_ten_active_position" => Sass::Script::Number.new(10, ['px']))
+ base = sprite_map_test("selectors_ten_by_ten_active_position" => Sass::Script::Number.new(10, ['px']))
assert_equal [0, 10, 0, 0], base.images.map(&:left)
end
def smart
options = @options.merge("layout" => Sass::Script::String.new('smart'))
importer = Compass::SpriteImporter.new
uri = "image_row/*.png"
path, name = Compass::SpriteImporter.path_and_name(uri)
sprite_names = Compass::SpriteImporter.sprite_names(uri)
sass_engine = Compass::SpriteImporter.sass_engine(uri, name, importer, options)
- Compass::SassExtensions::Sprites::SpriteMap.new(sprite_names.map {|n| "image_row/#{n}.png"}, path, name, sass_engine, options)
+ map = Compass::SassExtensions::Sprites::SpriteMap.new(sprite_names.map {|n| "image_row/#{n}.png"}, path, name, sass_engine, options)
+ map.options = {:compass => {:logger => Compass::NullLogger.new}}
+ map
end
it "should have a smart layout" do
base = smart
base.generate
assert_equal 400, base.width
assert_equal 60, base.height
- assert_equal [[0, 0], [20, 120], [20, 20], [20, 0], [20, 160]], base.images.map {|i| [i.top, i.left]}
+ assert_equal [[0, 0], [20, 120], [20, 0], [20, 100], [20, 160]], base.images.map {|i| [i.top, i.left]}
assert File.exists?(base.filename)
FileUtils.rm base.filename
end
def diagonal
@@ -124,11 +126,11 @@
it "should generate a diagonal sprite" do
base = diagonal
base.generate
assert_equal 40, base.width
assert_equal 40, base.height
- assert_equal [[0,0], [10,10], [20,20], [30,30]], base.images.map {|i| [i.top, i.left]}
+ assert_equal [[30, 0], [20, 10], [10, 20], [0, 30]], base.images.map {|i| [i.top, i.left]}
assert File.exists?(base.filename)
FileUtils.rm base.filename
end
# Horizontal tests
@@ -156,11 +158,11 @@
assert_equal [0, 0, 0, 0], base.images.map(&:top)
assert_equal 80, base.width
end
it "should layout horizontaly with position" do
- base = horizontal("ten_by_ten_active_position" => Sass::Script::Number.new(10, ['px']))
+ base = horizontal("selectors_ten_by_ten_active_position" => Sass::Script::Number.new(10, ['px']))
assert_equal [0, 10, 0, 0], base.images.map(&:top)
end
it "should generate a horrizontal sprite" do
base = horizontal
@@ -190,7 +192,18 @@
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
+ test "should create map for nested" do
+ base = Compass::SassExtensions::Sprites::SpriteMap.from_uri OpenStruct.new(:value => 'nested/squares/*.png'), @base.instance_variable_get(:@evaluation_context), @options
+ assert_equal 'squares', base.name
+ assert_equal 'nested/squares', base.path
+ end
+
+ test "should have correct position on ten-by-ten" do
+ percent = Sass::Script::Number.new(50, ['%'])
+ base = sprite_map_test(@options.merge('selectors_ten_by_ten_position' => percent))
+ assert_equal percent, base.image_for('ten-by-ten').position
+ end
end
\ No newline at end of file