[Sass] [Less] Apparently Less can't handle absolute imports.

This commit is contained in:
Nathan Weizenbaum 2010-05-05 14:30:20 -07:00
parent f93746f370
commit 510fdd6021
1 changed files with 11 additions and 4 deletions

View File

@ -37,8 +37,8 @@ LESS
end end
def test_import def test_import
path = File.dirname(__FILE__) + "/templates/importee.less" path = relative_path_to(File.dirname(__FILE__) + "/templates/importee.less")
resolved_path = File.dirname(__FILE__) + "/templates/importee" resolved_path = relative_path_to(File.dirname(__FILE__) + "/templates/importee")
assert_renders <<SCSS, <<LESS assert_renders <<SCSS, <<LESS
@import "#{resolved_path}"; @import "#{resolved_path}";
@import "#{resolved_path}"; @import "#{resolved_path}";
@ -57,8 +57,8 @@ LESS
end end
def test_mixins_found_through_import def test_mixins_found_through_import
path = File.dirname(__FILE__) + "/templates/importee.less" path = relative_path_to(File.dirname(__FILE__) + "/templates/importee.less")
resolved_path = File.dirname(__FILE__) + "/templates/importee" resolved_path = relative_path_to(File.dirname(__FILE__) + "/templates/importee")
assert_renders <<SCSS, <<LESS assert_renders <<SCSS, <<LESS
@import "#{resolved_path}"; @import "#{resolved_path}";
@ -618,6 +618,13 @@ LESS
def assert_renders(scss, less) def assert_renders(scss, less)
assert_equal(scss, Less::Engine.new(less).to_tree.to_sass_tree.to_scss) assert_equal(scss, Less::Engine.new(less).to_tree.to_sass_tree.to_scss)
end end
# Necessary because Less can't import absolute files
def relative_path_to(file)
file = Pathname.new(file)
pwd = file.absolute? ? Dir.pwd : "."
file.relative_path_from(Pathname.new(pwd))
end
end end
rescue LoadError => e rescue LoadError => e