hamlit 1.5.4 → 1.5.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 48cbd681aed1b48f72d46f0256620e5d6d358445
4
- data.tar.gz: 804f4570f39a8d92091157197dd26791c908dfd6
3
+ metadata.gz: 09c67291b717aed2f4abdb969b241ad01c2b4a86
4
+ data.tar.gz: 967a7bbec042fc5cf64d38ee1ddb875cd3924db6
5
5
  SHA512:
6
- metadata.gz: 79e74c4d9128dda022f1275ef9adbd1f0f90733b0f0223e836a8985dac426a29620563602d3ccda345296b1ee251da0c92cd0c93c96d6af091eb6b64a844a0b8
7
- data.tar.gz: 8567ec9a0f5984c122cfa99d14c8afbf7b55cf29be98f5439d50fd92f169d4200ee2cb3c398802f7c7a21c919c06dce822d3586e1dd7d8135979bcef539796bf
6
+ metadata.gz: 53ff948040ff7cd703fe6ece4553784dd2c27688e4d9d0916bb2b926bbf7f571d82d807887bbc723b700effa0f37f242a2d5704567f0ee70402571378735f00f
7
+ data.tar.gz: 2f543243ba2104ae0de56b2d3f17ff4f07fe0364655dead47d0ef4ff79b5d2aff6f87cb585f73c1dd1afdc9a72ec2a4563e703e78894f6002eb1d165b8c7f25f
data/.gitignore CHANGED
@@ -3,7 +3,6 @@
3
3
  /Gemfile.lock
4
4
  /_yardoc/
5
5
  /coverage/
6
- /doc/
7
6
  /pkg/
8
7
  /spec/reports/
9
8
  /tmp/
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## v1.5.5
2
+
3
+ - Support &, &== operator
4
+ - Depend on v0.7.6 of temple for refactoring
5
+ - Fix a trivial diff of rendering multiline operator
6
+
1
7
  ## v1.5.4
2
8
 
3
9
  - Recursively remove whitespace inside a tag
data/Rakefile CHANGED
@@ -10,6 +10,11 @@ task :spec do
10
10
  exit system('bundle exec rspec --pattern spec/hamlit/**{,/\*/\*\*\}/\*_spec.rb')
11
11
  end
12
12
 
13
+ desc 'Automatically generate documents from rspec'
14
+ task :doc do
15
+ system('AUTODOC=1 bundle exec rake spec')
16
+ end
17
+
13
18
  namespace :spec do
14
19
  desc 'Generate converted ugly haml-spec'
15
20
  task :update do
