diff --git a/test/sass/engine_test.rb b/test/sass/engine_test.rb index e378763e..2d651914 100755 --- a/test/sass/engine_test.rb +++ b/test/sass/engine_test.rb @@ -180,12 +180,12 @@ SASS end def test_imported_exception - [nil, 2].each do |i| + [1, 2, 3].each do |i| begin Sass::Engine.new("@import bork#{i}", :load_paths => [File.dirname(__FILE__) + '/templates/']).render rescue Sass::SyntaxError => err assert_equal(2, err.sass_line) - assert_match(/bork#{i}\.sass$/, err.sass_filename) + assert_match(/(\/|^)bork#{i}\.sass$/, err.sass_filename) assert_equal(err.sass_filename, err.sass_backtrace.first[:filename]) assert_equal(err.sass_line, err.sass_backtrace.first[:line]) @@ -193,7 +193,7 @@ SASS assert_nil(err.sass_backtrace[1][:filename]) assert_equal(1, err.sass_backtrace[1][:line]) - assert_match(/bork#{i}\.sass:2$/, err.backtrace.first) + assert_match(/(\/|^)bork#{i}\.sass:2$/, err.backtrace.first) assert_equal("(sass):1", err.backtrace[1]) else assert(false, "Exception not raised for imported template: bork#{i}") @@ -201,6 +201,32 @@ SASS end end + def test_double_imported_exception + [1, 2, 3].each do |i| + begin + Sass::Engine.new("@import nested_bork#{i}", :load_paths => [File.dirname(__FILE__) + '/templates/']).render + rescue Sass::SyntaxError => err + assert_equal(2, err.sass_line) + assert_match(/(\/|^)bork#{i}\.sass$/, err.sass_filename) + + assert_equal(err.sass_filename, err.sass_backtrace.first[:filename]) + assert_equal(err.sass_line, err.sass_backtrace.first[:line]) + + assert_match(/(\/|^)nested_bork#{i}\.sass$/, err.sass_backtrace[1][:filename]) + assert_equal(2, err.sass_backtrace[1][:line]) + + assert_nil(err.sass_backtrace[2][:filename]) + assert_equal(1, err.sass_backtrace[2][:line]) + + assert_match(/(\/|^)bork#{i}\.sass:2$/, err.backtrace.first) + assert_match(/(\/|^)nested_bork#{i}\.sass:2$/, err.backtrace[1]) + assert_equal("(sass):1", err.backtrace[2]) + else + assert(false, "Exception not raised for imported template: bork#{i}") + end + end + end + def test_css_import assert_equal("@import url(./fonts.css) screen;\n", render("@import url(./fonts.css) screen")) assert_equal("@import \"./fonts.css\" screen;\n", render("@import \"./fonts.css\" screen")) diff --git a/test/sass/plugin_test.rb b/test/sass/plugin_test.rb index 4b2aa2da..229d7409 100644 --- a/test/sass/plugin_test.rb +++ b/test/sass/plugin_test.rb @@ -52,21 +52,21 @@ class SassPluginTest < Test::Unit::TestCase end def test_full_exception_handling - File.delete(tempfile_loc('bork')) + File.delete(tempfile_loc('bork1')) Sass::Plugin.update_stylesheets - File.open(tempfile_loc('bork')) do |file| - assert_equal("/*\nSass::SyntaxError: Undefined variable: \"!bork\".\non line 2 of #{template_loc('bork')}\n\n1: bork\n2: :bork= !bork", file.read.split("\n")[0...6].join("\n")) + File.open(tempfile_loc('bork1')) do |file| + assert_equal("/*\nSass::SyntaxError: Undefined variable: \"!bork\".\non line 2 of #{template_loc('bork1')}\n\n1: bork\n2: :bork= !bork", file.read.split("\n")[0...6].join("\n")) end - File.delete(tempfile_loc('bork')) + File.delete(tempfile_loc('bork1')) end def test_nonfull_exception_handling Sass::Plugin.options[:full_exception] = false - File.delete(tempfile_loc('bork')) + File.delete(tempfile_loc('bork1')) Sass::Plugin.update_stylesheets - assert_equal("/* Internal stylesheet error */", File.read(tempfile_loc('bork'))) - File.delete(tempfile_loc('bork')) + assert_equal("/* Internal stylesheet error */", File.read(tempfile_loc('bork1'))) + File.delete(tempfile_loc('bork1')) Sass::Plugin.options[:full_exception] = true end diff --git a/test/sass/templates/bork.sass b/test/sass/templates/bork1.sass similarity index 100% rename from test/sass/templates/bork.sass rename to test/sass/templates/bork1.sass diff --git a/test/sass/templates/bork3.sass b/test/sass/templates/bork3.sass new file mode 100644 index 00000000..9d0fb701 --- /dev/null +++ b/test/sass/templates/bork3.sass @@ -0,0 +1,2 @@ +bork + bork: diff --git a/test/sass/templates/nested_bork1.sass b/test/sass/templates/nested_bork1.sass new file mode 100644 index 00000000..638496e2 --- /dev/null +++ b/test/sass/templates/nested_bork1.sass @@ -0,0 +1,2 @@ + +@import bork1 diff --git a/test/sass/templates/nested_bork2.sass b/test/sass/templates/nested_bork2.sass new file mode 100644 index 00000000..28b0bc81 --- /dev/null +++ b/test/sass/templates/nested_bork2.sass @@ -0,0 +1,2 @@ + +@import bork2 diff --git a/test/sass/templates/nested_bork3.sass b/test/sass/templates/nested_bork3.sass new file mode 100644 index 00000000..eeccd661 --- /dev/null +++ b/test/sass/templates/nested_bork3.sass @@ -0,0 +1,2 @@ + +@import bork3