faml 0.2.13 → 0.2.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +2 -0
- data/faml.gemspec +2 -1
- data/incompatibilities/README.md +29 -0
- data/incompatibilities/spec/compiler_newline_spec.md +31 -0
- data/incompatibilities/spec/render/attribute_spec.md +587 -0
- data/incompatibilities/spec/render/comment_spec.md +42 -0
- data/incompatibilities/spec/render/doctype_spec.md +22 -0
- data/incompatibilities/spec/render/element_spec.md +95 -0
- data/incompatibilities/spec/render/filters/cdata_spec.md +25 -0
- data/incompatibilities/spec/render/filters/coffee_spec.md +88 -0
- data/incompatibilities/spec/render/filters/css_spec.md +38 -0
- data/incompatibilities/spec/render/filters/escaped_spec.md +33 -0
- data/incompatibilities/spec/render/filters/javascript_spec.md +38 -0
- data/incompatibilities/spec/render/filters/markdown_spec.md +24 -0
- data/incompatibilities/spec/render/filters/preserve_spec.md +29 -0
- data/incompatibilities/spec/render/filters/sass_spec.md +59 -0
- data/incompatibilities/spec/render/filters/scss_spec.md +65 -0
- data/incompatibilities/spec/render/helpers_spec.md +17 -0
- data/incompatibilities/spec/render/indent_spec.md +21 -0
- data/incompatibilities/spec/render/multiline_spec.md +55 -0
- data/incompatibilities/spec/render/newline_spec.md +91 -0
- data/incompatibilities/spec/render/plain_spec.md +19 -0
- data/incompatibilities/spec/render/sanitize_spec.md +36 -0
- data/incompatibilities/spec/render/silent_script_spec.md +31 -0
- data/incompatibilities/spec/render/unescape_spec.md +56 -0
- data/lib/faml/indent_tracker.rb +39 -3
- data/lib/faml/parser.rb +2 -0
- data/lib/faml/version.rb +1 -1
- data/spec/render/element_spec.rb +0 -9
- data/spec/render/indent_spec.rb +47 -0
- data/spec/spec_helper.rb +21 -2
- data/spec/support/incompatibilities_generator.rb +132 -0
- metadata +53 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad03dfd0077214679b01a81f9f23e38681e5ba09
|
4
|
+
data.tar.gz: 4f845eab154e7fefc437be4a4b6e7e9d781e7e5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03eb904bc291e05ab14219d83c940a51c7b44c91cd42cd6b6b5b78a7d4774a0df35e5dadc84dc5fc92a324006c65681de3ebe0f6ca4ee95bbc26babff5fae0d0
|
7
|
+
data.tar.gz: 9785e68c585d85301896f83e1b332d75423a6fa8b66194f2caa6384dccfe768ac52aa9860717776512ff3e933ce9a4f1c3e85c21dd0886007aa31cfea5923933
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 0.2.14 (2015-06-11)
|
2
|
+
- Check indent size consistency for compatibility with Haml
|
3
|
+
- Intentionally prohibit indentations with hard tabs
|
4
|
+
|
1
5
|
## 0.2.13 (2015-04-14)
|
2
6
|
- Fix attribute rendering in non-html format when the value is true
|
3
7
|
- Fix Faml::Engine constructor to allow user to set options via `Faml::Engine.options`
|
data/README.md
CHANGED
@@ -49,6 +49,8 @@ If your framework uses tilt, you can use faml by replacing `gem 'haml'` with `ge
|
|
49
49
|
## Incompatibilities
|
50
50
|
There are several incompatibilities.
|
51
51
|
|
52
|
+
See [incompatibilities](incompatibilities) for details generated by spec files.
|
53
|
+
|
52
54
|
### Hash attributes
|
53
55
|
Hash attributes are only supported to "data" attributes.
|
54
56
|
|
data/faml.gemspec
CHANGED
@@ -16,8 +16,9 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.extensions = ['ext/attribute_builder/extconf.rb']
|
19
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features|incompatibilities)/})
|
20
20
|
spec.require_paths = ["lib"]
|
21
|
+
spec.required_ruby_version = ">= 2.0.0"
|
21
22
|
|
22
23
|
spec.add_dependency "escape_utils"
|
23
24
|
spec.add_dependency "parser"
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Incompatibilities
|
2
|
+
## Versions
|
3
|
+
- Haml 4.0.6
|
4
|
+
- Faml 0.2.13
|
5
|
+
- Hamlit 1.6.0
|
6
|
+
|
7
|
+
## Table of contents
|
8
|
+
- [spec/compiler_newline_spec.md](spec/compiler_newline_spec.md)
|
9
|
+
- [spec/render/attribute_spec.md](spec/render/attribute_spec.md)
|
10
|
+
- [spec/render/comment_spec.md](spec/render/comment_spec.md)
|
11
|
+
- [spec/render/doctype_spec.md](spec/render/doctype_spec.md)
|
12
|
+
- [spec/render/element_spec.md](spec/render/element_spec.md)
|
13
|
+
- [spec/render/filters/cdata_spec.md](spec/render/filters/cdata_spec.md)
|
14
|
+
- [spec/render/filters/coffee_spec.md](spec/render/filters/coffee_spec.md)
|
15
|
+
- [spec/render/filters/css_spec.md](spec/render/filters/css_spec.md)
|
16
|
+
- [spec/render/filters/escaped_spec.md](spec/render/filters/escaped_spec.md)
|
17
|
+
- [spec/render/filters/javascript_spec.md](spec/render/filters/javascript_spec.md)
|
18
|
+
- [spec/render/filters/markdown_spec.md](spec/render/filters/markdown_spec.md)
|
19
|
+
- [spec/render/filters/preserve_spec.md](spec/render/filters/preserve_spec.md)
|
20
|
+
- [spec/render/filters/sass_spec.md](spec/render/filters/sass_spec.md)
|
21
|
+
- [spec/render/filters/scss_spec.md](spec/render/filters/scss_spec.md)
|
22
|
+
- [spec/render/helpers_spec.md](spec/render/helpers_spec.md)
|
23
|
+
- [spec/render/indent_spec.md](spec/render/indent_spec.md)
|
24
|
+
- [spec/render/multiline_spec.md](spec/render/multiline_spec.md)
|
25
|
+
- [spec/render/newline_spec.md](spec/render/newline_spec.md)
|
26
|
+
- [spec/render/plain_spec.md](spec/render/plain_spec.md)
|
27
|
+
- [spec/render/sanitize_spec.md](spec/render/sanitize_spec.md)
|
28
|
+
- [spec/render/silent_script_spec.md](spec/render/silent_script_spec.md)
|
29
|
+
- [spec/render/unescape_spec.md](spec/render/unescape_spec.md)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# [./spec/compiler_newline_spec.rb:209](../../spec/compiler_newline_spec.rb#L209)
|
2
|
+
## Input
|
3
|
+
```haml
|
4
|
+
= [__LINE__,
|
5
|
+
__LINE__,
|
6
|
+
__LINE__].join(' ')
|
7
|
+
%span= __LINE__
|
8
|
+
|
9
|
+
```
|
10
|
+
|
11
|
+
## Faml
|
12
|
+
```html
|
13
|
+
1 2 3
|
14
|
+
<span>4</span>
|
15
|
+
|
16
|
+
```
|
17
|
+
|
18
|
+
## Haml
|
19
|
+
```html
|
20
|
+
1 1 1
|
21
|
+
<span>4</span>
|
22
|
+
|
23
|
+
```
|
24
|
+
|
25
|
+
## Hamlit
|
26
|
+
```html
|
27
|
+
1 1 1
|
28
|
+
<span>2</span>
|
29
|
+
|
30
|
+
```
|
31
|
+
|
@@ -0,0 +1,587 @@
|
|
1
|
+
# [./spec/render/attribute_spec.rb:23](../../../spec/render/attribute_spec.rb#L23)
|
2
|
+
## Input
|
3
|
+
```haml
|
4
|
+
%span{"foo": 'bar'}
|
5
|
+
```
|
6
|
+
|
7
|
+
## Faml, Haml
|
8
|
+
```html
|
9
|
+
<span foo='bar'></span>
|
10
|
+
|
11
|
+
```
|
12
|
+
|
13
|
+
## Hamlit (Error)
|
14
|
+
```html
|
15
|
+
Hamlit::SyntaxError
|
16
|
+
```
|
17
|
+
|
18
|
+
# [./spec/render/attribute_spec.rb:23](../../../spec/render/attribute_spec.rb#L23)
|
19
|
+
## Input
|
20
|
+
```haml
|
21
|
+
- x = 'bar'
|
22
|
+
%span{"foo": x}
|
23
|
+
```
|
24
|
+
|
25
|
+
## Faml, Haml
|
26
|
+
```html
|
27
|
+
<span foo='bar'></span>
|
28
|
+
|
29
|
+
```
|
30
|
+
|
31
|
+
## Hamlit (Error)
|
32
|
+
```html
|
33
|
+
Hamlit::SyntaxError
|
34
|
+
```
|
35
|
+
|
36
|
+
# [./spec/render/attribute_spec.rb:23](../../../spec/render/attribute_spec.rb#L23)
|
37
|
+
## Input
|
38
|
+
```haml
|
39
|
+
%span{'foo': 'bar'}
|
40
|
+
```
|
41
|
+
|
42
|
+
## Faml, Haml
|
43
|
+
```html
|
44
|
+
<span foo='bar'></span>
|
45
|
+
|
46
|
+
```
|
47
|
+
|
48
|
+
## Hamlit (Error)
|
49
|
+
```html
|
50
|
+
Hamlit::SyntaxError
|
51
|
+
```
|
52
|
+
|
53
|
+
# [./spec/render/attribute_spec.rb:23](../../../spec/render/attribute_spec.rb#L23)
|
54
|
+
## Input
|
55
|
+
```haml
|
56
|
+
- x = 'bar'
|
57
|
+
%span{'foo': x}
|
58
|
+
```
|
59
|
+
|
60
|
+
## Faml, Haml
|
61
|
+
```html
|
62
|
+
<span foo='bar'></span>
|
63
|
+
|
64
|
+
```
|
65
|
+
|
66
|
+
## Hamlit (Error)
|
67
|
+
```html
|
68
|
+
Hamlit::SyntaxError
|
69
|
+
```
|
70
|
+
|
71
|
+
# [./spec/render/attribute_spec.rb:52](../../../spec/render/attribute_spec.rb#L52)
|
72
|
+
## Input
|
73
|
+
```haml
|
74
|
+
- h1 = {class: 'c1', id: ['id1', 'id3']}
|
75
|
+
- h2 = {class: [{}, 'c2'], id: 'id2'}
|
76
|
+
%span#main.content{h1, h2} hello
|
77
|
+
|
78
|
+
```
|
79
|
+
|
80
|
+
## Faml, Haml
|
81
|
+
```html
|
82
|
+
<span class='c1 c2 content {}' id='main_id1_id3_id2'>hello</span>
|
83
|
+
|
84
|
+
```
|
85
|
+
|
86
|
+
## Hamlit
|
87
|
+
```html
|
88
|
+
<span class='c1 content c2 {}' id='main_id1_id3_id2'>hello</span>
|
89
|
+
|
90
|
+
```
|
91
|
+
|
92
|
+
# [./spec/render/attribute_spec.rb:65](../../../spec/render/attribute_spec.rb#L65)
|
93
|
+
## Input
|
94
|
+
```haml
|
95
|
+
%span.foo{class: :foo}
|
96
|
+
```
|
97
|
+
|
98
|
+
## Faml, Haml
|
99
|
+
```html
|
100
|
+
<span class='foo'></span>
|
101
|
+
|
102
|
+
```
|
103
|
+
|
104
|
+
## Hamlit
|
105
|
+
```html
|
106
|
+
<span class='foo foo'></span>
|
107
|
+
|
108
|
+
```
|
109
|
+
|
110
|
+
# [./spec/render/attribute_spec.rb:65](../../../spec/render/attribute_spec.rb#L65)
|
111
|
+
## Input
|
112
|
+
```haml
|
113
|
+
%span.foo{class: "foo bar"}
|
114
|
+
```
|
115
|
+
|
116
|
+
## Faml, Haml
|
117
|
+
```html
|
118
|
+
<span class='bar foo'></span>
|
119
|
+
|
120
|
+
```
|
121
|
+
|
122
|
+
## Hamlit
|
123
|
+
```html
|
124
|
+
<span class='foo bar foo'></span>
|
125
|
+
|
126
|
+
```
|
127
|
+
|
128
|
+
# [./spec/render/attribute_spec.rb:65](../../../spec/render/attribute_spec.rb#L65)
|
129
|
+
## Input
|
130
|
+
```haml
|
131
|
+
%span.foo{class: %w[foo bar]}
|
132
|
+
```
|
133
|
+
|
134
|
+
## Faml, Haml
|
135
|
+
```html
|
136
|
+
<span class='bar foo'></span>
|
137
|
+
|
138
|
+
```
|
139
|
+
|
140
|
+
## Hamlit
|
141
|
+
```html
|
142
|
+
<span class='bar foo foo'></span>
|
143
|
+
|
144
|
+
```
|
145
|
+
|
146
|
+
# [./spec/render/attribute_spec.rb:71](../../../spec/render/attribute_spec.rb#L71)
|
147
|
+
## Input
|
148
|
+
```haml
|
149
|
+
%span.#foo{id: :bar} hello
|
150
|
+
```
|
151
|
+
|
152
|
+
## Faml
|
153
|
+
```html
|
154
|
+
<span id='foo_bar'>hello</span>
|
155
|
+
|
156
|
+
```
|
157
|
+
|
158
|
+
## Haml (Error)
|
159
|
+
```html
|
160
|
+
Illegal element: classes and ids must have values.
|
161
|
+
```
|
162
|
+
|
163
|
+
## Hamlit (Error)
|
164
|
+
```html
|
165
|
+
Expected to scan (?-mix:[a-zA-Z0-9_-]+) but got nil
|
166
|
+
```
|
167
|
+
|
168
|
+
# [./spec/render/attribute_spec.rb:75](../../../spec/render/attribute_spec.rb#L75)
|
169
|
+
## Input
|
170
|
+
```haml
|
171
|
+
%span{class: "x\"y'z"} hello
|
172
|
+
```
|
173
|
+
|
174
|
+
## Faml, Hamlit
|
175
|
+
```html
|
176
|
+
<span class='x"y'z'>hello</span>
|
177
|
+
|
178
|
+
```
|
179
|
+
|
180
|
+
## Haml
|
181
|
+
```html
|
182
|
+
<span class='x"y'z'>hello</span>
|
183
|
+
|
184
|
+
```
|
185
|
+
|
186
|
+
# [./spec/render/attribute_spec.rb:92](../../../spec/render/attribute_spec.rb#L92)
|
187
|
+
## Input (with options={:format=>:xhtml})
|
188
|
+
```haml
|
189
|
+
- foo = true
|
190
|
+
%span{foo: foo, bar: 1} hello
|
191
|
+
```
|
192
|
+
|
193
|
+
## Faml, Haml
|
194
|
+
```html
|
195
|
+
<span bar='1' foo='foo'>hello</span>
|
196
|
+
|
197
|
+
```
|
198
|
+
|
199
|
+
## Hamlit
|
200
|
+
```html
|
201
|
+
<span bar='1' foo='true'>hello</span>
|
202
|
+
|
203
|
+
```
|
204
|
+
|
205
|
+
# [./spec/render/attribute_spec.rb:92](../../../spec/render/attribute_spec.rb#L92)
|
206
|
+
## Input (with options={:format=>:xhtml})
|
207
|
+
```haml
|
208
|
+
- h = {foo: true, bar: 1}
|
209
|
+
%span{h} hello
|
210
|
+
```
|
211
|
+
|
212
|
+
## Faml, Haml
|
213
|
+
```html
|
214
|
+
<span bar='1' foo='foo'>hello</span>
|
215
|
+
|
216
|
+
```
|
217
|
+
|
218
|
+
## Hamlit
|
219
|
+
```html
|
220
|
+
<span foo bar='1'>hello</span>
|
221
|
+
|
222
|
+
```
|
223
|
+
|
224
|
+
# [./spec/render/attribute_spec.rb:99](../../../spec/render/attribute_spec.rb#L99)
|
225
|
+
## Input
|
226
|
+
```haml
|
227
|
+
%span{foo: {bar: 1+2}} hello
|
228
|
+
```
|
229
|
+
|
230
|
+
## Faml
|
231
|
+
```html
|
232
|
+
<span foo='{:bar=>3}'>hello</span>
|
233
|
+
|
234
|
+
```
|
235
|
+
|
236
|
+
## Haml, Hamlit
|
237
|
+
```html
|
238
|
+
<span foo-bar='3'>hello</span>
|
239
|
+
|
240
|
+
```
|
241
|
+
|
242
|
+
# [./spec/render/attribute_spec.rb:103](../../../spec/render/attribute_spec.rb#L103)
|
243
|
+
## Input
|
244
|
+
```haml
|
245
|
+
- attrs = { foo: 1, bar: { hoge: :fuga }, baz: true }
|
246
|
+
%span{attrs} hello
|
247
|
+
|
248
|
+
```
|
249
|
+
|
250
|
+
## Faml
|
251
|
+
```html
|
252
|
+
<span bar='{:hoge=>:fuga}' baz foo='1'>hello</span>
|
253
|
+
|
254
|
+
```
|
255
|
+
|
256
|
+
## Haml
|
257
|
+
```html
|
258
|
+
<span bar-hoge='fuga' baz foo='1'>hello</span>
|
259
|
+
|
260
|
+
```
|
261
|
+
|
262
|
+
## Hamlit
|
263
|
+
```html
|
264
|
+
<span foo='1' bar-hoge='fuga' baz>hello</span>
|
265
|
+
|
266
|
+
```
|
267
|
+
|
268
|
+
# [./spec/render/attribute_spec.rb:117](../../../spec/render/attribute_spec.rb#L117)
|
269
|
+
## Input
|
270
|
+
```haml
|
271
|
+
- data = { foo: 1 }
|
272
|
+
%span{foo: {bar: "x#{1}y"}} hello
|
273
|
+
|
274
|
+
```
|
275
|
+
|
276
|
+
## Faml
|
277
|
+
```html
|
278
|
+
<span foo='{:bar=>"x1y"}'>hello</span>
|
279
|
+
|
280
|
+
```
|
281
|
+
|
282
|
+
## Haml, Hamlit
|
283
|
+
```html
|
284
|
+
<span foo-bar='x1y'>hello</span>
|
285
|
+
|
286
|
+
```
|
287
|
+
|
288
|
+
# [./spec/render/attribute_spec.rb:124](../../../spec/render/attribute_spec.rb#L124)
|
289
|
+
## Input
|
290
|
+
```haml
|
291
|
+
%span{foo: {bar: 1+2}} hello
|
292
|
+
```
|
293
|
+
|
294
|
+
## Faml
|
295
|
+
```html
|
296
|
+
<span foo='{:bar=>3}'>hello</span>
|
297
|
+
|
298
|
+
```
|
299
|
+
|
300
|
+
## Haml, Hamlit
|
301
|
+
```html
|
302
|
+
<span foo-bar='3'>hello</span>
|
303
|
+
|
304
|
+
```
|
305
|
+
|
306
|
+
# [./spec/render/attribute_spec.rb:157](../../../spec/render/attribute_spec.rb#L157)
|
307
|
+
## Input
|
308
|
+
```haml
|
309
|
+
%span{foo: 1
|
310
|
+
, bar: 2} hello
|
311
|
+
|
312
|
+
```
|
313
|
+
|
314
|
+
## Faml (Error)
|
315
|
+
```html
|
316
|
+
Unmatched brace
|
317
|
+
```
|
318
|
+
|
319
|
+
## Haml (Error)
|
320
|
+
```html
|
321
|
+
Unbalanced brackets.
|
322
|
+
```
|
323
|
+
|
324
|
+
## Hamlit
|
325
|
+
```html
|
326
|
+
<span bar='2' foo='1'>hello</span>
|
327
|
+
|
328
|
+
```
|
329
|
+
|
330
|
+
# [./spec/render/attribute_spec.rb:166](../../../spec/render/attribute_spec.rb#L166)
|
331
|
+
## Input
|
332
|
+
```haml
|
333
|
+
%span{data: {foo: 1, bar: 'baz', :hoge => :fuga, k1: { k2: 'v3' }}} hello
|
334
|
+
```
|
335
|
+
|
336
|
+
## Faml, Haml
|
337
|
+
```html
|
338
|
+
<span data-bar='baz' data-foo='1' data-hoge='fuga' data-k1-k2='v3'>hello</span>
|
339
|
+
|
340
|
+
```
|
341
|
+
|
342
|
+
## Hamlit
|
343
|
+
```html
|
344
|
+
<span data-foo='1' data-bar='baz' data-hoge='fuga' data-k1-k2='v3'>hello</span>
|
345
|
+
|
346
|
+
```
|
347
|
+
|
348
|
+
# [./spec/render/attribute_spec.rb:174](../../../spec/render/attribute_spec.rb#L174)
|
349
|
+
## Input
|
350
|
+
```haml
|
351
|
+
%span{data: {foo: 1, bar: 2+3}} hello
|
352
|
+
```
|
353
|
+
|
354
|
+
## Faml, Haml
|
355
|
+
```html
|
356
|
+
<span data-bar='5' data-foo='1'>hello</span>
|
357
|
+
|
358
|
+
```
|
359
|
+
|
360
|
+
## Hamlit
|
361
|
+
```html
|
362
|
+
<span data-foo='1' data-bar='5'>hello</span>
|
363
|
+
|
364
|
+
```
|
365
|
+
|
366
|
+
# [./spec/render/attribute_spec.rb:178](../../../spec/render/attribute_spec.rb#L178)
|
367
|
+
## Input
|
368
|
+
```haml
|
369
|
+
- data = { foo: 1, bar: 2 }
|
370
|
+
%span{data: data} hello
|
371
|
+
|
372
|
+
```
|
373
|
+
|
374
|
+
## Faml, Haml
|
375
|
+
```html
|
376
|
+
<span data-bar='2' data-foo='1'>hello</span>
|
377
|
+
|
378
|
+
```
|
379
|
+
|
380
|
+
## Hamlit
|
381
|
+
```html
|
382
|
+
<span data-foo='1' data-bar='2'>hello</span>
|
383
|
+
|
384
|
+
```
|
385
|
+
|
386
|
+
# [./spec/render/attribute_spec.rb:186](../../../spec/render/attribute_spec.rb#L186)
|
387
|
+
## Input
|
388
|
+
```haml
|
389
|
+
%span{b: __LINE__,
|
390
|
+
a: __LINE__}
|
391
|
+
|
392
|
+
```
|
393
|
+
|
394
|
+
## Faml, Haml
|
395
|
+
```html
|
396
|
+
<span a='2' b='1'></span>
|
397
|
+
|
398
|
+
```
|
399
|
+
|
400
|
+
## Hamlit
|
401
|
+
```html
|
402
|
+
<span a='1' b='1'></span>
|
403
|
+
|
404
|
+
```
|
405
|
+
|
406
|
+
# [./spec/render/attribute_spec.rb:212](../../../spec/render/attribute_spec.rb#L212)
|
407
|
+
## Input
|
408
|
+
```haml
|
409
|
+
%span{data: {foo: 1,
|
410
|
+
bar: 2}}
|
411
|
+
%span hello
|
412
|
+
|
413
|
+
```
|
414
|
+
|
415
|
+
## Faml, Haml
|
416
|
+
```html
|
417
|
+
<span data-bar='2' data-foo='1'>
|
418
|
+
<span>hello</span>
|
419
|
+
</span>
|
420
|
+
|
421
|
+
```
|
422
|
+
|
423
|
+
## Hamlit
|
424
|
+
```html
|
425
|
+
<span data-foo='1' data-bar='2'>
|
426
|
+
<span>hello</span>
|
427
|
+
</span>
|
428
|
+
|
429
|
+
```
|
430
|
+
|
431
|
+
# [./spec/render/attribute_spec.rb:220](../../../spec/render/attribute_spec.rb#L220)
|
432
|
+
## Input
|
433
|
+
```haml
|
434
|
+
%span(foo=1
|
435
|
+
|
436
|
+
bar=3) hello
|
437
|
+
|
438
|
+
```
|
439
|
+
|
440
|
+
## Faml, Haml
|
441
|
+
```html
|
442
|
+
<span bar='3' foo='1'>hello</span>
|
443
|
+
|
444
|
+
```
|
445
|
+
|
446
|
+
## Hamlit
|
447
|
+
```html
|
448
|
+
<span foo='3'>hello</span>
|
449
|
+
|
450
|
+
```
|
451
|
+
|
452
|
+
# [./spec/render/attribute_spec.rb:237](../../../spec/render/attribute_spec.rb#L237)
|
453
|
+
## Input
|
454
|
+
```haml
|
455
|
+
%span(foo bar=1) hello
|
456
|
+
```
|
457
|
+
|
458
|
+
## Faml, Haml
|
459
|
+
```html
|
460
|
+
<span bar='1' foo>hello</span>
|
461
|
+
|
462
|
+
```
|
463
|
+
|
464
|
+
## Hamlit
|
465
|
+
```html
|
466
|
+
<span = foo>hello</span>
|
467
|
+
|
468
|
+
```
|
469
|
+
|
470
|
+
# [./spec/render/attribute_spec.rb:241](../../../spec/render/attribute_spec.rb#L241)
|
471
|
+
## Input
|
472
|
+
```haml
|
473
|
+
%span(foo=1 bar='baz#{1 + 2}') hello
|
474
|
+
```
|
475
|
+
|
476
|
+
## Faml, Haml
|
477
|
+
```html
|
478
|
+
<span bar='baz3' foo='1'>hello</span>
|
479
|
+
|
480
|
+
```
|
481
|
+
|
482
|
+
## Hamlit
|
483
|
+
```html
|
484
|
+
<span bar='baz#{1 + 2}' foo='1'>hello</span>
|
485
|
+
|
486
|
+
```
|
487
|
+
|
488
|
+
# [./spec/render/attribute_spec.rb:246](../../../spec/render/attribute_spec.rb#L246)
|
489
|
+
## Input
|
490
|
+
```haml
|
491
|
+
%span(foo=1 bar="ba\"z") hello
|
492
|
+
```
|
493
|
+
|
494
|
+
## Faml, Hamlit
|
495
|
+
```html
|
496
|
+
<span bar='ba"z' foo='1'>hello</span>
|
497
|
+
|
498
|
+
```
|
499
|
+
|
500
|
+
## Haml
|
501
|
+
```html
|
502
|
+
<span bar='ba"z' foo='1'>hello</span>
|
503
|
+
|
504
|
+
```
|
505
|
+
|
506
|
+
# [./spec/render/attribute_spec.rb:246](../../../spec/render/attribute_spec.rb#L246)
|
507
|
+
## Input
|
508
|
+
```haml
|
509
|
+
%span(foo=1 bar='ba\'z') hello
|
510
|
+
```
|
511
|
+
|
512
|
+
## Faml, Hamlit
|
513
|
+
```html
|
514
|
+
<span bar='ba'z' foo='1'>hello</span>
|
515
|
+
|
516
|
+
```
|
517
|
+
|
518
|
+
## Haml
|
519
|
+
```html
|
520
|
+
<span bar="ba'z" foo='1'>hello</span>
|
521
|
+
|
522
|
+
```
|
523
|
+
|
524
|
+
# [./spec/render/attribute_spec.rb:255](../../../spec/render/attribute_spec.rb#L255)
|
525
|
+
## Input
|
526
|
+
```haml
|
527
|
+
%span(foo=1 3.14=3) hello
|
528
|
+
```
|
529
|
+
|
530
|
+
## Faml (Error)
|
531
|
+
```html
|
532
|
+
Invalid attribute list (missing attributename)
|
533
|
+
```
|
534
|
+
|
535
|
+
## Haml (Error)
|
536
|
+
```html
|
537
|
+
Invalid attribute list: "(foo=1 3.14=3)".
|
538
|
+
```
|
539
|
+
|
540
|
+
## Hamlit
|
541
|
+
```html
|
542
|
+
<span 3.14 foo='1'>hello</span>
|
543
|
+
|
544
|
+
```
|
545
|
+
|
546
|
+
# [./spec/render/attribute_spec.rb:259](../../../spec/render/attribute_spec.rb#L259)
|
547
|
+
## Input
|
548
|
+
```haml
|
549
|
+
%span(foo=1 bar=) hello
|
550
|
+
```
|
551
|
+
|
552
|
+
## Faml (Error)
|
553
|
+
```html
|
554
|
+
Invalid attribute list (invalid variable name)
|
555
|
+
```
|
556
|
+
|
557
|
+
## Haml (Error)
|
558
|
+
```html
|
559
|
+
Invalid attribute list: "(foo=1 bar=)".
|
560
|
+
```
|
561
|
+
|
562
|
+
## Hamlit
|
563
|
+
```html
|
564
|
+
<span bar foo='1'>hello</span>
|
565
|
+
|
566
|
+
```
|
567
|
+
|
568
|
+
# [./spec/render/attribute_spec.rb:271](../../../spec/render/attribute_spec.rb#L271)
|
569
|
+
## Input
|
570
|
+
```haml
|
571
|
+
%span(b=__LINE__
|
572
|
+
a=__LINE__)
|
573
|
+
|
574
|
+
```
|
575
|
+
|
576
|
+
## Faml
|
577
|
+
```html
|
578
|
+
<span a='2' b='1'></span>
|
579
|
+
|
580
|
+
```
|
581
|
+
|
582
|
+
## Haml, Hamlit
|
583
|
+
```html
|
584
|
+
<span a='1' b='1'></span>
|
585
|
+
|
586
|
+
```
|
587
|
+
|