diff --git a/lib/sass/tree/import_node.rb b/lib/sass/tree/import_node.rb index b29300f2..eb40851c 100644 --- a/lib/sass/tree/import_node.rb +++ b/lib/sass/tree/import_node.rb @@ -14,6 +14,15 @@ module Sass protected + # @see \{Node#_cssize} + def _cssize(*args) + super + rescue Sass::SyntaxError => e + e.modify_backtrace(:filename => children.first.filename) + e.add_backtrace(:filename => @filename, :line => @line) + raise e + end + # Computes the CSS for the imported file. # # @param args [Array] Ignored diff --git a/test/sass/engine_test.rb b/test/sass/engine_test.rb index 282bfa47..03e2e5fc 100755 --- a/test/sass/engine_test.rb +++ b/test/sass/engine_test.rb @@ -189,7 +189,7 @@ SASS end def test_imported_exception - [1, 2, 3].each do |i| + [1, 2, 3, 4].each do |i| begin Sass::Engine.new("@import bork#{i}", :load_paths => [File.dirname(__FILE__) + '/templates/']).render rescue Sass::SyntaxError => err @@ -211,7 +211,7 @@ SASS end def test_double_imported_exception - [1, 2, 3].each do |i| + [1, 2, 3, 4].each do |i| begin Sass::Engine.new("@import nested_bork#{i}", :load_paths => [File.dirname(__FILE__) + '/templates/']).render rescue Sass::SyntaxError => err diff --git a/test/sass/templates/bork4.sass b/test/sass/templates/bork4.sass new file mode 100644 index 00000000..75610d93 --- /dev/null +++ b/test/sass/templates/bork4.sass @@ -0,0 +1,2 @@ + +bork: blah diff --git a/test/sass/templates/nested_bork4.sass b/test/sass/templates/nested_bork4.sass new file mode 100644 index 00000000..173c9470 --- /dev/null +++ b/test/sass/templates/nested_bork4.sass @@ -0,0 +1,2 @@ + +@import bork4