haml 5.0.0 → 5.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +18 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +38 -0
  5. data/CHANGELOG.md +43 -19
  6. data/Gemfile +18 -0
  7. data/README.md +1 -0
  8. data/Rakefile +6 -12
  9. data/TODO +24 -0
  10. data/benchmark.rb +66 -0
  11. data/haml.gemspec +39 -0
  12. data/lib/haml/.gitattributes +1 -0
  13. data/lib/haml/attribute_parser.rb +4 -0
  14. data/lib/haml/compiler.rb +2 -1
  15. data/lib/haml/helpers/safe_erubi_template.rb +0 -8
  16. data/lib/haml/options.rb +3 -0
  17. data/lib/haml/railtie.rb +11 -2
  18. data/lib/haml/temple_engine.rb +1 -0
  19. data/lib/haml/version.rb +1 -1
  20. data/test/attribute_parser_test.rb +4 -0
  21. data/test/engine_test.rb +7 -0
  22. data/test/filters_test.rb +2 -7
  23. data/test/template_test.rb +10 -0
  24. data/yard/default/.gitignore +1 -0
  25. data/yard/default/fulldoc/html/css/common.sass +15 -0
  26. data/yard/default/layout/html/footer.erb +12 -0
  27. metadata +13 -65
  28. data/test/erb/_av_partial_1.erb +0 -12
  29. data/test/erb/_av_partial_2.erb +0 -8
  30. data/test/erb/action_view.erb +0 -62
  31. data/test/erb/standard.erb +0 -55
  32. data/test/gemfiles/Gemfile.rails-4.0.x +0 -11
  33. data/test/gemfiles/Gemfile.rails-4.0.x.lock +0 -87
  34. data/test/gemfiles/Gemfile.rails-4.1.x +0 -5
  35. data/test/gemfiles/Gemfile.rails-4.2.x +0 -5
  36. data/test/gemfiles/Gemfile.rails-5.0.x +0 -4
  37. data/test/markaby/standard.mab +0 -52
  38. data/test/mocks/article.rb +0 -6
  39. data/test/results/bemit.xhtml +0 -4
  40. data/test/results/content_for_layout.xhtml +0 -12
  41. data/test/results/eval_suppressed.xhtml +0 -9
  42. data/test/results/helpers.xhtml +0 -72
  43. data/test/results/helpful.xhtml +0 -13
  44. data/test/results/just_stuff.xhtml +0 -71
  45. data/test/results/list.xhtml +0 -12
  46. data/test/results/nuke_inner_whitespace.xhtml +0 -40
  47. data/test/results/nuke_outer_whitespace.xhtml +0 -140
  48. data/test/results/original_engine.xhtml +0 -20
  49. data/test/results/partial_layout.xhtml +0 -6
  50. data/test/results/partial_layout_erb.xhtml +0 -6
  51. data/test/results/partials.xhtml +0 -22
  52. data/test/results/render_layout.xhtml +0 -3
  53. data/test/results/silent_script.xhtml +0 -74
  54. data/test/results/standard.xhtml +0 -159
  55. data/test/results/tag_parsing.xhtml +0 -23
  56. data/test/results/very_basic.xhtml +0 -5
  57. data/test/results/whitespace_handling.xhtml +0 -91
  58. data/test/template_test_helper.rb +0 -38
  59. data/test/templates/_av_partial_1.haml +0 -9
  60. data/test/templates/_av_partial_2.haml +0 -5
  61. data/test/templates/_layout.erb +0 -3
  62. data/test/templates/_layout_for_partial.haml +0 -3
  63. data/test/templates/_partial.haml +0 -8
  64. data/test/templates/_text_area.haml +0 -3
  65. data/test/templates/_text_area_helper.html.haml +0 -4
  66. data/test/templates/action_view.haml +0 -47
  67. data/test/templates/bemit.haml +0 -3
  68. data/test/templates/breakage.haml +0 -8
  69. data/test/templates/content_for_layout.haml +0 -8
  70. data/test/templates/eval_suppressed.haml +0 -11
  71. data/test/templates/helpers.haml +0 -55
  72. data/test/templates/helpful.haml +0 -11
  73. data/test/templates/just_stuff.haml +0 -86
  74. data/test/templates/list.haml +0 -12
  75. data/test/templates/nuke_inner_whitespace.haml +0 -32
  76. data/test/templates/nuke_outer_whitespace.haml +0 -144
  77. data/test/templates/original_engine.haml +0 -17
  78. data/test/templates/partial_layout.haml +0 -3
  79. data/test/templates/partial_layout_erb.erb +0 -4
  80. data/test/templates/partialize.haml +0 -1
  81. data/test/templates/partials.haml +0 -12
  82. data/test/templates/render_layout.haml +0 -2
  83. data/test/templates/silent_script.haml +0 -45
  84. data/test/templates/standard.haml +0 -43
  85. data/test/templates/standard_ugly.haml +0 -1
  86. data/test/templates/tag_parsing.haml +0 -21
  87. data/test/templates/very_basic.haml +0 -4
  88. data/test/templates/whitespace_handling.haml +0 -87
  89. data/test/templates/with_bom.haml +0 -1
  90. data/test/test_helper.rb +0 -99
