closes 268 - filenames can not start with numbers the must be legal css identifiers
This commit is contained in:
parent
7571d4af93
commit
2e8fd055ed
@ -7,7 +7,7 @@ GIT
|
||||
PATH
|
||||
remote: .
|
||||
specs:
|
||||
compass (0.11.beta.4.29656ea)
|
||||
compass (0.11.beta.5.7571d4a)
|
||||
chunky_png (~> 1.1.0)
|
||||
sass (>= 3.1.0.alpha.249)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Compass
|
||||
class SpriteMap
|
||||
attr_reader :uri, :options
|
||||
|
||||
VAILD_FILE_NAME = /\A#{Sass::SCSS::RX::IDENT}\Z/
|
||||
|
||||
def find_relative(*args)
|
||||
nil
|
||||
@ -30,7 +30,13 @@ module Compass
|
||||
|
||||
# Returns an Array of image names without the file extension
|
||||
def sprite_names
|
||||
@sprite_names ||= files.collect { |file| File.basename(file, '.png') }
|
||||
@sprite_names ||= files.collect do |file|
|
||||
filename = File.basename(file, '.png')
|
||||
unless VAILD_FILE_NAME =~ filename
|
||||
raise Compass::Error, "Sprite file names must be legal css identifiers. Please rename #{File.basename(file)}"
|
||||
end
|
||||
filename
|
||||
end
|
||||
end
|
||||
|
||||
# Returns the sass options for this sprite
|
||||
|
@ -496,7 +496,7 @@ describe Compass::Sprites do
|
||||
css = render <<-SCSS
|
||||
@import "selectors/*.png";
|
||||
a {
|
||||
@include selectors_sprite(ten-by-ten)
|
||||
@include selectors-sprite(ten-by-ten)
|
||||
}
|
||||
SCSS
|
||||
css.should == <<-CSS
|
||||
@ -518,5 +518,17 @@ describe Compass::Sprites do
|
||||
}
|
||||
CSS
|
||||
end
|
||||
|
||||
it "should raise error on filenames that are not valid sass syntax" do
|
||||
lambda do
|
||||
render <<-SCSS
|
||||
$sprite-file-prefix:'foo';
|
||||
@import "prefix/*.png";
|
||||
a {
|
||||
@include squares-sprite(20-by-20)
|
||||
}
|
||||
SCSS
|
||||
end.should raise_error Compass::Error
|
||||
end
|
||||
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user