tilt 2.0.9 → 2.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tilt.rb +1 -1
  3. data/lib/tilt/template.rb +7 -12
  4. metadata +3 -104
  5. data/CHANGELOG.md +0 -132
  6. data/Gemfile +0 -70
  7. data/HACKING +0 -16
  8. data/README.md +0 -233
  9. data/Rakefile +0 -106
  10. data/docs/TEMPLATES.md +0 -555
  11. data/docs/common.css +0 -14
  12. data/man/index.txt +0 -2
  13. data/man/tilt.1.ronn +0 -59
  14. data/test/markaby/locals.mab +0 -1
  15. data/test/markaby/markaby.mab +0 -1
  16. data/test/markaby/markaby_other_static.mab +0 -1
  17. data/test/markaby/render_twice.mab +0 -1
  18. data/test/markaby/scope.mab +0 -1
  19. data/test/markaby/yielding.mab +0 -2
  20. data/test/mytemplate.rb +0 -2
  21. data/test/test_helper.rb +0 -64
  22. data/test/tilt_asciidoctor_test.rb +0 -50
  23. data/test/tilt_babeltemplate.rb +0 -33
  24. data/test/tilt_blueclothtemplate_test.rb +0 -33
  25. data/test/tilt_buildertemplate_test.rb +0 -72
  26. data/test/tilt_cache_test.rb +0 -43
  27. data/test/tilt_coffeescripttemplate_test.rb +0 -141
  28. data/test/tilt_commonmarkertemplate_test.rb +0 -28
  29. data/test/tilt_compilesite_test.rb +0 -51
  30. data/test/tilt_creoletemplate_test.rb +0 -24
  31. data/test/tilt_csv_test.rb +0 -77
  32. data/test/tilt_erbtemplate_test.rb +0 -239
  33. data/test/tilt_erubistemplate_test.rb +0 -151
  34. data/test/tilt_erubitemplate_test.rb +0 -158
  35. data/test/tilt_etannitemplate_test.rb +0 -174
  36. data/test/tilt_hamltemplate_test.rb +0 -166
  37. data/test/tilt_kramdown_test.rb +0 -20
  38. data/test/tilt_lesstemplate_test.less +0 -1
  39. data/test/tilt_lesstemplate_test.rb +0 -42
  40. data/test/tilt_liquidtemplate_test.rb +0 -87
  41. data/test/tilt_livescripttemplate_test.rb +0 -37
  42. data/test/tilt_mapping_test.rb +0 -232
  43. data/test/tilt_markaby_test.rb +0 -88
  44. data/test/tilt_markdown_test.rb +0 -186
  45. data/test/tilt_marukutemplate_test.rb +0 -36
  46. data/test/tilt_metadata_test.rb +0 -42
  47. data/test/tilt_nokogiritemplate_test.rb +0 -87
  48. data/test/tilt_pandoctemplate_test.rb +0 -67
  49. data/test/tilt_prawntemplate.prawn +0 -1
  50. data/test/tilt_prawntemplate_test.rb +0 -75
  51. data/test/tilt_radiustemplate_test.rb +0 -75
  52. data/test/tilt_rdiscounttemplate_test.rb +0 -43
  53. data/test/tilt_rdoctemplate_test.rb +0 -29
  54. data/test/tilt_redcarpettemplate_test.rb +0 -54
  55. data/test/tilt_redclothtemplate_test.rb +0 -36
  56. data/test/tilt_rstpandoctemplate_test.rb +0 -32
  57. data/test/tilt_sasstemplate_test.rb +0 -42
  58. data/test/tilt_sigil_test.rb +0 -41
  59. data/test/tilt_stringtemplate_test.rb +0 -171
  60. data/test/tilt_template_test.rb +0 -314
  61. data/test/tilt_test.rb +0 -60
  62. data/test/tilt_typescript_test.rb +0 -38
  63. data/test/tilt_wikiclothtemplate_test.rb +0 -32
  64. data/test/tilt_yajltemplate_test.rb +0 -101
  65. data/tilt.gemspec +0 -130
