faml 0.6.3 → 0.6.4

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: beef30a714bedb8c79f1ff6382d91ce5d79cd7ea
4
- data.tar.gz: 0dfd73a88e67ebc32d5ec3aa7eecd190110c92c8
3
+ metadata.gz: efb487cc95863a4732f1771c0e634fe19c533d84
4
+ data.tar.gz: a2d406a2e67257ee76c8c847b52f9ac0c54a7bd5
5
5
  SHA512:
6
- metadata.gz: c8be5c3da3eb798f52e9c23e2db8e7f4b2826fdeb6cacd929f17c36dc4fdfcc14f472d10345f0f4dc6618a8e036ca3f6fdeba08458af8ad9428134e811a15356
7
- data.tar.gz: 608fd49b52622683bf2eda3e401ecea2798ded3582f0367b28f981d54cfc50c2ac60e3f1340266e7543e4fd53891b3d8321adf255e17b98c3069ff57db6f7d59
6
+ metadata.gz: 4fb7e5535a4c2f2e7f03a9fb79055d02191bd3b862e6e5e5b8b884c832d5a6c877776d9fb234367de6f03d751749ccb38bfb92a698cb1a0279779e88b78f40f5
7
+ data.tar.gz: cc47fb356f37cf92cfc5c402b63c29d9b3318667118ff33c8b0fb964219d4bf262bed7d1de9d175f7dc4d9f4ec6fc1162434eb581628a4d02a01fda65e46d595
@@ -1,6 +1,7 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
+ DisplayCopNames: true
4
5
  Exclude:
5
6
  - 'haml-spec/**/*'
6
7
 
@@ -19,5 +19,8 @@ Metrics/MethodLength:
19
19
  Metrics/PerceivedComplexity:
20
20
  Enabled: false
21
21
 
22
+ Metrics/ParameterLists:
23
+ Enabled: false
24
+
22
25
  Style/Documentation:
23
26
  Enabled: false
@@ -1,3 +1,7 @@
1
+ ## 0.6.4 (2015-11-28)
2
+ - Flatten `id` and `class` attributes
3
+ - https://github.com/eagletmt/faml/pull/41
4
+
1
5
  ## 0.6.3 (2015-11-22)
2
6
  - Remove duplicated class in Ruby attribute case
3
7
  - `%span.foo{h}` where `h = { class: 'foo bar' }` now renders `<span class='bar foo'></span>` .
data/Rakefile CHANGED
@@ -20,8 +20,10 @@ namespace :benchmark do
20
20
  namespace :rendering do
21
21
  desc "Run rendering benchmark with Haml's standard template"
22
22
  task :haml do
23
- haml_gem = Gem::Specification.find_by_name('haml')
24
- standard_haml_path = File.join(haml_gem.gem_dir, 'test', 'templates', 'standard.haml')
23
+ faml_spec = Gem::Specification.find_by_name('faml')
24
+ haml_req = faml_spec.dependencies.find { |dep| dep.name == 'haml' }.requirement
25
+ haml_spec = Gem::Specification.find_by_name('haml', haml_req)
26
+ standard_haml_path = File.join(haml_spec.gem_dir, 'test', 'templates', 'standard.haml')
25
27
  sh 'ruby', 'benchmark/rendering.rb', standard_haml_path
26
28
  end
27
29
 
@@ -40,8 +42,10 @@ namespace :benchmark do
40
42
  namespace :compiling do
41
43
  desc "Run compiling benchmark with Haml's standard template"
42
44
  task :haml do
43
- haml_gem = Gem::Specification.find_by_name('haml')
44
- standard_haml_path = File.join(haml_gem.gem_dir, 'test', 'templates', 'standard.haml')
45
+ faml_spec = Gem::Specification.find_by_name('faml')
46
+ haml_req = faml_spec.dependencies.find { |dep| dep.name == 'haml' }.requirement
47
+ haml_spec = Gem::Specification.find_by_name('haml', haml_req)
48
+ standard_haml_path = File.join(haml_spec.gem_dir, 'test', 'templates', 'standard.haml')
45
49
  sh 'ruby', 'benchmark/compiling.rb', standard_haml_path
46
50
  end
47
51
 
@@ -13,7 +13,7 @@
13
13
  #define FOREACH_FUNC(func) ((int (*)(ANYARGS))(func))
14
14
 
15
15
  VALUE rb_mAttributeBuilder;
