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 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