From cb5281021cb2c51ffd020475f7c2ac0573293316 Mon Sep 17 00:00:00 2001 From: Nathan Weizenbaum Date: Sat, 1 May 2010 17:17:49 -0700 Subject: [PATCH] [Sass] [Convert] Preserve variable groupings. --- doc-src/SASS_CHANGELOG.md | 2 ++ lib/sass/tree/root_node.rb | 3 ++- test/sass/conversion_test.rb | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/doc-src/SASS_CHANGELOG.md b/doc-src/SASS_CHANGELOG.md index 405a6663..e8225ecd 100644 --- a/doc-src/SASS_CHANGELOG.md +++ b/doc-src/SASS_CHANGELOG.md @@ -8,6 +8,8 @@ * Don't check stylesheets for each request when running tests in Rails. This should speed up some tests significantly. +* Don't add extra newlines between variables with `sass-convert`. + ## 3.0.0.rc.3 [Tagged on GitHub](http://github.com/nex3/haml/commit/3.0.0.rc.3). diff --git a/lib/sass/tree/root_node.rb b/lib/sass/tree/root_node.rb index 4071c0e8..07c1763f 100644 --- a/lib/sass/tree/root_node.rb +++ b/lib/sass/tree/root_node.rb @@ -68,7 +68,8 @@ module Sass child.send("to_#{fmt}", 0, opts) + if nxt && (child.is_a?(CommentNode) && child.line + child.value.count("\n") + 1 == nxt.line) || - (child.is_a?(ImportNode) && nxt.is_a?(ImportNode) && child.line + 1 == nxt.line) + (child.is_a?(ImportNode) && nxt.is_a?(ImportNode) && child.line + 1 == nxt.line) || + (child.is_a?(VariableNode) && nxt.is_a?(VariableNode) && child.line + 1 == nxt.line) "" else "\n" diff --git a/test/sass/conversion_test.rb b/test/sass/conversion_test.rb index ca8eac62..18db9b58 100755 --- a/test/sass/conversion_test.rb +++ b/test/sass/conversion_test.rb @@ -888,6 +888,24 @@ SCSS assert_sass_to_scss '$var: 12px $bar baz !default;', '$var ||= 12px $bar "baz"' end + def test_multiple_variable_definitions + assert_renders <