faml 0.3.5 → 0.3.6

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: fde0bb641367cd51b35eeeb6d1d5b02211d57054
4
- data.tar.gz: 82f60f95e10a5d7b40fd6c2a16f5504a569a9fc2
3
+ metadata.gz: 71da312b9097d26800c2431adb5d01cc26252276
4
+ data.tar.gz: acae87261e0f0650f0df3130eb8f97ba8326ae44
5
5
  SHA512:
6
- metadata.gz: 5a6f81803cfcc97363081929acf0720d511602fe1057d5057b46de50498559004a162b894b5a809c2a6c9d4258f089689d1544feff72c5968436ada5623f9d61
7
- data.tar.gz: e49cfef05e71d400b49c6367e21f1878237fdac8c2798ff34b2a034aa155f416a7f50e51780963181bf11b96f00efe1d0433ea5ffe7b9fd7ea58ae8585b190ad
6
+ metadata.gz: f7cbeb2dd1d2e326cb4540c30a50bc12440d760b2e618374aab624170585d0d8f7765ff07eb5781798f7341ce8e3fd44f13032e9f1f9e6250d45e3ace026f7b8
7
+ data.tar.gz: 97ca3e26cd3493865f8300c2fa8b701ea854258849ac8eb99b90c493fdf9b5160ffd0e55d3d7e9cc5fb37120d42b3afe4063b34df7701a2de1474be41606a206
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.3.6 (2015-11-06)
2
+ - Fix attribute escape on forward slashes
3
+ - https://github.com/eagletmt/faml/pull/30
4
+ - It's regression in v0.3.2
5
+
1
6
  ## 0.3.5 (2015-10-19)
2
7
  - Fix empty class or id rendering
3
8
  - It's a regression in v0.3.4.
@@ -187,7 +187,7 @@ put_attribute(VALUE buf, VALUE attr_quote, VALUE key, VALUE value)
187
187
  gh_buf ob = GH_BUF_INIT;
188
188
 
189
189
  Check_Type(value, T_STRING);
