haml-edge 2.3.59 → 2.3.60
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/haml/precompiler.rb +4 -3
- data/test/haml/engine_test.rb +11 -0
- metadata +8 -8
data/EDGE_GEM_VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.3.
|
|
1
|
+
2.3.60
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.3.
|
|
1
|
+
2.3.60
|
data/lib/haml/precompiler.rb
CHANGED
|
@@ -85,7 +85,7 @@ module Haml
|
|
|
85
85
|
DOCTYPE_REGEX = /(\d\.\d)?[\s]*([a-z]*)/i
|
|
86
86
|
|
|
87
87
|
# The Regex that matches a literal string or symbol value
|
|
88
|
-
LITERAL_VALUE_REGEX = /:(\w*)|(["'])([
|
|
88
|
+
LITERAL_VALUE_REGEX = /:(\w*)|(["'])((?![\\#]|\2).|\\.)*\2/
|
|
89
89
|
|
|
90
90
|
private
|
|
91
91
|
|
|
@@ -727,6 +727,7 @@ END
|
|
|
727
727
|
raise SyntaxError.new("Self-closing tags can't have content.", last_line - 1) if self_closing && !value.empty?
|
|
728
728
|
|
|
729
729
|
self_closing ||= !!( !block_opened? && value.empty? && @options[:autoclose].include?(tag_name) )
|
|
730
|
+
value = nil if value.empty? && (block_opened? || self_closing)
|
|
730
731
|
|
|
731
732
|
dont_indent_next_line =
|
|
732
733
|
(nuke_outer_whitespace && !block_opened?) ||
|
|
@@ -751,7 +752,7 @@ END
|
|
|
751
752
|
return if tag_closed
|
|
752
753
|
else
|
|
753
754
|
flush_merged_text
|
|
754
|
-
content =
|
|
755
|
+
content = parse ? 'nil' : value.inspect
|
|
755
756
|
if attributes_hashes.empty?
|
|
756
757
|
attributes_hashes = ''
|
|
757
758
|
elsif attributes_hashes.size == 1
|
|
@@ -769,7 +770,7 @@ END
|
|
|
769
770
|
|
|
770
771
|
return if self_closing
|
|
771
772
|
|
|
772
|
-
if value.
|
|
773
|
+
if value.nil?
|
|
773
774
|
push_and_tabulate([:element, [tag_name, nuke_outer_whitespace, nuke_inner_whitespace]])
|
|
774
775
|
@output_tabs += 1 unless nuke_inner_whitespace
|
|
775
776
|
return
|
data/test/haml/engine_test.rb
CHANGED
|
@@ -128,6 +128,17 @@ class EngineTest < Test::Unit::TestCase
|
|
|
128
128
|
assert_equal("<p class='3'>foo</p>", render("%p{:class => 1+2} foo").chomp)
|
|
129
129
|
end
|
|
130
130
|
|
|
131
|
+
def test_dynamic_attributes_with_no_content
|
|
132
|
+
assert_equal(<<HTML, render(<<HAML))
|
|
133
|
+
<p>
|
|
134
|
+
<a href='http://haml-lang.com'></a>
|
|
135
|
+
</p>
|
|
136
|
+
HTML
|
|
137
|
+
%p
|
|
138
|
+
%a{:href => "http://" + "haml-lang.com"}
|
|
139
|
+
HAML
|
|
140
|
+
end
|
|
141
|
+
|
|
131
142
|
def test_nil_should_render_empty_tag
|
|
132
143
|
assert_equal("<div class='no_attributes'></div>",
|
|
133
144
|
render(".no_attributes{:nil => nil}").chomp)
|
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.
|
|
4
|
+
version: 2.3.60
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nathan Weizenbaum
|
|
@@ -65,9 +65,9 @@ files:
|
|
|
65
65
|
- lib/haml/helpers/action_view_mods.rb
|
|
66
66
|
- lib/haml/helpers/xss_mods.rb
|
|
67
67
|
- lib/haml/html.rb
|
|
68
|
+
- lib/haml/precompiler.rb
|
|
68
69
|
- lib/haml/html
|
|
69
70
|
- lib/haml/html/erb.rb
|
|
70
|
-
- lib/haml/precompiler.rb
|
|
71
71
|
- lib/haml/shared.rb
|
|
72
72
|
- lib/haml/template.rb
|
|
73
73
|
- lib/haml/template
|
|
@@ -124,13 +124,13 @@ files:
|
|
|
124
124
|
- test/benchmark.rb
|
|
125
125
|
- test/haml
|
|
126
126
|
- test/haml/engine_test.rb
|
|
127
|
+
- test/haml/helper_test.rb
|
|
128
|
+
- test/haml/html2haml_test.rb
|
|
127
129
|
- test/haml/erb
|
|
128
130
|
- test/haml/erb/_av_partial_1.erb
|
|
129
131
|
- test/haml/erb/_av_partial_2.erb
|
|
130
132
|
- test/haml/erb/action_view.erb
|
|
131
133
|
- test/haml/erb/standard.rhtml
|
|
132
|
-
- test/haml/helper_test.rb
|
|
133
|
-
- test/haml/html2haml_test.rb
|
|
134
134
|
- test/haml/markaby
|
|
135
135
|
- test/haml/markaby/standard.mab
|
|
136
136
|
- test/haml/mocks
|
|
@@ -155,7 +155,7 @@ files:
|
|
|
155
155
|
- test/haml/results/very_basic.xhtml
|
|
156
156
|
- test/haml/results/whitespace_handling.xhtml
|
|
157
157
|
- test/haml/spec
|
|
158
|
-
- test/haml/
|
|
158
|
+
- test/haml/util_test.rb
|
|
159
159
|
- test/haml/template_test.rb
|
|
160
160
|
- test/haml/templates
|
|
161
161
|
- test/haml/templates/_av_partial_1.haml
|
|
@@ -189,7 +189,7 @@ files:
|
|
|
189
189
|
- test/haml/templates/tag_parsing.haml
|
|
190
190
|
- test/haml/templates/very_basic.haml
|
|
191
191
|
- test/haml/templates/whitespace_handling.haml
|
|
192
|
-
- test/haml/
|
|
192
|
+
- test/haml/spec_test.rb
|
|
193
193
|
- test/linked_rails.rb
|
|
194
194
|
- test/sass
|
|
195
195
|
- test/sass/css2sass_test.rb
|
|
@@ -303,9 +303,9 @@ test_files:
|
|
|
303
303
|
- test/haml/engine_test.rb
|
|
304
304
|
- test/haml/helper_test.rb
|
|
305
305
|
- test/haml/html2haml_test.rb
|
|
306
|
-
- test/haml/spec_test.rb
|
|
307
|
-
- test/haml/template_test.rb
|
|
308
306
|
- test/haml/util_test.rb
|
|
307
|
+
- test/haml/template_test.rb
|
|
308
|
+
- test/haml/spec_test.rb
|
|
309
309
|
- test/sass/css2sass_test.rb
|
|
310
310
|
- test/sass/engine_test.rb
|
|
311
311
|
- test/sass/functions_test.rb
|