data/doc/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # Hamlit incompatibilities
2
+
3
+ This is a document generated from RSpec test cases.
4
+ Showing incompatibilities against [Haml](https://github.com/haml/haml) and [Faml](https://github.com/eagletmt/faml).
5
+
6
+ ## engine
7
+
8
+ - [engine/old\_attributes\_spec.rb](https://github.com/k0kubun/hamlit/blob/master/doc/engine/old_attributes.md)
9
+ - [engine/script\_spec.rb](https://github.com/k0kubun/hamlit/blob/master/doc/engine/script.md)
10
+ - [engine/text\_spec.rb](https://github.com/k0kubun/hamlit/blob/master/doc/engine/text.md)
@@ -0,0 +1,68 @@
1
+ # [old\_attributes\_spec.rb:43](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/old_attributes_spec.rb#L43)
2
+ ## Input
3
+ ```haml
4
+ %span{ class: '}}}', id: '{}}' } }{
5
+
6
+ ```
7
+
8
+ ## Output
9
+ ### Haml
10
+ ```html
11
+ Haml::SyntaxError: (haml):1: syntax error, unexpected tSTRING_DEND, expecting ')'
12
+ ...l, class: ')}>}}', id: '{}}' } }{</span>\n";;_erbout
13
+ ... ^
14
+ (haml):1: unterminated regexp meets end of file
15
+ ```
16
+
17
+ ### Faml
18
+ ```html
19
+ Faml::Compiler::UnparsableRubyCode: Unparsable Ruby code is given to attributes: class: '
20
+ ```
21
+
22
+ ### Hamlit
23
+ ```html
24
+ <span class='}}}' id='{}}'>}{</span>
25
+
26
+ ```
27
+
28
+
29
+ # [old\_attributes\_spec.rb:201](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/old_attributes_spec.rb#L201)
30
+ ## Input
31
+ ```haml
32
+ / wontfix: Non-boolean attributes are not escaped for optimization.
33
+ - val = false
34
+ %a{ href: val }
35
+ - val = nil
36
+ %a{ href: val }
37
+
38
+ / Boolean attributes are escaped correctly.
39
+ - val = false
40
+ %a{ disabled: val }
41
+ - val = nil
42
+ %a{ disabled: val }
43
+
44
+ ```
45
+
46
+ ## Output
47
+ ### Haml, Faml
48
+ ```html
49
+ <!-- wontfix: Non-boolean attributes are not escaped for optimization. -->
50
+ <a></a>
51
+ <a></a>
52
+ <!-- Boolean attributes are escaped correctly. -->
53
+ <a></a>
54
+ <a></a>
55
+
56
+ ```
57
+
58
+ ### Hamlit
59
+ ```html
60
+ <!-- wontfix: Non-boolean attributes are not escaped for optimization. -->
61
+ <a href='false'></a>
62
+ <a href=''></a>
63
+ <!-- Boolean attributes are escaped correctly. -->
64
+ <a></a>
65
+ <a></a>
66
+
67
+ ```
68
+
@@ -0,0 +1,105 @@
1
+ # [script\_spec.rb:41](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/script_spec.rb#L41)
2
+ ## Input
3
+ ```haml
4
+ = 3.times do |i|
5
+ = i
6
+ 4
7
+
8
+ ```
9
+
10
+ ## Output
11
+ ### Haml, Faml
12
+ ```html
13
+ 0
14
+ 1
15
+ 2
16
+ 34
17
+
18
+ ```
19
+
20
+ ### Hamlit
21
+ ```html
22
+ 0
23
+ 1
24
+ 2
25
+ 3
26
+ 4
27
+
28
+ ```
29
+
30
+
31
+ # [script\_spec.rb:55](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/script_spec.rb#L55)
32
+ ## Input
33
+ ```haml
34
+ %span
35
+ = 1.times do |i|
36
+ = i
37
+
38
+ ```
39
+
40
+ ## Output
41
+ ### Haml, Faml
42
+ ```html
43
+ <span>
44
+ 0
45
+ 1</span>
46
+
47
+ ```
48
+
49
+ ### Hamlit
50
+ ```html
51
+ <span>
52
+ 0
53
+ 1
54
+ </span>
55
+
56
+ ```
57
+
58
+
59
+ # [script\_spec.rb:87](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/script_spec.rb#L87)
60
+ ## Input
61
+ ```haml
62
+ != '<"&>'
63
+ != '<"&>'.tap do |str|
64
+ -# no operation
65
+
66
+ ```
67
+
68
+ ## Output
69
+ ### Haml, Faml
70
+ ```html
71
+ <"&>
72
+ <"&>
73
+ ```
74
+
75
+ ### Hamlit
76
+ ```html
77
+ <"&>
78
+ <"&>
79
+
80
+ ```
81
+
82
+
83
+ # [script\_spec.rb:98](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/script_spec.rb#L98)
84
+ ## Input
85
+ ```haml
86
+ &= '<"&>'
87
+ &= '<"&>'.tap do |str|
88
+ -# no operation
89
+
90
+ ```
91
+
92
+ ## Output
93
+ ### Haml, Faml
94
+ ```html
95
+ &lt;&quot;&amp;&gt;
96
+ &lt;&quot;&amp;&gt;
97
+ ```
98
+
99
+ ### Hamlit
100
+ ```html
101
+ &lt;&quot;&amp;&gt;
102
+ &lt;&quot;&amp;&gt;
103
+
104
+ ```
105
+
@@ -0,0 +1,88 @@
1
+ # [text\_spec.rb:15](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/text_spec.rb#L15)
2
+ ## Input
3
+ ```haml
4
+ .
5
+ .*
6
+ #
7
+ #+
8
+
9
+ ```
10
+
11
+ ## Output
12
+ ### Haml
13
+ ```html
14
+ Haml::SyntaxError: Illegal element: classes and ids must have values.
15
+ ```
16
+
17
+ ### Faml
18
+ ```html
19
+ <div></div>
20
+ <div>*</div>
21
+ <div></div>
22
+ <div>+</div>
23
+
24
+ ```
25
+
26
+ ### Hamlit
27
+ ```html
28
+ .
29
+ .*
30
+ #
31
+ #+
32
+
33
+ ```
34
+
35
+
36
+ # [text\_spec.rb:99](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/text_spec.rb#L99)
37
+ ## Input
38
+ ```haml
39
+ &nbsp;
40
+ \&nbsp;
41
+ !hello
42
+ \!hello
43
+
44
+ ```
45
+
46
+ ## Output
47
+ ### Haml
48
+ ```html
49
+ &nbsp;
50
+ &nbsp;
51
+ !hello
52
+ !hello
53
+
54
+ ```
55
+
56
+ ### Faml, Hamlit
57
+ ```html
58
+ nbsp;
59
+ &nbsp;
60
+ hello
61
+ !hello
62
+
63
+ ```
64
+
65
+
66
+ # [text\_spec.rb:175](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/engine/text_spec.rb#L175)
67
+ ## Input
68
+ ```haml
69
+ 1#{2
70
+ ```
71
+
72
+ ## Output
73
+ ### Haml
74
+ ```html
75
+ Haml::SyntaxError: Unbalanced brackets.
76
+ ```
77
+
78
+ ### Faml
79
+ ```html
80
+ Faml::TextCompiler::InvalidInterpolation: 1#{2
81
+ ```
82
+
83
+ ### Hamlit
84
+ ```html
85
+ 1#{2
86
+
87
+ ```
88
+
@@ -0,0 +1,125 @@
1
+ # [coffee\_spec.rb:3](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/coffee_spec.rb#L3)
2
+ ## Input
3
+ ```haml
4
+ :coffee
5
+ foo = ->
6
+ alert('hello')
7
+
8
+ ```
9
+
10
+ ## Output
11
+ ### Haml, Hamlit
12
+ ```html
13
+ <script>
14
+ (function() {
15
+ var foo;
16
+
17
+ foo = function() {
18
+ return alert('hello');
19
+ };
20
+
21
+ }).call(this);
22
+ </script>
23
+
24
+ ```
25
+
26
+ ### Faml
27
+ ```html
28
+ <script>
29
+ (function() {
30
+ var foo;
31
+
32
+ foo = function() {
33
+ return alert('hello');
34
+ };
35
+
36
+ }).call(this);
37
+
38
+ </script>
39
+
40
+ ```
41
+
42
+
43
+ # [coffee\_spec.rb:22](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/coffee_spec.rb#L22)
44
+ ## Input
45
+ ```haml
46
+ :coffee
47
+ foo = ->
48
+ alert('hello')
49
+
50
+ ```
51
+
52
+ ## Output
53
+ ### Haml, Hamlit
54
+ ```html
55
+ <script>
56
+ (function() {
57
+ var foo;
58
+
59
+ foo = function() {
60
+ return alert('hello');
61
+ };
62
+
63
+ }).call(this);
64
+ </script>
65
+
66
+ ```
67
+
68
+ ### Faml
69
+ ```html
70
+ <script>
71
+ (function() {
72
+ var foo;
73
+
74
+ foo = function() {
75
+ return alert('hello');
76
+ };
77
+
78
+ }).call(this);
79
+
80
+ </script>
81
+
82
+ ```
83
+
84
+
85
+ # [coffee\_spec.rb:41](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/coffee_spec.rb#L41)
86
+ ## Input
87
+ ```haml
88
+ :coffee
89
+ foo = ->
90
+ alert("#{'<&>'}")
91
+
92
+ ```
93
+
94
+ ## Output
95
+ ### Haml, Hamlit
96
+ ```html
97
+ <script>
98
+ (function() {
99
+ var foo;
100
+
101
+ foo = function() {
102
+ return alert("<&>");
103
+ };
104
+
105
+ }).call(this);
106
+ </script>
107
+
108
+ ```
109
+
110
+ ### Faml
111
+ ```html
112
+ <script>
113
+ (function() {
114
+ var foo;
115
+
116
+ foo = function() {
117
+ return alert("<&>");
118
+ };
119
+
120
+ }).call(this);
121
+
122
+ </script>
123
+
124
+ ```
125
+
@@ -0,0 +1,31 @@
1
+ # [erb\_spec.rb:3](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/erb_spec.rb#L3)
2
+ ## Input
3
+ ```haml
4
+ :erb
5
+ <% if true %>
6
+ ok
7
+ <% else %>
8
+ ng
9
+ <% end %>
10
+
11
+ ```
12
+
13
+ ## Output
14
+ ### Haml
15
+ ```html
16
+ ok
17
+
18
+
19
+ ```
20
+
21
+ ### Faml
22
+ ```html
23
+ Faml::FilterCompilers::NotFound: Unable to find compiler for erb
24
+ ```
25
+
26
+ ### Hamlit
27
+ ```html
28
+ ok
29
+
30
+ ```
31
+
@@ -0,0 +1,83 @@
1
+ # [javascript\_spec.rb:3](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/javascript_spec.rb#L3)
2
+ ## Input
3
+ ```haml
4
+ before
5
+ :javascript
6
+ after
7
+
8
+ ```
9
+
10
+ ## Output
11
+ ### Haml
12
+ ```html
13
+ before
14
+ <script>
15
+
16
+ </script>
17
+ after
18
+
19
+ ```
20
+
21
+ ### Faml
22
+ ```html
23
+ before
24
+ after
25
+
26
+ ```
27
+
28
+ ### Hamlit
29
+ ```html
30
+ before
31
+ <script>
32
+
33
+ </script>
34
+ after
35
+
36
+ ```
37
+
38
+
39
+ # [javascript\_spec.rb:32](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/javascript_spec.rb#L32)
40
+ ## Input
41
+ ```haml
42
+ :javascript
43
+ if {
44
+ alert('hello');
45
+ }
46
+ :javascript
47
+ if {
48
+ alert('hello');
49
+ }
50
+
51
+ ```
52
+
53
+ ## Output
54
+ ### Haml
55
+ ```html
56
+ <script>
57
+ if {
58
+ alert('hello');
59
+ }
60
+ </script>
61
+ <script>
62
+ if {
63
+ alert('hello');
64
+ }
65
+ </script>
66
+
67
+ ```
68
+
69
+ ### Faml, Hamlit
70
+ ```html
71
+ <script>
72
+ if {
73
+ alert('hello');
74
+ }
75
+ </script>
76
+ <script>
77
+ if {
78
+ alert('hello');
79
+ }
80
+ </script>
81
+
82
+ ```
83
+
@@ -0,0 +1,57 @@
1
+ # [less\_spec.rb:3](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/less_spec.rb#L3)
2
+ ## Input
3
+ ```haml
4
+ :less
5
+ .users_controller {
6
+ .show_action {
7
+ margin: 10px;
8
+ padding: 20px;
9
+ }
10
+ }
11
+
12
+ ```
13
+
14
+ ## Output
15
+ ### Haml, Hamlit
16
+ ```html
17
+ <style>
18
+ .users_controller .show_action {
19
+ margin: 10px;
20
+ padding: 20px;
21
+ }
22
+ </style>
23
+
24
+ ```
25
+
26
+ ### Faml
27
+ ```html
28
+ Faml::FilterCompilers::NotFound: Unable to find compiler for less
29
+ ```
30
+
31
+
32
+ # [less\_spec.rb:22](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/less_spec.rb#L22)
33
+ ## Input
34
+ ```haml
35
+ :less
36
+ .foo {
37
+ content: "#{'<&>'}";
38
+ }
39
+
40
+ ```
41
+
42
+ ## Output
43
+ ### Haml, Hamlit
44
+ ```html
45
+ <style>
46
+ .foo {
47
+ content: "<&>";
48
+ }
49
+ </style>
50
+
51
+ ```
52
+
53
+ ### Faml
54
+ ```html
55
+ Faml::FilterCompilers::NotFound: Unable to find compiler for less
56
+ ```
57
+
@@ -0,0 +1,31 @@
1
+ # [markdown\_spec.rb:15](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/markdown_spec.rb#L15)
2
+ ## Input
3
+ ```haml
4
+ - project = '<Hamlit>'
5
+ :markdown
6
+ # #{project}
7
+ #{'<&>'}
8
+ Yet another haml implementation
9
+
10
+ ```
11
+
12
+ ## Output
13
+ ### Haml
14
+ ```html
15
+ <h1><Hamlit></h1>
16
+
17
+ <p>&lt;&amp;&gt;
18
+ Yet another haml implementation</p>
19
+
20
+
21
+ ```
22
+
23
+ ### Faml, Hamlit
24
+ ```html
25
+ <h1><Hamlit></h1>
26
+
27
+ <p>&lt;&amp;&gt;
28
+ Yet another haml implementation</p>
29
+
30
+ ```
31
+
@@ -0,0 +1,25 @@
1
+ # [plain\_spec.rb:3](https://github.com/k0kubun/hamlit/blob/master/spec/hamlit/filters/plain_spec.rb#L3)
2
+ ## Input
3
+ ```haml
4
+ :plain
5
+
6
+ #{'い'}
7
+
8
+ ```
9
+
10
+ ## Output
11
+ ### Haml, Hamlit
12
+ ```html
13
+
14
+
15
+
16
+
17
+ ```
18
+
19
+ ### Faml
20
+ ```html
21
+
22
+
23
+
24
+ ```
25
+