[Sass] Add a test for mixin backtraces when nested within imports.

This commit is contained in:
Nathan Weizenbaum 2009-11-24 20:57:37 -08:00
parent cdab12fda2
commit 65cf73b282
3 changed files with 30 additions and 0 deletions

View File

@ -286,6 +286,25 @@ SASS
:filename => test_filename, :mixin => nil) :filename => test_filename, :mixin => nil)
end end
def test_mixin_and_import_exception
Sass::Engine.new("@import nested_mixin_bork", :load_paths => [File.dirname(__FILE__) + '/templates/']).render
assert(false, "Exception not raised")
rescue Sass::SyntaxError => err
assert_match(/(\/|^)nested_mixin_bork\.sass$/, err.sass_backtrace.first[:filename])
assert_hash_has(err.sass_backtrace.first, :mixin => "error-mixin", :line => 4)
assert_match(/(\/|^)mixin_bork\.sass$/, err.sass_backtrace[1][:filename])
assert_hash_has(err.sass_backtrace[1], :mixin => "outer-mixin", :line => 2)
assert_match(/(\/|^)mixin_bork\.sass$/, err.sass_backtrace[2][:filename])
assert_hash_has(err.sass_backtrace[2], :mixin => nil, :line => 5)
assert_match(/(\/|^)nested_mixin_bork\.sass$/, err.sass_backtrace[3][:filename])
assert_hash_has(err.sass_backtrace[3], :mixin => nil, :line => 6)
assert_hash_has(err.sass_backtrace[4], :filename => nil, :mixin => nil, :line => 1)
end
def test_exception_css_with_offset def test_exception_css_with_offset
opts = {:full_exception => true, :line => 362} opts = {:full_exception => true, :line => 362}
render(("a\n b: c\n" * 10) + "d\n e:\n" + ("f\n g: h\n" * 10), opts) render(("a\n b: c\n" * 10) + "d\n e:\n" + ("f\n g: h\n" * 10), opts)

View File

@ -0,0 +1,5 @@
=outer-mixin
+error-mixin
foo
+outer-mixin

View File

@ -0,0 +1,6 @@
=error-mixin
width = 1px * 1em
@import mixin_bork