16
- static ID id_keys, id_sort_bang, id_uniq_bang, id_merge_bang;
16
+ static ID id_keys, id_sort_bang, id_uniq_bang, id_merge_bang, id_flatten;
17
17
  static ID id_id, id_class, id_underscore, id_hyphen, id_space, id_equal;
18
18
 
19
19
  static void
@@ -26,7 +26,11 @@ concat_array_attribute(VALUE attributes, VALUE hash, VALUE key)
26
26
  if (!NIL_P(v)) {
27
27
  VALUE ary;
28
28
 
29
- v = rb_Array(v);
29
+ if (RB_TYPE_P(v, T_ARRAY)) {
30
+ v = rb_funcall(v, id_flatten, 0);
31
+ } else {
32
+ v = rb_Array(v);
33
+ }
30
34
  ary = rb_hash_lookup(attributes, key);
31
35
  Check_Type(ary, T_ARRAY);
32
36
  rb_ary_concat(ary, v);
@@ -333,6 +337,7 @@ Init_attribute_builder(void)
333
337
  id_sort_bang = rb_intern("sort!");
334
338
  id_uniq_bang = rb_intern("uniq!");
335
339
  id_merge_bang = rb_intern("merge!");
340
+ id_flatten = rb_intern("flatten");
336
341
 
337
342
  id_id = rb_intern("ID");
338
343
  id_class = rb_intern("CLASS");
@@ -1,11 +1,12 @@
1
1
  # Incompatibilities
2
2
  ## Versions
3
3
  - Haml 4.1.0.beta.1
4
- - Faml 0.6.3
4
+ - Faml 0.6.4
5
5
  - Hamlit 1.7.2
6
6
 
7
7
  ## Table of contents
8
8
  - [spec/compiler_newline_spec.md](spec/compiler_newline_spec.md)
9
+ - [spec/render/array_attribute_spec.md](spec/render/array_attribute_spec.md)
9
10
  - [spec/render/attribute_spec.md](spec/render/attribute_spec.md)
10
11
  - [spec/render/comment_spec.md](spec/render/comment_spec.md) (Hamlit's incompatibility)
11
12
  - [spec/render/doctype_spec.md](spec/render/doctype_spec.md)
@@ -17,6 +18,7 @@
17
18
  - [spec/render/filters/markdown_spec.md](spec/render/filters/markdown_spec.md)
18
19
  - [spec/render/filters/plain_spec.md](spec/render/filters/plain_spec.md)
19
20
  - [spec/render/filters/preserve_spec.md](spec/render/filters/preserve_spec.md) (Hamlit's incompatibility)
21
+ - [spec/render/hash_attribute_spec.md](spec/render/hash_attribute_spec.md)
20
22
  - [spec/render/helpers_spec.md](spec/render/helpers_spec.md) (Hamlit's incompatibility)
21
23
  - [spec/render/multiline_spec.md](spec/render/multiline_spec.md) (Hamlit's incompatibility)
22
24
  - [spec/render/newline_spec.md](spec/render/newline_spec.md) (Hamlit's incompatibility)
@@ -0,0 +1,301 @@
1
+ # [./spec/render/array_attribute_spec.rb:15](../../../spec/render/array_attribute_spec.rb#L15)
2
+ ## Input
3
+ ```haml
4
+ - h1 = {class: 'c1', id: ['id1', 'id3']}
5
+ - h2 = {class: [{}, 'c2'], id: 'id2'}
6
+ %span#main.content{h1, h2} hello
7
+
8
+ ```
9
+
10
+ ## Faml, Haml
11
+ ```html
12
+ <span class='c1 c2 content {}' id='main_id1_id3_id2'>hello</span>
13
+
14
+ ```
15
+
16
+ ## Hamlit
17
+ ```html
18
+ <span class='c1 content c2 {}' id='main_id1_id3_id2'>hello</span>
19
+
20
+ ```
21
+
22
+ # [./spec/render/array_attribute_spec.rb:23](../../../spec/render/array_attribute_spec.rb#L23)
23
+ ## Input
24
+ ```haml
25
+ %span.foo{class: "foo bar"}
26
+ ```
27
+
28
+ ## Faml, Haml
29
+ ```html
30
+ <span class='bar foo'></span>
31
+
32
+ ```
33
+
34
+ ## Hamlit
35
+ ```html
36
+ <span class='foo bar foo'></span>
37
+
38
+ ```
39
+
40
+ # [./spec/render/array_attribute_spec.rb:23](../../../spec/render/array_attribute_spec.rb#L23)
41
+ ## Input
42
+ ```haml
43
+ - v = "foo bar"
44
+ %span.foo{class: v}
45
+ ```
46
+
47
+ ## Faml, Haml
48
+ ```html
49
+ <span class='bar foo'></span>
50
+
51
+ ```
52
+
53
+ ## Hamlit
54
+ ```html
55
+ <span class='foo foo bar'></span>
56
+
57
+ ```
58
+
59
+ # [./spec/render/array_attribute_spec.rb:23](../../../spec/render/array_attribute_spec.rb#L23)
60
+ ## Input
61
+ ```haml
62
+ - h = {class: "foo bar"}
63
+ %span.foo{h}
64
+ ```
65
+
66
+ ## Faml, Haml
67
+ ```html
68
+ <span class='bar foo'></span>
69
+
70
+ ```
71
+
72
+ ## Hamlit
73
+ ```html
74
+ <span class='foo foo bar'></span>
75
+
76
+ ```
77
+
78
+ # [./spec/render/array_attribute_spec.rb:35](../../../spec/render/array_attribute_spec.rb#L35)
79
+ ## Input
80
+ ```haml
81
+ %span{class: []}
82
+ ```
83
+
84
+ ## Faml
85
+ ```html
86
+ <span></span>
87
+
88
+ ```
89
+
90
+ ## Haml, Hamlit
91
+ ```html
92
+ <span class=''></span>
93
+
94
+ ```
95
+
96
+ # [./spec/render/array_attribute_spec.rb:35](../../../spec/render/array_attribute_spec.rb#L35)
97
+ ## Input
98
+ ```haml
99
+ - v = []
100
+ %span{class: v}
101
+ ```
102
+
103
+ ## Faml
104
+ ```html
105
+ <span></span>
106
+
107
+ ```
108
+
109
+ ## Haml, Hamlit
110
+ ```html
111
+ <span class=''></span>
112
+
113
+ ```
114
+
115
+ # [./spec/render/array_attribute_spec.rb:35](../../../spec/render/array_attribute_spec.rb#L35)
116
+ ## Input
117
+ ```haml
118
+ - h = {class: []}
119
+ %span{h}
120
+ ```
121
+
122
+ ## Faml
123
+ ```html
124
+ <span></span>
125
+
126
+ ```
127
+
128
+ ## Haml, Hamlit
129
+ ```html
130
+ <span class=''></span>
131
+
132
+ ```
133
+
134
+ # [./spec/render/array_attribute_spec.rb:41](../../../spec/render/array_attribute_spec.rb#L41)
135
+ ## Input
136
+ ```haml
137
+ %span{class: [1, nil, false, true]}
138
+ ```
139
+
140
+ ## Faml, Haml
141
+ ```html
142
+ <span class='1 true'></span>
143
+
144
+ ```
145
+
146
+ ## Hamlit
147
+ ```html
148
+ <span class='1 false true'></span>
149
+
150
+ ```
151
+
152
+ # [./spec/render/array_attribute_spec.rb:41](../../../spec/render/array_attribute_spec.rb#L41)
153
+ ## Input
154
+ ```haml
155
+ - v = [1, nil, false, true]
156
+ %span{class: v}
157
+ ```
158
+
159
+ ## Faml, Haml
160
+ ```html
161
+ <span class='1 true'></span>
162
+
163
+ ```
164
+
165
+ ## Hamlit
166
+ ```html
167
+ <span class='1 false true'></span>
168
+
169
+ ```
170
+
171
+ # [./spec/render/array_attribute_spec.rb:41](../../../spec/render/array_attribute_spec.rb#L41)
172
+ ## Input
173
+ ```haml
174
+ - h = {class: [1, nil, false, true]}
175
+ %span{h}
176
+ ```
177
+
178
+ ## Faml, Haml
179
+ ```html
180
+ <span class='1 true'></span>
181
+
182
+ ```
183
+
184
+ ## Hamlit
185
+ ```html
186
+ <span class='1 false true'></span>
187
+
188
+ ```
189
+
190
+ # [./spec/render/array_attribute_spec.rb:61](../../../spec/render/array_attribute_spec.rb#L61)
191
+ ## Input
192
+ ```haml
193
+ %span{id: []}
194
+ ```
195
+
196
+ ## Faml
197
+ ```html
198
+ <span></span>
199
+
200
+ ```
201
+
202
+ ## Haml, Hamlit
203
+ ```html
204
+ <span id=''></span>
205
+
206
+ ```
207
+
208
+ # [./spec/render/array_attribute_spec.rb:61](../../../spec/render/array_attribute_spec.rb#L61)
209
+ ## Input
210
+ ```haml
211
+ - v = []
212
+ %span{id: v}
213
+ ```
214
+
215
+ ## Faml
216
+ ```html
217
+ <span></span>
218
+
219
+ ```
220
+
221
+ ## Haml, Hamlit
222
+ ```html
223
+ <span id=''></span>
224
+
225
+ ```
226
+
227
+ # [./spec/render/array_attribute_spec.rb:61](../../../spec/render/array_attribute_spec.rb#L61)
228
+ ## Input
229
+ ```haml
230
+ - h = {id: []}
231
+ %span{h}
232
+ ```
233
+
234
+ ## Faml
235
+ ```html
236
+ <span></span>
237
+
238
+ ```
239
+
240
+ ## Haml, Hamlit
241
+ ```html
242
+ <span id=''></span>
243
+
244
+ ```
245
+
246
+ # [./spec/render/array_attribute_spec.rb:67](../../../spec/render/array_attribute_spec.rb#L67)
247
+ ## Input
248
+ ```haml
249
+ %span{id: [1, nil, false, true]}
250
+ ```
251
+
252
+ ## Faml, Haml
253
+ ```html
254
+ <span id='1_true'></span>
255
+
256
+ ```
257
+
258
+ ## Hamlit
259
+ ```html
260
+ <span id='1__false_true'></span>
261
+
262
+ ```
263
+
264
+ # [./spec/render/array_attribute_spec.rb:67](../../../spec/render/array_attribute_spec.rb#L67)
265
+ ## Input
266
+ ```haml
267
+ - v = [1, nil, false, true]
268
+ %span{id: v}
269
+ ```
270
+
271
+ ## Faml, Haml
272
+ ```html
273
+ <span id='1_true'></span>
274
+
275
+ ```
276
+
277
+ ## Hamlit
278
+ ```html
279
+ <span id='1__false_true'></span>
280
+
281
+ ```
282
+
283
+ # [./spec/render/array_attribute_spec.rb:67](../../../spec/render/array_attribute_spec.rb#L67)
284
+ ## Input
285
+ ```haml
286
+ - h = {id: [1, nil, false, true]}
287
+ %span{h}
288
+ ```
289
+
290
+ ## Faml, Haml
291
+ ```html
292
+ <span id='1_true'></span>
293
+
294
+ ```
295
+
296
+ ## Hamlit
297
+ ```html
298
+ <span id='1__false_true'></span>
299
+
300
+ ```
301
+
@@ -1,423 +1,98 @@
1
- # [./spec/render/attribute_spec.rb:49](../../../spec/render/attribute_spec.rb#L49)
1
+ # [./spec/render/attribute_spec.rb:44](../../../spec/render/attribute_spec.rb#L44)
2
2
  ## Input
3
3
  ```haml
4
- - h1 = {class: 'c1', id: ['id1', 'id3']}
5
- - h2 = {class: [{}, 'c2'], id: 'id2'}
6
- %span#main.content{h1, h2} hello
7
-
8
- ```
9
-
10
- ## Faml, Haml
11
- ```html
12
- <span class='c1 c2 content {}' id='main_id1_id3_id2'>hello</span>
13
-
14
- ```
15
-
16
- ## Hamlit
17
- ```html
18
- <span class='c1 content c2 {}' id='main_id1_id3_id2'>hello</span>
19
-
20
- ```
21
-
22
- # [./spec/render/attribute_spec.rb:62](../../../spec/render/attribute_spec.rb#L62)
23
- ## Input
24
- ```haml
25
- %span.foo{class: "foo bar"}
26
- ```
27
-
28
- ## Faml, Haml
29
- ```html
30
- <span class='bar foo'></span>
31
-
32
- ```
33
-
34
- ## Hamlit
35
- ```html
36
- <span class='foo bar foo'></span>
37
-
38
- ```
39
-
40
- # [./spec/render/attribute_spec.rb:62](../../../spec/render/attribute_spec.rb#L62)
41
- ## Input
42
- ```haml
43
- - v = 'foo bar'
44
- %span.foo{class: v}
45
- ```
46
-
47
- ## Faml, Haml
48
- ```html
49
- <span class='bar foo'></span>
50
-
51
- ```
52
-
53
- ## Hamlit
54
- ```html
55
- <span class='foo foo bar'></span>
56
-
57
- ```
58
-
59
- # [./spec/render/attribute_spec.rb:62](../../../spec/render/attribute_spec.rb#L62)
60
- ## Input
61
- ```haml
62
- - h = {class: 'foo bar'}
63
- %span.foo{h}
64
- ```
65
-
66
- ## Faml, Haml
67
- ```html
68
- <span class='bar foo'></span>
69
-
70
- ```
71
-
72
- ## Hamlit
73
- ```html
74
- <span class='foo foo bar'></span>
75
-
76
- ```
77
-
78
- # [./spec/render/attribute_spec.rb:80](../../../spec/render/attribute_spec.rb#L80)
79
- ## Input
80
- ```haml
81
- %span{class: []}
82
- ```
83
-
84
- ## Faml
85
- ```html
86
- <span></span>
87
-
88
- ```
89
-
90
- ## Haml, Hamlit
91
- ```html
92
- <span class=''></span>
93
-
94
- ```
95
-
96
- # [./spec/render/attribute_spec.rb:84](../../../spec/render/attribute_spec.rb#L84)
97
- ## Input
98
- ```haml
99
- %span{class: [1, nil, false, true]}
100
- ```
101
-
102
- ## Faml, Haml
103
- ```html
104
- <span class='1 true'></span>
105
-
106
- ```
107
-
108
- ## Hamlit
109
- ```html
110
- <span class='1 false true'></span>
111
-
112
- ```
113
-
114
- # [./spec/render/attribute_spec.rb:84](../../../spec/render/attribute_spec.rb#L84)
115
- ## Input
116
- ```haml
117
- - v = [1, nil, false, true]
118
- %span{class: v}
119
- ```
120
-
121
- ## Faml, Haml
122
- ```html
123
- <span class='1 true'></span>
124
-
125
- ```
126
-
127
- ## Hamlit
128
- ```html
129
- <span class='1 false true'></span>
130
-
131
- ```
132
-
133
- # [./spec/render/attribute_spec.rb:84](../../../spec/render/attribute_spec.rb#L84)
134
- ## Input
135
- ```haml
136
- - h = { class: [1, nil, false, true] }
137
- %span{h}
138
- ```
139
-
140
- ## Faml, Haml
141
- ```html
142
- <span class='1 true'></span>
143
-
144
- ```
145
-
146
- ## Hamlit
147
- ```html
148
- <span class='1 false true'></span>
149
-
150
- ```
151
-
152
- # [./spec/render/attribute_spec.rb:94](../../../spec/render/attribute_spec.rb#L94)
153
- ## Input
154
- ```haml
155
- %span{id: []}
156
- ```
157
-
158
- ## Faml
159
- ```html
160
- <span></span>
161
-
162
- ```
163
-
164
- ## Haml, Hamlit
165
- ```html
166
- <span id=''></span>
167
-
168
- ```
169
-
170
- # [./spec/render/attribute_spec.rb:98](../../../spec/render/attribute_spec.rb#L98)
171
- ## Input
172
- ```haml
173
- %span{id: [1, nil, false, true]}
174
- ```
175
-
176
- ## Faml, Haml
177
- ```html
178
- <span id='1_true'></span>
179
-
180
- ```
181
-
182
- ## Hamlit
183
- ```html
184
- <span id='1__false_true'></span>
185
-
186
- ```
187
-
188
- # [./spec/render/attribute_spec.rb:98](../../../spec/render/attribute_spec.rb#L98)
189
- ## Input
190
- ```haml
191
- - v = [1, nil, false, true]
192
- %span{id: v}
4
+ %span{foo: "x\"y'z"}hello
193
5
  ```
194
6
 
195
- ## Faml, Haml
7
+ ## Faml, Hamlit
196
8
  ```html
197
- <span id='1_true'></span>
9
+ <span foo='x&quot;y&#39;z'>hello</span>
198
10
 
199
11
  ```
200
12
 
201
- ## Hamlit
13
+ ## Haml
202
14
  ```html
203
- <span id='1__false_true'></span>
15
+ <span foo='x"y&#x0027;z'>hello</span>
204
16
 
205
17
  ```
206
18
 
207
- # [./spec/render/attribute_spec.rb:98](../../../spec/render/attribute_spec.rb#L98)
19
+ # [./spec/render/attribute_spec.rb:44](../../../spec/render/attribute_spec.rb#L44)
208
20
  ## Input
209
21
  ```haml
210
- - h = { id: [1, nil, false, true] }
211
- %span{h}
22
+ - v = "x\"y'z"
23
+ %span{foo: v}hello
212
24
  ```
213
25
 
214
- ## Faml, Haml
26
+ ## Faml, Hamlit
215
27
  ```html
216
- <span id='1_true'></span>
28
+ <span foo='x&quot;y&#39;z'>hello</span>
217
29
 
218
30
  ```
219
31
 
220
- ## Hamlit
32
+ ## Haml
221
33
  ```html
222
- <span id='1__false_true'></span>
34
+ <span foo='x"y&#x0027;z'>hello</span>
223
35
 
224
36
  ```
225
37
 
226
- # [./spec/render/attribute_spec.rb:104](../../../spec/render/attribute_spec.rb#L104)
38
+ # [./spec/render/attribute_spec.rb:44](../../../spec/render/attribute_spec.rb#L44)
227
39
  ## Input
228
40
  ```haml
229
- %span{class: "x\"y'z"} hello
41
+ - h = {foo: "x\"y'z"}
42
+ %span{h}hello
230
43
  ```
231
44
 
232
45
  ## Faml, Hamlit
233
46
  ```html
234
- <span class='x&quot;y&#39;z'>hello</span>
47
+ <span foo='x&quot;y&#39;z'>hello</span>
235
48
 
236
49
  ```
237
50
 
238
51
  ## Haml
239
52
  ```html
240
- <span class='x"y&#x0027;z'>hello</span>
53
+ <span foo='x"y&#x0027;z'>hello</span>
241
54
 
242
55
  ```
243
56
 
244
- # [./spec/render/attribute_spec.rb:122](../../../spec/render/attribute_spec.rb#L122)
57
+ # [./spec/render/attribute_spec.rb:61](../../../spec/render/attribute_spec.rb#L61)
245
58
  ## Input (with options={:format=>:xhtml})
246
59
  ```haml
247
- - foo = true
248
- %span{foo: foo, bar: 1} hello
60
+ - v = true
61
+ %span{foo: v}hello
249
62
  ```
250
63
 
251
64
  ## Faml, Haml
252
65
  ```html
253
- <span bar='1' foo='foo'>hello</span>
66
+ <span foo='foo'>hello</span>
254
67
 
255
68
  ```
256
69
 
257
70
  ## Hamlit
258
71
  ```html
259
- <span bar='1' foo='true'>hello</span>
72
+ <span foo='true'>hello</span>
260
73
 
261
74
  ```
262
75
 
263
- # [./spec/render/attribute_spec.rb:122](../../../spec/render/attribute_spec.rb#L122)
76
+ # [./spec/render/attribute_spec.rb:61](../../../spec/render/attribute_spec.rb#L61)
264
77
  ## Input (with options={:format=>:xhtml})
265
78
  ```haml
266
- - h = {foo: true, bar: 1}
267
- %span{h} hello
268
- ```
269
-
270
- ## Faml, Haml
271
- ```html
272
- <span bar='1' foo='foo'>hello</span>
273
-
274
- ```
275
-
276
- ## Hamlit
277
- ```html
278
- <span foo bar='1'>hello</span>
279
-
280
- ```
281
-
282
- # [./spec/render/attribute_spec.rb:129](../../../spec/render/attribute_spec.rb#L129)
283
- ## Input
284
- ```haml
285
- %span{foo: {bar: 1+2}} hello
286
- ```
287
-
288
- ## Faml
289
- ```html
290
- <span foo='{:bar=&gt;3}'>hello</span>
291
-
292
- ```
293
-
294
- ## Haml, Hamlit
295
- ```html
296
- <span foo-bar='3'>hello</span>
297
-
298
- ```
299
-
300
- # [./spec/render/attribute_spec.rb:133](../../../spec/render/attribute_spec.rb#L133)
301
- ## Input
302
- ```haml
303
- - attrs = { foo: 1, bar: { hoge: :fuga }, baz: true }
304
- %span{attrs} hello
305
-
306
- ```
307
-
308
- ## Faml
309
- ```html
310
- <span bar='{:hoge=&gt;:fuga}' baz foo='1'>hello</span>
311
-
312
- ```
313
-
314
- ## Haml
315
- ```html
316
- <span bar-hoge='fuga' baz foo='1'>hello</span>
317
-
318
- ```
319
-
320
- ## Hamlit
321
- ```html
322
- <span foo='1' bar-hoge='fuga' baz>hello</span>
323
-
324
- ```
325
-
326
- # [./spec/render/attribute_spec.rb:147](../../../spec/render/attribute_spec.rb#L147)
327
- ## Input
328
- ```haml
329
- - data = { foo: 1 }
330
- %span{foo: {bar: "x#{1}y"}} hello
331
-
332
- ```
333
-
334
- ## Faml
335
- ```html
336
- <span foo='{:bar=&gt;&quot;x1y&quot;}'>hello</span>
337
-
338
- ```
339
-
340
- ## Haml, Hamlit
341
- ```html
342
- <span foo-bar='x1y'>hello</span>
343
-
344
- ```
345
-
346
- # [./spec/render/attribute_spec.rb:161](../../../spec/render/attribute_spec.rb#L161)
347
- ## Input
348
- ```haml
349
- %span{foo: {bar: 1+2}} hello
350
- ```
351
-
352
- ## Faml
353
- ```html
354
- <span foo='{:bar=&gt;3}'>hello</span>
355
-
356
- ```
357
-
358
- ## Haml, Hamlit
359
- ```html
360
- <span foo-bar='3'>hello</span>
361
-
362
- ```
363
-
364
- # [./spec/render/attribute_spec.rb:184](../../../spec/render/attribute_spec.rb#L184)
365
- ## Input
366
- ```haml
367
- %span{data: {foo: 1, bar: 'baz', :hoge => :fuga, k1: { k2: 'v3' }}} hello
79
+ - h = {foo: true}
80
+ %span{h}hello
368
81
  ```
369
82
 
370
83
  ## Faml, Haml
371
84
  ```html
372
- <span data-bar='baz' data-foo='1' data-hoge='fuga' data-k1-k2='v3'>hello</span>
85
+ <span foo='foo'>hello</span>
373
86
 
374
87
  ```
375
88
 
376
89
  ## Hamlit
377
90
  ```html
378
- <span data-foo='1' data-bar='baz' data-hoge='fuga' data-k1-k2='v3'>hello</span>
91
+ <span foo>hello</span>
379
92
 
380
93
  ```
381
94
 
382
- # [./spec/render/attribute_spec.rb:192](../../../spec/render/attribute_spec.rb#L192)
383
- ## Input
384
- ```haml
385
- %span{data: {foo: 1, bar: 2+3}} hello
386
- ```
387
-
388
- ## Faml, Haml
389
- ```html
390
- <span data-bar='5' data-foo='1'>hello</span>
391
-
392
- ```
393
-
394
- ## Hamlit
395
- ```html
396
- <span data-foo='1' data-bar='5'>hello</span>
397
-
398
- ```
399
-
400
- # [./spec/render/attribute_spec.rb:196](../../../spec/render/attribute_spec.rb#L196)
401
- ## Input
402
- ```haml
403
- - data = { foo: 1, bar: 2 }
404
- %span{data: data} hello
405
-
406
- ```
407
-
408
- ## Faml, Haml
409
- ```html
410
- <span data-bar='2' data-foo='1'>hello</span>
411
-
412
- ```
413
-
414
- ## Hamlit
415
- ```html
416
- <span data-foo='1' data-bar='2'>hello</span>
417
-
418
- ```
419
-
420
- # [./spec/render/attribute_spec.rb:214](../../../spec/render/attribute_spec.rb#L214)
95
+ # [./spec/render/attribute_spec.rb:75](../../../spec/render/attribute_spec.rb#L75)
421
96
  ## Input
422
97
  ```haml
423
98
  %span{b: __LINE__,
@@ -437,7 +112,7 @@
437
112
 
438
113
  ```
439
114
 
440
- # [./spec/render/attribute_spec.rb:221](../../../spec/render/attribute_spec.rb#L221)
115
+ # [./spec/render/attribute_spec.rb:82](../../../spec/render/attribute_spec.rb#L82)
441
116
  ## Input
442
117
  ```haml
443
118
  %span{"foo\0bar" => "hello"}
@@ -455,7 +130,7 @@
455
130
 
456
131
  ```
457
132
 
458
- # [./spec/render/attribute_spec.rb:221](../../../spec/render/attribute_spec.rb#L221)
133
+ # [./spec/render/attribute_spec.rb:82](../../../spec/render/attribute_spec.rb#L82)
459
134
  ## Input
460
135
  ```haml
461
136
  - val = "hello"
@@ -475,7 +150,7 @@
475
150
 
476
151
  ```
477
152
 
478
- # [./spec/render/attribute_spec.rb:221](../../../spec/render/attribute_spec.rb#L221)
153
+ # [./spec/render/attribute_spec.rb:82](../../../spec/render/attribute_spec.rb#L82)
479
154
  ## Input
480
155
  ```haml
481
156
  - key = "foo\0bar"
@@ -497,7 +172,7 @@
497
172
  ... ^
498
173
  ```
499
174
 
500
- # [./spec/render/attribute_spec.rb:235](../../../spec/render/attribute_spec.rb#L235)
175
+ # [./spec/render/attribute_spec.rb:96](../../../spec/render/attribute_spec.rb#L96)
501
176
  ## Input
502
177
  ```haml
503
178
  %span[Faml::TestStruct.new(123)] hello
@@ -515,7 +190,7 @@
515
190
 
516
191
  ```
517
192
 
518
- # [./spec/render/attribute_spec.rb:239](../../../spec/render/attribute_spec.rb#L239)
193
+ # [./spec/render/attribute_spec.rb:100](../../../spec/render/attribute_spec.rb#L100)
519
194
  ## Input
520
195
  ```haml
521
196
  %span[Faml::TestStruct.new(123), :hello] hello
@@ -533,7 +208,7 @@
533
208
 
534
209
  ```
535
210
 
536
- # [./spec/render/attribute_spec.rb:243](../../../spec/render/attribute_spec.rb#L243)
211
+ # [./spec/render/attribute_spec.rb:104](../../../spec/render/attribute_spec.rb#L104)
537
212
  ## Input
538
213
  ```haml
539
214
  %span[Faml::TestRefStruct.new(123)] hello
@@ -551,7 +226,7 @@
551
226
 
552
227
  ```
553
228
 
554
- # [./spec/render/attribute_spec.rb:247](../../../spec/render/attribute_spec.rb#L247)
229
+ # [./spec/render/attribute_spec.rb:108](../../../spec/render/attribute_spec.rb#L108)
555
230
  ## Input
556
231
  ```haml
557
232
  %span#baz[Faml::TestStruct.new(123)]{id: "foo"} hello
@@ -569,7 +244,7 @@
569
244
 
570
245
  ```
571
246
 
572
- # [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
247
+ # [./spec/render/attribute_spec.rb:114](../../../spec/render/attribute_spec.rb#L114)
573
248
  ## Input
574
249
  ```haml
575
250
  %span{foo: 1}(foo=2)
@@ -587,7 +262,7 @@
587
262
 
588
263
  ```
589
264
 
590
- # [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
265
+ # [./spec/render/attribute_spec.rb:114](../../../spec/render/attribute_spec.rb#L114)
591
266
  ## Input
592
267
  ```haml
593
268
  %span(foo=2){foo: 1}
@@ -605,7 +280,7 @@
605
280
 
606
281
  ```
607
282
 
608
- # [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
283
+ # [./spec/render/attribute_spec.rb:114](../../../spec/render/attribute_spec.rb#L114)
609
284
  ## Input
610
285
  ```haml
611
286
  - v = 2
@@ -624,7 +299,7 @@
624
299
 
625
300
  ```
626
301
 
627
- # [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
302
+ # [./spec/render/attribute_spec.rb:114](../../../spec/render/attribute_spec.rb#L114)
628
303
  ## Input
629
304
  ```haml
630
305
  - v = 2
@@ -643,7 +318,7 @@
643
318
 
644
319
  ```
645
320
 
646
- # [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
321
+ # [./spec/render/attribute_spec.rb:114](../../../spec/render/attribute_spec.rb#L114)
647
322
  ## Input
648
323
  ```haml
649
324
  - h = {foo: 1}
@@ -662,7 +337,7 @@
662
337
 
663
338
  ```
664
339
 
665
- # [./spec/render/attribute_spec.rb:253](../../../spec/render/attribute_spec.rb#L253)
340
+ # [./spec/render/attribute_spec.rb:114](../../../spec/render/attribute_spec.rb#L114)
666
341
  ## Input
667
342
  ```haml
668
343
  - h = {foo: 1}
@@ -681,7 +356,7 @@
681
356
 
682
357
  ```
683
358
 
684
- # [./spec/render/attribute_spec.rb:272](../../../spec/render/attribute_spec.rb#L272)
359
+ # [./spec/render/attribute_spec.rb:133](../../../spec/render/attribute_spec.rb#L133)
685
360
  ## Input
686
361
  ```haml
687
362
  %span{id: 1}(id=2)