haml-edge 2.3.16 → 2.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/EDGE_GEM_VERSION +1 -1
- data/VERSION +1 -1
- data/lib/sass/engine.rb +17 -0
- data/test/sass/engine_test.rb +19 -1
- data/test/sass/plugin_test.rb +4 -2
- data/test/sass/script_test.rb +0 -15
- data/test/sass/templates/complex.sass +0 -2
- data/test/test_helper.rb +15 -0
- metadata +1 -1
    
        data/EDGE_GEM_VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            2.3. | 
| 1 | 
            +
            2.3.17
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            2.3. | 
| 1 | 
            +
            2.3.17
         | 
    
        data/lib/sass/engine.rb
    CHANGED
    
    | @@ -268,6 +268,7 @@ END | |
| 268 268 | 
             
                      continued_rule, child = nil, continued_rule
         | 
| 269 269 | 
             
                    end
         | 
| 270 270 |  | 
| 271 | 
            +
                    check_for_no_children(child)
         | 
| 271 272 | 
             
                    validate_and_append_child(parent, child, line, root)
         | 
| 272 273 | 
             
                  end
         | 
| 273 274 |  | 
| @@ -294,6 +295,22 @@ END | |
| 294 295 | 
             
                  end
         | 
| 295 296 | 
             
                end
         | 
| 296 297 |  | 
| 298 | 
            +
                def check_for_no_children(node)
         | 
| 299 | 
            +
                  return unless node.is_a?(Tree::RuleNode) && node.children.empty?
         | 
| 300 | 
            +
                  warning = (node.rules.size == 1) ? <<SHORT : <<LONG
         | 
| 301 | 
            +
            WARNING:
         | 
| 302 | 
            +
            Selector #{node.rules.first.inspect} doesn't have any properties and will not be rendered.
         | 
| 303 | 
            +
            SHORT
         | 
| 304 | 
            +
             | 
| 305 | 
            +
            WARNING:
         | 
| 306 | 
            +
            Selector
         | 
| 307 | 
            +
              #{node.rules.join("\n  ")}
         | 
| 308 | 
            +
            doesn't have any properties and will not be rendered.
         | 
| 309 | 
            +
            LONG
         | 
| 310 | 
            +
             | 
| 311 | 
            +
                  warn(warning.strip)
         | 
| 312 | 
            +
                end
         | 
| 313 | 
            +
             | 
| 297 314 | 
             
                def parse_line(parent, line, root)
         | 
| 298 315 | 
             
                  case line.text[0]
         | 
| 299 316 | 
             
                  when PROPERTY_CHAR
         | 
    
        data/test/sass/engine_test.rb
    CHANGED
    
    | @@ -130,7 +130,7 @@ class SassEngineTest < Test::Unit::TestCase | |
| 130 130 | 
             
                define_method("test_exception (#{key.inspect})") do
         | 
| 131 131 | 
             
                  line = 10
         | 
| 132 132 | 
             
                  begin
         | 
| 133 | 
            -
                    Sass::Engine.new(key, :filename => __FILE__, :line => line).render
         | 
| 133 | 
            +
                    silence_warnings {Sass::Engine.new(key, :filename => __FILE__, :line => line).render}
         | 
| 134 134 | 
             
                  rescue Sass::SyntaxError => err
         | 
| 135 135 | 
             
                    value = [value] unless value.is_a?(Array)
         | 
| 136 136 |  | 
| @@ -704,6 +704,24 @@ a | |
| 704 704 | 
             
            SASS
         | 
| 705 705 | 
             
              end
         | 
| 706 706 |  | 
| 707 | 
            +
              def test_empty_selector_warning
         | 
| 708 | 
            +
                assert_warning(<<END) {render("foo bar")}
         | 
| 709 | 
            +
            WARNING:
         | 
| 710 | 
            +
            Selector "foo bar" doesn't have any properties and will not be rendered.
         | 
| 711 | 
            +
            END
         | 
| 712 | 
            +
             | 
| 713 | 
            +
                assert_warning(<<END) {render(<<SASS)}
         | 
| 714 | 
            +
            WARNING:
         | 