@@ -1,158 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/erubi'
6
- class ErubiTemplateTest < Minitest::Test
7
- test "registered for '.erubi' files" do
8
- assert_equal Tilt::ErubiTemplate, Tilt['test.erubi']
9
- assert_equal Tilt::ErubiTemplate, Tilt['test.html.erubi']
10
- end
11
-
12
- test "registered above ERB and Erubis" do
13
- %w[erb rhtml].each do |ext|
14
- lazy = Tilt.lazy_map[ext]
15
- erubi_idx = lazy.index { |klass, file| klass == 'Tilt::ErubiTemplate' }
16
- erubis_idx = lazy.index { |klass, file| klass == 'Tilt::ErubisTemplate' }
17
- erb_idx = lazy.index { |klass, file| klass == 'Tilt::ERBTemplate' }
18
- assert erubi_idx < erubis_idx,
19
- "#{erubi_idx} should be lower than #{erubis_idx}"
20
- assert erubi_idx < erb_idx,
21
- "#{erubi_idx} should be lower than #{erb_idx}"
22
- end
23
- end
24
-
25
- test "preparing and evaluating templates on #render" do
26
- template = Tilt::ErubiTemplate.new { |t| "Hello World!" }
27
- assert_equal "Hello World!", template.render
28
- end
29
-
30
- test "can be rendered more than once" do
31
- template = Tilt::ErubiTemplate.new { |t| "Hello World!" }
32
- 3.times { assert_equal "Hello World!", template.render }
33
- end
34
-
35
- test "passing locals" do
36
- template = Tilt::ErubiTemplate.new { 'Hey <%= name %>!' }
37
- assert_equal "Hey Joe!", template.render(Object.new, :name => 'Joe')
38
- end
39
-
40
- test "evaluating in an object scope" do
41
- template = Tilt::ErubiTemplate.new { 'Hey <%= @name %>!' }
42
- scope = Object.new
43
- scope.instance_variable_set :@name, 'Joe'
44
- assert_equal "Hey Joe!", template.render(scope)
45
- end
46
-
47
- class MockOutputVariableScope
48
- attr_accessor :exposed_buffer
49
- end
50
-
51
- test "exposing the buffer to the template by default" do
52
- template = Tilt::ErubiTemplate.new(nil, :bufvar=>'@_out_buf') { '<% self.exposed_buffer = @_out_buf %>hey' }
53
- scope = MockOutputVariableScope.new
54
- template.render(scope)
55
- refute_nil scope.exposed_buffer
56
- assert_equal scope.exposed_buffer, 'hey'
57
- end
58
-
59
- test "passing a block for yield" do
60
- template = Tilt::ErubiTemplate.new { 'Hey <%= yield %>!' }
61
- assert_equal "Hey Joe!", template.render { 'Joe' }
62
- end
63
-
64
- test "backtrace file and line reporting without locals" do
65
- data = File.read(__FILE__).split("\n__END__\n").last
66
- fail unless data[0] == ?<
67
- template = Tilt::ErubiTemplate.new('test.erubis', 11) { data }
68
- begin
69
- template.render
70
- fail 'should have raised an exception'
71
- rescue => boom
72
- assert_kind_of NameError, boom
73
- line = boom.backtrace.grep(/^test\.erubis:/).first
74
- assert line, "Backtrace didn't contain test.erubis"
75
- _file, line, _meth = line.split(":")
76
- assert_equal '13', line
77
- end
78
- end
79
-
80
- test "backtrace file and line reporting with locals" do
81
- data = File.read(__FILE__).split("\n__END__\n").last
82
- fail unless data[0] == ?<
83
- template = Tilt::ErubiTemplate.new('test.erubis', 1) { data }
84
- begin
85
- template.render(nil, :name => 'Joe', :foo => 'bar')
86
- fail 'should have raised an exception'
87
- rescue => boom
88
- assert_kind_of RuntimeError, boom
89
- line = boom.backtrace.first
90
- file, line, _meth = line.split(":")
91
- assert_equal 'test.erubis', file
92
- assert_equal '6', line
93
- end
94
- end
95
-
96
- test "erubis template options" do
97
- template = Tilt::ErubiTemplate.new(nil, :escapefunc=> 'h') { 'Hey <%== @name %>!' }
98
- scope = Object.new
99
- def scope.h(s) s * 2 end
100
- scope.instance_variable_set :@name, 'Joe'
101
- assert_equal "Hey JoeJoe!", template.render(scope)
102
- end
103
-
104
- test "using an instance variable as the outvar" do
105
- template = Tilt::ErubiTemplate.new(nil, :outvar => '@buf') { "<%= 1 + 1 %>" }
106
- scope = Object.new
107
- scope.instance_variable_set(:@buf, 'original value')
108
- assert_equal '2', template.render(scope)
109
- assert_equal 'original value', scope.instance_variable_get(:@buf)
110
- end
111
-
112
- test "using Erubi::CaptureEndEngine subclass via :engine_class option" do
113
- require 'erubi/capture_end'
114
- def self.bar
115
- @a << "a"
116
- yield
117
- @a << 'b'
118
- @a.upcase
119
- end
120
- template = Tilt::ErubiTemplate.new(nil, :engine_class => ::Erubi::CaptureEndEngine, :bufvar=>'@a') { 'c<%|= bar do %>d<%| end %>e' }
121
- assert_equal "cADBe", template.render(self)
122
- end
123
-
124
- test "using :escape_html => true option" do
125
- template = Tilt::ErubiTemplate.new(nil, :escape_html => true) { |t| %(<%= "<p>Hello World!</p>" %>) }
126
- assert_equal "&lt;p&gt;Hello World!&lt;/p&gt;", template.render
127
- end
128
-
129
- test "using :escape_html => false option" do
130
- template = Tilt::ErubiTemplate.new(nil, :escape_html => false) { |t| %(<%= "<p>Hello World!</p>" %>) }
131
- assert_equal "<p>Hello World!</p>", template.render
132
- end
133
-
134
- test "erubi default does not escape html" do
135
- template = Tilt::ErubiTemplate.new { |t| %(<%= "<p>Hello World!</p>" %>) }
136
- assert_equal "<p>Hello World!</p>", template.render
137
- end
138
-
139
- test "does not modify options argument" do
140
- options_hash = {:escape_html => true}
141
- Tilt::ErubiTemplate.new(nil, options_hash) { |t| "Hello World!" }
142
- assert_equal({:escape_html => true}, options_hash)
143
- end
144
- end
145
- rescue LoadError
146
- warn "Tilt::ErubiTemplate (disabled)"
147
- end
148
-
149
- __END__
150
- <html>
151
- <body>
152
- <h1>Hey <%= name %>!</h1>
153
-
154
-
155
- <p><% fail %></p>
156
- </body>
157
- </html>
158
-
@@ -1,174 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
- require 'tilt/etanni'
4
-
5
- class EtanniTemplateTest < Minitest::Test
6
- test "registered for '.etn' files" do
7
- assert_equal Tilt::EtanniTemplate, Tilt['test.etn']
8
- end
9
-
10
- test "registered for '.etanni' files" do
11
- assert_equal Tilt::EtanniTemplate, Tilt['test.etanni']
12
- end
13
-
14
- test "loading and evaluating templates on #render" do
15
- template = Tilt::EtanniTemplate.new { |t| "Hello World!" }
16
- assert_equal "Hello World!", template.render
17
- end
18
-
19
- test "can be rendered more than once" do
20
- template = Tilt::EtanniTemplate.new { |t| "Hello World!" }
21
- 3.times { assert_equal "Hello World!", template.render }
22
- end
23
-
24
- test "passing locals" do
25
- template = Tilt::EtanniTemplate.new { 'Hey #{name}!' }
26
- assert_equal "Hey Joe!", template.render(Object.new, :name => 'Joe')
27
- end
28
-
29
- test "evaluating in an object scope" do
30
- template = Tilt::EtanniTemplate.new { 'Hey #{@name}!' }
31
- scope = Object.new
32
- scope.instance_variable_set :@name, 'Joe'
33
- assert_equal "Hey Joe!", template.render(scope)
34
- end
35
-
36
- test "passing a block for yield" do
37
- template = Tilt::EtanniTemplate.new { 'Hey #{yield}!' }
38
- assert_equal "Hey Joe!", template.render { 'Joe' }
39
- assert_equal "Hey Moe!", template.render { 'Moe' }
40
- end
41
-
42
- test "multiline templates" do
43
- template = Tilt::EtanniTemplate.new { "Hello\nWorld!\n" }
44
- assert_equal "Hello\nWorld!", template.render
45
- end
46
-
47
- test "backtrace file and line reporting without locals" do
48
- data = File.read(__FILE__).split("\n__END__\n").last
49
- fail unless data[0] == ?<
50
- template = Tilt::EtanniTemplate.new('test.etn', 11) { data }
51
- begin
52
- template.render
53
- fail 'should have raised an exception'
54
- rescue => boom
55
- assert_kind_of NameError, boom
56
- line = boom.backtrace.grep(/^test\.etn:/).first
57
- assert line, "Backtrace didn't contain test.etn"
58
- _file, line, _meth = line.split(":")
59
- assert_equal '13', line
60
- end
61
- end
62
-
63
- test "backtrace file and line reporting with locals" do
64
- data = File.read(__FILE__).split("\n__END__\n").last
65
- fail unless data[0] == ?<
66
- template = Tilt::EtanniTemplate.new('test.etn', 1) { data }
67
- begin
68
- template.render(nil, :name => 'Joe', :foo => 'bar')
69
- fail 'should have raised an exception'
70
- rescue => boom
71
- assert_kind_of RuntimeError, boom
72
- line = boom.backtrace.first
73
- file, line, _meth = line.split(":")
74
- assert_equal 'test.etn', file
75
- assert_equal '6', line
76
- end
77
- end
78
- end
79
-
80
-
81
- class CompiledEtanniTemplateTest < Minitest::Test
82
- def teardown
83
- GC.start
84
- end
85
-
86
- class Scope
87
- end
88
-
89
- test "compiling template source to a method" do
90
- template = Tilt::EtanniTemplate.new { |t| "Hello World!" }
91
- template.render(Scope.new)
92
- method = template.send(:compiled_method, [])
93
- assert_kind_of UnboundMethod, method
94
- end
95
-
96
- test "loading and evaluating templates on #render" do
97
- template = Tilt::EtanniTemplate.new { |t| "Hello World!" }
98
- assert_equal "Hello World!", template.render(Scope.new)
99
- end
100
-
101
- test "passing locals" do
102
- template = Tilt::EtanniTemplate.new { 'Hey #{name}!' }
103
- assert_equal "Hey Joe!", template.render(Scope.new, :name => 'Joe')
104
- assert_equal "Hey Moe!", template.render(Scope.new, :name => 'Moe')
105
- end
106
-
107
- test "evaluating in an object scope" do
108
- template = Tilt::EtanniTemplate.new { 'Hey #{@name}!' }
109
- scope = Scope.new
110
- scope.instance_variable_set :@name, 'Joe'
111
- assert_equal "Hey Joe!", template.render(scope)
112
- scope.instance_variable_set :@name, 'Moe'
113
- assert_equal "Hey Moe!", template.render(scope)
114
- end
115
-
116
- test "passing a block for yield" do
117
- template = Tilt::EtanniTemplate.new { 'Hey #{yield}!' }
118
- assert_equal "Hey Joe!", template.render(Scope.new) { 'Joe' }
119
- assert_equal "Hey Moe!", template.render(Scope.new) { 'Moe' }
120
- end
121
-
122
- test "multiline templates" do
123
- template = Tilt::EtanniTemplate.new { "Hello\nWorld!\n" }
124
- assert_equal "Hello\nWorld!", template.render(Scope.new)
125
- end
126
-
127
- test "template with '}'" do
128
- template = Tilt::EtanniTemplate.new { "Hello }" }
129
- assert_equal "Hello }", template.render
130
- end
131
-
132
- test "backtrace file and line reporting without locals" do
133
- data = File.read(__FILE__).split("\n__END__\n").last
134
- fail unless data[0] == ?<
135
- template = Tilt::EtanniTemplate.new('test.etn', 11) { data }
136
- begin
137
- template.render(Scope.new)
138
- fail 'should have raised an exception'
139
- rescue => boom
140
- assert_kind_of NameError, boom
141
- line = boom.backtrace.first
142
- line = boom.backtrace.grep(/^test\.etn:/).first
143
- assert line, "Backtrace didn't contain test.etn"
144
- _file, line, _meth = line.split(":")
145
- assert_equal '13', line
146
- end
147
- end
148
-
149
- test "backtrace file and line reporting with locals" do
150
- data = File.read(__FILE__).split("\n__END__\n").last
151
- fail unless data[0] == ?<
152
- template = Tilt::EtanniTemplate.new('test.etn') { data }
153
- begin
154
- template.render(Scope.new, :name => 'Joe', :foo => 'bar')
155
- fail 'should have raised an exception'
156
- rescue => boom
157
- assert_kind_of RuntimeError, boom
158
- line = boom.backtrace.first
159
- file, line, _meth = line.split(":")
160
- assert_equal 'test.etn', file
161
- assert_equal '6', line
162
- end
163
- end
164
- end
165
-
166
- __END__
167
- <html>
168
- <body>
169
- <h1>Hey #{name}!</h1>
170
-
171
-
172
- <p>#{fail}</p>
173
- </body>
174
- </html>
@@ -1,166 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- class ::MockError < NameError
6
- end
7
-
8
- require 'tilt/haml'
9
-
10
- class HamlTemplateTest < Minitest::Test
11
- test "registered for '.haml' files" do
12
- assert_equal Tilt::HamlTemplate, Tilt['test.haml']
13
- end
14
-
15
- test "preparing and evaluating templates on #render" do
16
- template = Tilt::HamlTemplate.new { |t| "%p Hello World!" }
17
- assert_equal "<p>Hello World!</p>\n", template.render
18
- end
19
-
20
- test "can be rendered more than once" do
21
- template = Tilt::HamlTemplate.new { |t| "%p Hello World!" }
22
- 3.times { assert_equal "<p>Hello World!</p>\n", template.render }
23
- end
24
-
25
- test "passing locals" do
26
- template = Tilt::HamlTemplate.new { "%p= 'Hey ' + name + '!'" }
27
- assert_equal "<p>Hey Joe!</p>\n", template.render(Object.new, :name => 'Joe')
28
- end
29
-
30
- test 'evaluating in default/nil scope' do
31
- template = Tilt::HamlTemplate.new { |t| '%p Hey unknown!' }
32
- assert_equal "<p>Hey unknown!</p>\n", template.render
33
- assert_equal "<p>Hey unknown!</p>\n", template.render(nil)
34
- end
35
-
36
- test 'evaluating in invalid, frozen scope' do
37
- template = Tilt::HamlTemplate.new { |t| '%p Hey unknown!' }
38
- assert_raises(ArgumentError) { template.render(Object.new.freeze) }
39
- end
40
-
41
- test "evaluating in an object scope" do
42
- template = Tilt::HamlTemplate.new { "%p= 'Hey ' + @name + '!'" }
43
- scope = Object.new
44
- scope.instance_variable_set :@name, 'Joe'
45
- assert_equal "<p>Hey Joe!</p>\n", template.render(scope)
46
- end
47
-
48
- test "passing a block for yield" do
49
- template = Tilt::HamlTemplate.new { "%p= 'Hey ' + yield + '!'" }
50
- assert_equal "<p>Hey Joe!</p>\n", template.render { 'Joe' }
51
- end
52
-
53
- test "backtrace file and line reporting without locals" do
54
- data = File.read(__FILE__).split("\n__END__\n").last
55
- fail unless data[0] == ?%
56
- template = Tilt::HamlTemplate.new('test.haml', 10) { data }
57
- begin
58
- template.render
59
- fail 'should have raised an exception'
60
- rescue => boom
61
- assert_kind_of NameError, boom
62
- line = boom.backtrace.grep(/^test\.haml:/).first
63
- assert line, "Backtrace didn't contain test.haml"
64
- _file, line, _meth = line.split(":")
65
- assert_equal '12', line
66
- end
67
- end
68
-
69
- test "backtrace file and line reporting with locals" do
70
- data = File.read(__FILE__).split("\n__END__\n").last
71
- fail unless data[0] == ?%
72
- template = Tilt::HamlTemplate.new('test.haml') { data }
73
- begin
74
- template.render(Object.new, :name => 'Joe', :foo => 'bar')
75
- rescue => boom
76
- assert_kind_of MockError, boom
77
- line = boom.backtrace.first
78
- file, line, _meth = line.split(":")
79
- assert_equal 'test.haml', file
80
- assert_equal '5', line
81
- end
82
- end
83
- end
84
-
85
- class CompiledHamlTemplateTest < Minitest::Test
86
- class Scope
87
- end
88
-
89
- test "compiling template source to a method" do
90
- template = Tilt::HamlTemplate.new { |t| "Hello World!" }
91
- template.render(Scope.new)
92
- method = template.send(:compiled_method, [])
93
- assert_kind_of UnboundMethod, method
94
- end
95
-
96
- test "passing locals" do
97
- template = Tilt::HamlTemplate.new { "%p= 'Hey ' + name + '!'" }
98
- assert_equal "<p>Hey Joe!</p>\n", template.render(Scope.new, :name => 'Joe')
99
- end
100
-
101
- test 'evaluating in default/nil scope' do
102
- template = Tilt::HamlTemplate.new { |t| '%p Hey unknown!' }
103
- assert_equal "<p>Hey unknown!</p>\n", template.render
104
- assert_equal "<p>Hey unknown!</p>\n", template.render(nil)
105
- end
106
-
107
- test 'evaluating in invalid, frozen scope' do
108
- template = Tilt::HamlTemplate.new { |t| '%p Hey unknown!' }
109
- assert_raises(ArgumentError) { template.render(Object.new.freeze) }
110
- end
111
-
112
- test "evaluating in an object scope" do
113
- template = Tilt::HamlTemplate.new { "%p= 'Hey ' + @name + '!'" }
114
- scope = Scope.new
115
- scope.instance_variable_set :@name, 'Joe'
116
- assert_equal "<p>Hey Joe!</p>\n", template.render(scope)
117
- end
118
-
119
- test "passing a block for yield" do
120
- template = Tilt::HamlTemplate.new { "%p= 'Hey ' + yield + '!'" }
121
- assert_equal "<p>Hey Joe!</p>\n", template.render(Scope.new) { 'Joe' }
122
- end
123
-
124
- test "backtrace file and line reporting without locals" do
125
- data = File.read(__FILE__).split("\n__END__\n").last
126
- fail unless data[0] == ?%
127
- template = Tilt::HamlTemplate.new('test.haml', 10) { data }
128
- begin
129
- template.render(Scope.new)
130
- fail 'should have raised an exception'
131
- rescue => boom
132
- assert_kind_of NameError, boom
133
- line = boom.backtrace.grep(/^test\.haml:/).first
134
- assert line, "Backtrace didn't contain test.haml"
135
- _file, line, _meth = line.split(":")
136
- assert_equal '12', line
137
- end
138
- end
139
-
140
- test "backtrace file and line reporting with locals" do
141
- data = File.read(__FILE__).split("\n__END__\n").last
142
- fail unless data[0] == ?%
143
- template = Tilt::HamlTemplate.new('test.haml') { data }
144
- begin
145
- template.render(Scope.new, :name => 'Joe', :foo => 'bar')
146
- rescue => boom
147
- assert_kind_of MockError, boom
148
- line = boom.backtrace.first
149
- file, line, _meth = line.split(":")
150
- assert_equal 'test.haml', file
151
- assert_equal '5', line
152
- end
153
- end
154
- end
155
- rescue LoadError
156
- warn "Tilt::HamlTemplate (disabled)"
157
- end
158
-
159
- __END__
160
- %html
161
- %body
162
- %h1= "Hey #{name}"
163
-
164
- = raise MockError
165
-
166
- %p we never get here