haml-edge 2.3.16 → 2.3.17

Sign up to get free protection for your applications and to get access to all the features.
data/EDGE_GEM_VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.16
1
+ 2.3.17
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.16
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
@@ -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
@@ -22,8 +22,10 @@ class SassPluginTest < Test::Unit::TestCase
22
22
  FileUtils.rm_r tempfile_loc(nil,"more_")
23
23
  end
24
24
 
25
- def test_templates_should_render_correctly
26
- @@templates.each { |name| assert_renders_correctly(name) }
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
@@ -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)}
@@ -99,8 +99,6 @@ body
99
99
  :clear both
100
100
  .column
101
101
  :float left
102
- .left
103
- .middle
104
102
  .right
105
103
  :float right
106
104
  a:link, a:visited
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haml-edge
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.16
4
+ version: 2.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Weizenbaum