190
- if (houdini_escape_html(&ob, (const uint8_t *)RSTRING_PTR(value), RSTRING_LEN(value))) {
190
+ if (houdini_escape_html0(&ob, (const uint8_t *)RSTRING_PTR(value), RSTRING_LEN(value), 0)) {
191
191
  value = rb_enc_str_new(ob.ptr, ob.size, rb_utf8_encoding());
192
192
  gh_buf_free(&ob);
193
193
  }
@@ -1,7 +1,7 @@
1
1
  # Incompatibilities
2
2
  ## Versions
3
3
  - Haml 4.0.7
4
- - Faml 0.3.5
4
+ - Faml 0.3.6
5
5
  - Hamlit 1.7.2
6
6
 
7
7
  ## Table of contents
@@ -58,8 +58,7 @@
58
58
  # [./spec/render/attribute_spec.rb:71](../../../spec/render/attribute_spec.rb#L71)
59
59
  ## Input
60
60
  ```haml
61
- - v = [1, nil, false, true]
62
- %span{class: v}
61
+ %span{class: [1, nil, false, true]}
63
62
  ```
64
63
 
65
64
  ## Faml, Haml
@@ -77,8 +76,8 @@
77
76
  # [./spec/render/attribute_spec.rb:71](../../../spec/render/attribute_spec.rb#L71)
78
77
  ## Input
79
78
  ```haml
80
- - h = { class: [1, nil, false, true] }
81
- %span{h}
79
+ - v = [1, nil, false, true]
80
+ %span{class: v}
82
81
  ```
83
82
 
84
83
  ## Faml, Haml
@@ -96,7 +95,8 @@
96
95
  # [./spec/render/attribute_spec.rb:71](../../../spec/render/attribute_spec.rb#L71)
97
96
  ## Input
98
97
  ```haml
99
- %span{class: [1, nil, false, true]}
98
+ - h = { class: [1, nil, false, true] }
99
+ %span{h}
100
100
  ```
101
101
 
102
102
  ## Faml, Haml
@@ -132,8 +132,7 @@
132
132
  # [./spec/render/attribute_spec.rb:85](../../../spec/render/attribute_spec.rb#L85)
133
133
  ## Input
134
134
  ```haml
135
- - v = [1, nil, false, true]
136
- %span{id: v}
135
+ %span{id: [1, nil, false, true]}
137
136
  ```
138
137
 
139
138
  ## Faml, Haml
@@ -151,8 +150,8 @@
151
150
  # [./spec/render/attribute_spec.rb:85](../../../spec/render/attribute_spec.rb#L85)
152
151
  ## Input
153
152
  ```haml
154
- - h = { id: [1, nil, false, true] }
155
- %span{h}
153
+ - v = [1, nil, false, true]
154
+ %span{id: v}
156
155
  ```
157
156
 
158
157
  ## Faml, Haml
@@ -170,7 +169,8 @@
170
169
  # [./spec/render/attribute_spec.rb:85](../../../spec/render/attribute_spec.rb#L85)
171
170
  ## Input
172
171
  ```haml
173
- %span{id: [1, nil, false, true]}
172
+ - h = { id: [1, nil, false, true] }
173
+ %span{h}
174
174
  ```
175
175
 
176
176
  ## Faml, Haml
@@ -203,7 +203,7 @@
203
203
 
204
204
  ```
205
205
 
206
- # [./spec/render/attribute_spec.rb:104](../../../spec/render/attribute_spec.rb#L104)
206
+ # [./spec/render/attribute_spec.rb:109](../../../spec/render/attribute_spec.rb#L109)
207
207
  ## Input (with options={:format=>:xhtml})
208
208
  ```haml
209
209
  - foo = true
@@ -222,7 +222,7 @@
222
222
 
223
223
  ```
224
224
 
225
- # [./spec/render/attribute_spec.rb:104](../../../spec/render/attribute_spec.rb#L104)
225
+ # [./spec/render/attribute_spec.rb:109](../../../spec/render/attribute_spec.rb#L109)
226
226
  ## Input (with options={:format=>:xhtml})
227
227
  ```haml
228
228
  - h = {foo: true, bar: 1}
@@ -241,7 +241,7 @@
241
241
 
242
242
  ```
243
243
 
244
- # [./spec/render/attribute_spec.rb:111](../../../spec/render/attribute_spec.rb#L111)
244
+ # [./spec/render/attribute_spec.rb:116](../../../spec/render/attribute_spec.rb#L116)
245
245
  ## Input
246
246
  ```haml
247
247
  %span{foo: {bar: 1+2}} hello
@@ -259,7 +259,7 @@
259
259
 
260
260
  ```
261
261
 
262
- # [./spec/render/attribute_spec.rb:115](../../../spec/render/attribute_spec.rb#L115)
262
+ # [./spec/render/attribute_spec.rb:120](../../../spec/render/attribute_spec.rb#L120)
263
263
  ## Input
264
264
  ```haml
265
265
  - attrs = { foo: 1, bar: { hoge: :fuga }, baz: true }
@@ -285,7 +285,7 @@
285
285
 
286
286
  ```
287
287
 
288
- # [./spec/render/attribute_spec.rb:129](../../../spec/render/attribute_spec.rb#L129)
288
+ # [./spec/render/attribute_spec.rb:134](../../../spec/render/attribute_spec.rb#L134)
289
289
  ## Input
290
290
  ```haml
291
291
  - data = { foo: 1 }
@@ -305,7 +305,7 @@
305
305
 
306
306
  ```
307
307
 
308
- # [./spec/render/attribute_spec.rb:136](../../../spec/render/attribute_spec.rb#L136)
308
+ # [./spec/render/attribute_spec.rb:141](../../../spec/render/attribute_spec.rb#L141)
309
309
  ## Input
310
310
  ```haml
311
311
  %span{foo: {bar: 1+2}} hello
@@ -323,7 +323,7 @@
323
323
 
324
324
  ```
325
325
 
326
- # [./spec/render/attribute_spec.rb:159](../../../spec/render/attribute_spec.rb#L159)
326
+ # [./spec/render/attribute_spec.rb:164](../../../spec/render/attribute_spec.rb#L164)
327
327
  ## Input
328
328
  ```haml
329
329
  %span{data: {foo: 1, bar: 'baz', :hoge => :fuga, k1: { k2: 'v3' }}} hello
@@ -341,7 +341,7 @@
341
341
 
342
342
  ```
343
343
 
344
- # [./spec/render/attribute_spec.rb:167](../../../spec/render/attribute_spec.rb#L167)
344
+ # [./spec/render/attribute_spec.rb:172](../../../spec/render/attribute_spec.rb#L172)
345
345
  ## Input
346
346
  ```haml
347
347
  %span{data: {foo: 1, bar: 2+3}} hello
@@ -359,7 +359,7 @@
359
359
 
360
360
  ```
361
361
 
362
- # [./spec/render/attribute_spec.rb:171](../../../spec/render/attribute_spec.rb#L171)
362
+ # [./spec/render/attribute_spec.rb:176](../../../spec/render/attribute_spec.rb#L176)
363
363
  ## Input
364
364
  ```haml
365
365
  - data = { foo: 1, bar: 2 }
@@ -379,7 +379,7 @@
379
379
 
380
380
  ```
381
381
 
382
- # [./spec/render/attribute_spec.rb:189](../../../spec/render/attribute_spec.rb#L189)
382
+ # [./spec/render/attribute_spec.rb:194](../../../spec/render/attribute_spec.rb#L194)
383
383
  ## Input
384
384
  ```haml
385
385
  %span{b: __LINE__,
@@ -399,7 +399,7 @@
399
399
 
400
400
  ```
401
401
 
402
- # [./spec/render/attribute_spec.rb:196](../../../spec/render/attribute_spec.rb#L196)
402
+ # [./spec/render/attribute_spec.rb:201](../../../spec/render/attribute_spec.rb#L201)
403
403
  ## Input
404
404
  ```haml
405
405
  %span{"foo\0bar" => "hello"}
@@ -417,7 +417,7 @@
417
417
 
418
418
  ```
419
419
 
420
- # [./spec/render/attribute_spec.rb:196](../../../spec/render/attribute_spec.rb#L196)
420
+ # [./spec/render/attribute_spec.rb:201](../../../spec/render/attribute_spec.rb#L201)
421
421
  ## Input
422
422
  ```haml
423
423
  - val = "hello"
@@ -437,7 +437,7 @@
437
437
 
438
438
  ```
439
439
 
440
- # [./spec/render/attribute_spec.rb:196](../../../spec/render/attribute_spec.rb#L196)
440
+ # [./spec/render/attribute_spec.rb:201](../../../spec/render/attribute_spec.rb#L201)
441
441
  ## Input
442
442
  ```haml
443
443
  - key = "foo\0bar"
data/lib/faml/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Faml
2
- VERSION = '0.3.5'
2
+ VERSION = '0.3.6'
3
3
  end
@@ -92,6 +92,11 @@ HAML
92
92
  expect(render_string(%q|%span{class: "x\"y'z"} hello|)).to eq(%Q{<span class='x&quot;y&#39;z'>hello</span>\n})
93
93
  end
94
94
 
95
+ it 'does not escape slash' do
96
+ expect(render_string(%q|%a{ href: 'http://example.com/' }|)).to eq(%Q{<a href='http://example.com/'></a>\n})
97
+ expect(render_string(%q|%a{ {}, href: 'http://example.com/' }|)).to eq(%Q{<a href='http://example.com/'></a>\n})
98
+ end
99
+
95
100
  it 'renders only name if value is true' do
96
101
  expect(render_string(%q|%span{foo: true, bar: 1} hello|)).to eq(%Q{<span bar='1' foo>hello</span>\n})
97
102
  end
data/spec/spec_helper.rb CHANGED
@@ -16,11 +16,12 @@ module RenderSpecHelper
16
16
  require_relative 'support/incompatibilities_generator'
17
17
 
18
18
  def render_string(str, options = {})
19
+ loc = caller_locations(1..1)[0]
19
20
  eval(Faml::Engine.new(options).call(str)).tap do |html|
20
- IncompatibilitiesGenerator.instance.record(str, options, html, RSpec.current_example)
21
+ IncompatibilitiesGenerator.instance.record(str, options, html, RSpec.current_example, loc.lineno)
21
22
  end
22
23
  rescue => e
23
- IncompatibilitiesGenerator.instance.record(str, options, e, RSpec.current_example)
24
+ IncompatibilitiesGenerator.instance.record(str, options, e, RSpec.current_example, loc.lineno)
24
25
  raise e
25
26
  end
26
27
  else
@@ -6,7 +6,7 @@ require 'hamlit/version'
6
6
  class IncompatibilitiesGenerator
7
7
  include Singleton
8
8
 
9
- Record = Struct.new(:template, :options, :spec_path, :line_number, :faml_result, :haml_result, :hamlit_result) do
9
+ Record = Struct.new(:template, :options, :spec_path, :line_number, :caller_lineno, :faml_result, :haml_result, :hamlit_result) do
10
10
  def incompatible?
11
11
  !all_error? && (faml_result != haml_result || faml_result != hamlit_result || haml_result != hamlit_result)
12
12
  end
@@ -39,9 +39,9 @@ class IncompatibilitiesGenerator
39
39
  @records = []
40
40
  end
41
41
 
42
- def record(template, options, faml_result, example)
42
+ def record(template, options, faml_result, example, caller_lineno)
43
43
  m = example.location.match(/\A(.+):(\d+)\z/)
44
- @records.push(Record.new(template, options, m[1], m[2].to_i, faml_result, render_haml(template, options), render_hamlit(template, options)))
44
+ @records.push(Record.new(template, options, m[1], m[2].to_i, caller_lineno, faml_result, render_haml(template, options), render_hamlit(template, options)))
45
45
  end
46
46
 
47
47
  def write_to(markdown_root)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kohei Suzuki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-19 00:00:00.000000000 Z
11
+ date: 2015-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: escape_utils
@@ -511,7 +511,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
511
511
  version: '0'
512
512
  requirements: []
513
513
  rubyforge_project:
514
- rubygems_version: 2.4.5.1
514
+ rubygems_version: 2.5.0
515
515
  signing_key:
516
516
  specification_version: 4
517
517
  summary: Faster implementation of Haml template language.