| 715 | 
            +
            Selector
         | 
| 716 | 
            +
              foo, bar, baz,
         | 
| 717 | 
            +
              bang, bip, bop
         | 
| 718 | 
            +
            doesn't have any properties and will not be rendered.
         | 
| 719 | 
            +
            END
         | 
| 720 | 
            +
            foo, bar, baz,
         | 
| 721 | 
            +
            bang, bip, bop
         | 
| 722 | 
            +
            SASS
         | 
| 723 | 
            +
              end
         | 
| 724 | 
            +
             | 
| 707 725 | 
             
              # Regression tests
         | 
| 708 726 |  | 
| 709 727 | 
             
              def test_parens_in_mixins
         | 
    
        data/test/sass/plugin_test.rb
    CHANGED
    
    | @@ -22,8 +22,10 @@ class SassPluginTest < Test::Unit::TestCase | |
| 22 22 | 
             
                FileUtils.rm_r tempfile_loc(nil,"more_")
         | 
| 23 23 | 
             
              end
         | 
| 24 24 |  | 
| 25 | 
            -
               | 
| 26 | 
            -
                 | 
| 25 | 
            +
              @@templates.each do |name|
         | 
| 26 | 
            +
                define_method("test_template_renders_correctly (#{name})") do
         | 
| 27 | 
            +
                  assert_renders_correctly(name)
         | 
| 28 | 
            +
                end
         | 
| 27 29 | 
             
              end
         | 
| 28 30 |  | 
| 29 31 | 
             
              def test_no_update
         | 
    
        data/test/sass/script_test.rb
    CHANGED
    
    | @@ -243,21 +243,6 @@ WARN | |
| 243 243 | 
             
                Sass::Engine.new(sass, options).render
         | 
| 244 244 | 
             
              end
         | 
| 245 245 |  | 
| 246 | 
            -
              def assert_warning(message)
         | 
| 247 | 
            -
                the_real_stderr, $stderr = $stderr, StringIO.new
         | 
| 248 | 
            -
                yield
         | 
| 249 | 
            -
                assert_equal message.strip, $stderr.string.strip
         | 
| 250 | 
            -
              ensure
         | 
| 251 | 
            -
                $stderr = the_real_stderr
         | 
| 252 | 
            -
              end
         | 
| 253 | 
            -
             | 
| 254 | 
            -
              def silence_warnings
         | 
| 255 | 
            -
                the_real_stderr, $stderr = $stderr, StringIO.new
         | 
| 256 | 
            -
                yield
         | 
| 257 | 
            -
              ensure
         | 
| 258 | 
            -
                $stderr = the_real_stderr
         | 
| 259 | 
            -
              end
         | 
| 260 | 
            -
             | 
| 261 246 | 
             
              def env(hash = {})
         | 
| 262 247 | 
             
                env = Sass::Environment.new
         | 
| 263 248 | 
             
                hash.each {|k, v| env.set_var(k, v)}
         | 
    
        data/test/test_helper.rb
    CHANGED
    
    | @@ -26,4 +26,19 @@ class Test::Unit::TestCase | |
| 26 26 | 
             
                path = File.dirname(__FILE__) + "/../.sass-cache"
         | 
| 27 27 | 
             
                FileUtils.rm_r(path) if File.exist?(path)
         | 
| 28 28 | 
             
              end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
              def assert_warning(message)
         | 
| 31 | 
            +
                the_real_stderr, $stderr = $stderr, StringIO.new
         | 
| 32 | 
            +
                yield
         | 
| 33 | 
            +
                assert_equal message.strip, $stderr.string.strip
         | 
| 34 | 
            +
              ensure
         | 
| 35 | 
            +
                $stderr = the_real_stderr
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
              def silence_warnings
         | 
| 39 | 
            +
                the_real_stderr, $stderr = $stderr, StringIO.new
         | 
| 40 | 
            +
                yield
         | 
| 41 | 
            +
              ensure
         | 
| 42 | 
            +
                $stderr = the_real_stderr
         | 
| 43 | 
            +
              end
         | 
| 29 44 | 
             
            end
         |