@@ -1,20 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html>
3
- <head>
4
- <title>Stop. haml time</title>
5
- <div id='content'>
6
- <h1>This is a title!</h1>
7
- <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
8
- <p class='foo'>Cigarettes!</p>
9
- <h2>Man alive!</h2>
10
- <ul class='things'>
11
- <li>Slippers</li>
12
- <li>Shoes</li>
13
- <li>Bathrobe</li>
14
- <li>Coffee</li>
15
- </ul>
16
- <pre>This is some text that's in a pre block!
17
- Let's see what happens when it's rendered! What about now, since we're on a new line?</pre>
18
- </div>
19
- </head>
20
- </html>
@@ -1,6 +0,0 @@
1
- <h1>Partial layout used with for block:</h1>
2
- <div class='partial-layout'>
3
- <h2>This is inside a partial layout</h2>
4
- <p>Some content within a layout</p>
5
-
6
- </div>
@@ -1,6 +0,0 @@
1
- <h1>Partial layout used with for block:</h1>
2
- <div class='partial-layout'>
3
- <h2>This is inside a partial layout</h2>
4
- Some content within a layout
5
-
6
- </div>
@@ -1,22 +0,0 @@
1
- <p>
2
- @foo =
3
- value one
4
- </p>
5
- <p>
6
- @foo =
7
- value two
8
- </p>
9
- <p>
10
- @foo =
11
- value two
12
- </p>
13
- Toplevel? false
14
- <p>
15
- @foo =
16
- value three
17
- </p>
18
-
19
- <p>
20
- @foo =
21
- value three
22
- </p>
@@ -1,3 +0,0 @@
1
- Before
2
- During
3
- After
@@ -1,74 +0,0 @@
1
- <div>
2
- <h1>I can count!</h1>
3
- 1
4
- 2
5
- 3
6
- 4
7
- 5
8
- 6
9
- 7
10
- 8
11
- 9
12
- 10
13
- 11
14
- 12
15
- 13
16
- 14
17
- 15
18
- 16
19
- 17
20
- 18
21
- 19
22
- 20
23
- <h1>I know my ABCs!</h1>
24
- <ul>
25
- <li>a</li>
26
- <li>b</li>
27
- <li>c</li>
28
- <li>d</li>
29
- <li>e</li>
30
- <li>f</li>
31
- <li>g</li>
32
- <li>h</li>
33
- <li>i</li>
34
- <li>j</li>
35
- <li>k</li>
36
- <li>l</li>
37
- <li>m</li>
38
- <li>n</li>
39
- <li>o</li>
40
- <li>p</li>
41
- <li>q</li>
42
- <li>r</li>
43
- <li>s</li>
44
- <li>t</li>
45
- <li>u</li>
46
- <li>v</li>
47
- <li>w</li>
48
- <li>x</li>
49
- <li>y</li>
50
- <li>z</li>
51
- </ul>
52
- <h1>I can catch errors!</h1>
53
- Oh no! "foo" happened!
54
- <p>
55
- "false" is:
56
- false
57
- </p>
58
- Even!
59
- Odd!
60
- Even!
61
- Odd!
62
- Even!
63
- </div>
64
- <div class='foo'>
65
- <strong>foobar</strong>
66
- </div>
67
- <strong>0</strong>
68
- <strong>1</strong>
69
- <strong>2</strong>
70
- <strong>3</strong>
71
- <strong>4</strong>
72
- <div class='test'>
73
- <p>boom</p>
74
- </div>
@@ -1,159 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html lang='en-US' xml:lang='en-US' xmlns='http://www.w3.org/1999/xhtml'>
3
- <head>
4
- <title>Hampton Catlin Is Totally Awesome</title>
5
- <meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
6
- </head>
7
- <body>
8
- <!-- You're In my house now! -->
9
- <div class='header'>
10
- Yes, ladies and gentileman. He is just that egotistical.
11
- Fantastic! This should be multi-line output
12
- The question is if this would translate! Ahah!
13
- 20
14
- </div>
15
- <div id='body'> Quotes should be loved! Just like people!</div>
16
- 0
17
- 1
18
- 2
19
- 3
20
- 4
21
- 5
22
- 6
23
- 7
24
- 8
25
- 9
26
- 10
27
- 11
28
- 12
29
- 13
30
- 14
31
- 15
32
- 16
33
- 17
34
- 18
35
- 19
36
- 20
37
- 21
38
- 22
39
- 23
40
- 24
41
- 25
42
- 26
43
- 27
44
- 28
45
- 29
46
- 30
47
- 31
48
- 32
49
- 33
50
- 34
51
- 35
52
- 36
53
- 37
54
- 38
55
- 39
56
- 40
57
- 41
58
- 42
59
- 43
60
- 44
61
- 45
62
- 46
63
- 47
64
- 48
65
- 49
66
- 50
67
- 51
68
- 52
69
- 53
70
- 54
71
- 55
72
- 56
73
- 57
74
- 58
75
- 59
76
- 60
77
- 61
78
- 62
79
- 63
80
- 64
81
- 65
82
- 66
83
- 67
84
- 68
85
- 69
86
- 70
87
- 71
88
- 72
89
- 73
90
- 74
91
- 75
92
- 76
93
- 77
94
- 78
95
- 79
96
- 80
97
- 81
98
- 82
99
- 83
100
- 84
101
- 85
102
- 86
103
- 87
104
- 88
105
- 89
106
- 90
107
- 91
108
- 92
109
- 93
110
- 94
111
- 95
112
- 96
113
- 97
114
- 98
115
- 99
116
- 100
117
- 101
118
- 102
119
- 103
120
- 104
121
- 105
122
- 106
123
- 107
124
- 108
125
- 109
126
- 110
127
- 111
128
- 112
129
- 113
130
- 114
131
- 115
132
- 116
133
- 117
134
- 118
135
- 119
136
- Wow.|
137
- <p code='3'>
138
- Holy cow multiline tags! A pipe (|) even!
139
- PipesIgnored|PipesIgnored|PipesIgnored|
140
- 1|2|3
141
- </p>
142
- <div class='silent' foo='17'>
143
- this shouldn't evaluate but now it should!
144
- </div>
145
- <ul class='really cool'>
146
- <li>a</li>
147
- <li>b</li>
148
- <li>c</li>
149
- <li>d</li>
150
- <li>e</li>
151
- <li>f</li>
152
- </ul>
153
- <div class='of_divs_with_underscore' id='combo'>with this text</div>
154
- foo<div class='footer'>
155
- <strong class='shout'>This is a really long ruby quote. It should be loved and wrapped because its more than 50 characters. This value may change in the future and this test may look stupid.
156
- So, I'm just making it *really* long. God, I hope this works</strong>
157
- </div>
158
- </body>
159
- </html>
@@ -1,23 +0,0 @@
1
- <div class='tags'>
2
- <foo>1</foo>
3
- <FOO>2</FOO>
4
- <fooBAR>3</fooBAR>
5
- <fooBar>4</fooBar>
6
- <foo_bar>5</foo_bar>
7
- <foo-bar>6</foo-bar>
8
- <foo:bar>7</foo:bar>
9
- <foo class='bar'>8</foo>
10
- <fooBAr_baz:boom_bar>9</fooBAr_baz:boom_bar>
11
- <foo13>10</foo13>
12
- <foo2u>11</foo2u>
13
- </div>
14
- <div class='classes'>
15
- <p class='foo bar' id='boom'></p>
16
- <div class='fooBar'>a</div>
17
- <div class='foo-bar'>b</div>
18
- <div class='foo_bar'>c</div>
19
- <div class='FOOBAR'>d</div>
20
- <div class='foo16'>e</div>
21
- <div class='123'>f</div>
22
- <div class='foo2u'>g</div>
23
- </div>
@@ -1,5 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html>
3
- <head></head>
4
- <body></body>
5
- </html>
@@ -1,91 +0,0 @@
1
- <div id='whitespace_test'>
2
- <div class='text_area_test_area'>
3
- <textarea>Oneline</textarea>
4
- </div>
5
- <textarea>BLAH
6
- </textarea>
7
-
8
- <div class='text_area_test_area'>
9
- <textarea>Two&#x000A;lines</textarea>
10
- </div>
11
- <textarea>BLAH
12
- </textarea>
13
-
14
- <div class='text_area_test_area'>
15
- <textarea>Oneline</textarea>
16
- </div>
17
- <textarea>BLAH</textarea>
18
-
19
- <div class='text_area_test_area'>
20
- <textarea>Two&#x000A;lines</textarea>
21
- </div>
22
- <textarea>BLAH</textarea>
23
-
24
- <div id='flattened'><div class='text_area_test_area'>
25
- <textarea>Two&#x000A;lines</textarea>
26
- </div>
27
- <textarea>BLAH</textarea>
28
- </div>
29
- </div>
30
- <div class='hithere'>
31
- Foo bar
32
- <pre>foo bar</pre>
33
- <pre>foo&#x000A;bar</pre>
34
- <p><pre>foo&#x000A;bar</pre></p>
35
- <p>foo
36
- bar</p>
37
- </div>
38
- <div class='foo'>
39
- 13
40
- <textarea>
41
- a
42
- </textarea>
43
- <textarea>
44
- a</textarea></div>
45
- <div id='whitespace_test'>
46
- <div class='text_area_test_area'>
47
- <textarea>Oneline</textarea>
48
- </div>
49
- <textarea>BLAH
50
- </textarea>
51
-
52
- <div class='text_area_test_area'>
53
- <textarea>Two&#x000A;lines</textarea>
54
- </div>
55
- <textarea>BLAH
56
- </textarea>
57
-
58
- <div class='text_area_test_area'>
59
- <textarea>Oneline</textarea>
60
- </div>
61
- <textarea>BLAH</textarea>
62
-
63
- <div class='text_area_test_area'>
64
- <textarea>Two&#x000A;lines</textarea>
65
- </div>
66
- <textarea>BLAH</textarea>
67
-
68
- <div id='flattened'><div class='text_area_test_area'>
69
- <textarea>Two&#x000A;lines</textarea>
70
- </div>
71
- <textarea>BLAH</textarea>
72
- </div>
73
- </div>
74
- <div class='hithere'>
75
- Foo bar
76
- <pre>foo bar</pre>
77
- <pre>foo&#x000A;bar</pre>
78
- <p><pre>foo&#x000A;bar</pre></p>
79
- <p>foo
80
- bar</p>
81
- <pre> ___&#x000A; ,o88888&#x000A; ,o8888888'&#x000A; ,:o:o:oooo. ,8O88Pd8888"&#x000A; ,.::.::o:ooooOoOoO. ,oO8O8Pd888'"&#x000A; ,.:.::o:ooOoOoOO8O8OOo.8OOPd8O8O"&#x000A; , ..:.::o:ooOoOOOO8OOOOo.FdO8O8"&#x000A; , ..:.::o:ooOoOO8O888O8O,COCOO"&#x000A; , . ..:.::o:ooOoOOOO8OOOOCOCO"&#x000A; . ..:.::o:ooOoOoOO8O8OCCCC"o&#x000A; . ..:.::o:ooooOoCoCCC"o:o&#x000A; . ..:.::o:o:,cooooCo"oo:o:&#x000A; ` . . ..:.:cocoooo"'o:o:::'&#x000A; .` . ..::ccccoc"'o:o:o:::'&#x000A; :.:. ,c:cccc"':.:.:.:.:.'&#x000A; ..:.:"'`::::c:"'..:.:.:.:.:.' http://www.chris.com/ASCII/&#x000A; ...:.'.:.::::"' . . . . .'&#x000A; .. . ....:."' ` . . . ''&#x000A; . . . ...."'&#x000A; .. . ."' -hrr-&#x000A; .&#x000A;&#x000A;&#x000A; It's a planet!&#x000A;%strong This shouldn't be bold!</pre>
82
- <strong>This should!</strong>
83
- <textarea> ___ ___ ___ ___ &#x000A; /\__\ /\ \ /\__\ /\__\&#x000A; /:/ / /::\ \ /::| | /:/ /&#x000A; /:/__/ /:/\:\ \ /:|:| | /:/ / &#x000A; /::\ \ ___ /::\~\:\ \ /:/|:|__|__ /:/ / &#x000A; /:/\:\ /\__\ /:/\:\ \:\__\ /:/ |::::\__\ /:/__/ &#x000A; \/__\:\/:/ / \/__\:\/:/ / \/__/~~/:/ / \:\ \ &#x000A; \::/ / \::/ / /:/ / \:\ \ &#x000A; /:/ / /:/ / /:/ / \:\ \ &#x000A; /:/ / /:/ / /:/ / \:\__\&#x000A; \/__/ \/__/ \/__/ \/__/&#x000A; &#x000A; Many&#x000A; thanks&#x000A; to&#x000A; http://www.network-science.de/ascii/
84
- <strong>indeed!</strong></textarea>
85
- </div>
86
- <div class='foo'>
87
- 13
88
- </div>
89
- <pre> __ ______ __ ______&#x000A;.----.| |--.|__ |.----.| |--..--------.| __ |&#x000A;| __|| ||__ || __|| < | || __ |&#x000A;|____||__|__||______||____||__|__||__|__|__||______|</pre>
90
- <pre>foo
91
- bar</pre>
@@ -1,38 +0,0 @@
1
- module TemplateTestHelper
2
- TEMPLATE_PATH = File.join(__dir__, "templates")
3
- end
4
-
5
- module Haml::Filters::Test
6
- include Haml::Filters::Base
7
-
8
- def render(text)
9
- "TESTING HAHAHAHA!"
10
- end
11
- end
12
-
13
- module Haml::Helpers
14
- def test_partial(name, locals = {})
15
- Haml::Engine.new(File.read(File.join(TemplateTestHelper::TEMPLATE_PATH, "_#{name}.haml")), Haml::Template.options).render(self, locals)
16
- end
17
- end
18
-
19
- class Egocentic
20
- def method_missing(*args)
21
- self
22
- end
23
- end
24
-
25
- class DummyController
26
- attr_accessor :logger
27
- def initialize
28
- @logger = Egocentic.new
29
- end
30
-
31
- def self.controller_path
32
- ''
33
- end
34
-
35
- def controller_path
36
- ''
37
- end
38
- end