better_html 0.0.11 → 0.0.12
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b31eee572de6668e1791c716a07c9d93658aa566
|
4
|
+
data.tar.gz: 6dd1906d36f68f59fbe4d6386f0d0e7e94ce244b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c96cfded69fd94221810490e37b279da7e57323062a06416dd3522d8b58971cd2bb727690d0373af647871170698ef4d4b8830f13e8fa3538699224b9c33dc8
|
7
|
+
data.tar.gz: 49d55494ae87ce77e2cd45883a8b37b1c999badf3fc8e0a7c06ba4631a4c1d0a698243a4810ec2f6fbd80f88508b3ed4b61e0e54e1d8c08a036c01bea664aa14
|
@@ -140,6 +140,7 @@ EOF
|
|
140
140
|
text.content_parts.each do |text_token|
|
141
141
|
case text_token.type
|
142
142
|
when :stmt, :expr_literal, :expr_escaped
|
143
|
+
next if text_token.type == :stmt && text_token.code.start_with?('#')
|
143
144
|
begin
|
144
145
|
expr = RubyExpr.parse(text_token.code)
|
145
146
|
validate_ruby_helper(text_token, expr)
|
@@ -275,7 +276,7 @@ EOF
|
|
275
276
|
|
276
277
|
def validate_no_statements(node)
|
277
278
|
node.content_parts.each do |token|
|
278
|
-
if token.type == :stmt && !(/\A\s*end/m === token.code)
|
279
|
+
if token.type == :stmt && !(/\A\s*end/m === token.code) && !token.code.start_with?('#')
|
279
280
|
add_error(
|
280
281
|
"erb statement not allowed here; did you mean '<%=' ?",
|
281
282
|
location: token.location,
|
@@ -286,6 +287,7 @@ EOF
|
|
286
287
|
|
287
288
|
def validate_no_javascript_tag(node)
|
288
289
|
node.content_parts.each do |token|
|
290
|
+
next if token.type == :stmt && token.code.start_with?('#')
|
289
291
|
if [:stmt, :expr_literal, :expr_escaped].include?(token.type)
|
290
292
|
expr = begin
|
291
293
|
RubyExpr.parse(token.code)
|
data/lib/better_html/version.rb
CHANGED
@@ -11,6 +11,30 @@ module BetterHtml
|
|
11
11
|
)
|
12
12
|
end
|
13
13
|
|
14
|
+
test "multi line erb comments in text" do
|
15
|
+
errors = parse(<<-EOF).errors
|
16
|
+
text
|
17
|
+
<%#
|
18
|
+
this is a nice comment
|
19
|
+
!@\#{$%?&*()}
|
20
|
+
%>
|
21
|
+
EOF
|
22
|
+
|
23
|
+
assert_predicate errors, :empty?
|
24
|
+
end
|
25
|
+
|
26
|
+
test "multi line erb comments in html attribute" do
|
27
|
+
errors = parse(<<-EOF).errors
|
28
|
+
<div title="
|
29
|
+
<%#
|
30
|
+
this is a comment right in the middle of an attribute for some reason
|
31
|
+
%>
|
32
|
+
">
|
33
|
+
EOF
|
34
|
+
|
35
|
+
assert_predicate errors, :empty?
|
36
|
+
end
|
37
|
+
|
14
38
|
test "string without interpolation is safe" do
|
15
39
|
errors = parse(<<-EOF).errors
|
16
40
|
<a onclick="alert('<%= "something" %>')">
|
@@ -269,6 +293,16 @@ module BetterHtml
|
|
269
293
|
assert_equal "erb statement not allowed here; did you mean '<%=' ?", errors.first.message
|
270
294
|
end
|
271
295
|
|
296
|
+
test "erb comments allowed in scripts" do
|
297
|
+
errors = parse(<<-EOF).errors
|
298
|
+
<script type="text/javascript">
|
299
|
+
<%# comment %>
|
300
|
+
</script>
|
301
|
+
EOF
|
302
|
+
|
303
|
+
assert_predicate errors, :empty?
|
304
|
+
end
|
305
|
+
|
272
306
|
test "script tag without content" do
|
273
307
|
errors = parse(<<-EOF).errors
|
274
308
|
<script type="text/javascript"></script>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: better_html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francois Chagnon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: erubi
|