Add support for complicated @import rules by passing them off to CSS.
This makes e.g. "@import url(fonts.css) all" work.
This commit is contained in:
parent
ae3c44f574
commit
cf4013f868
|
@ -298,8 +298,9 @@ module Sass
|
||||||
def parse_directive(line)
|
def parse_directive(line)
|
||||||
directive, value = line[1..-1].split(/\s+/, 2)
|
directive, value = line[1..-1].split(/\s+/, 2)
|
||||||
|
|
||||||
case directive
|
# If value begins with url( or ",
|
||||||
when "import"
|
# it's a CSS @import rule and we don't want to touch it.
|
||||||
|
if directive == "import" && value !~ /^(url\(|")/
|
||||||
import(value)
|
import(value)
|
||||||
else
|
else
|
||||||
Tree::DirectiveNode.new(line, @options[:style])
|
Tree::DirectiveNode.new(line, @options[:style])
|
||||||
|
|
|
@ -98,6 +98,11 @@ class SassEngineTest < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_css_import
|
||||||
|
assert_equal("@import url(./fonts.css) screen;", render("@import url(./fonts.css) screen"))
|
||||||
|
assert_equal("@import \"./fonts.css\" screen;", render("@import \"./fonts.css\" screen"))
|
||||||
|
end
|
||||||
|
|
||||||
def test_default_function
|
def test_default_function
|
||||||
assert_equal("foo {\n bar: url(foo.png); }\n",
|
assert_equal("foo {\n bar: url(foo.png); }\n",
|
||||||
render("foo\n bar = url(foo.png)\n"));
|
render("foo\n bar = url(foo.png)\n"));
|
||||||
|
|
Loading…
Reference in New Issue