tilt 2.0.9 → 2.0.10

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.
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,20 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/kramdown'
6
-
7
- class KramdownTemplateTest < Minitest::Test
8
- test "preparing and evaluating templates on #render" do
9
- template = Tilt::KramdownTemplate.new { |t| "# Hello World!" }
10
- assert_equal '<h1 id="hello-world">Hello World!</h1>', template.render.strip
11
- end
12
-
13
- test "can be rendered more than once" do
14
- template = Tilt::KramdownTemplate.new { |t| "# Hello World!" }
15
- 3.times { assert_equal '<h1 id="hello-world">Hello World!</h1>', template.render.strip }
16
- end
17
- end
18
- rescue LoadError
19
- warn "Tilt::KramdownTemplate (disabled)"
20
- end
@@ -1 +0,0 @@
1
- @text-color: #ffc0cb;
@@ -1,42 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'pathname'
6
- require 'tilt/less'
7
-
8
- class LessTemplateTest < Minitest::Test
9
- def assert_similar(a, b)
10
- assert_equal a.gsub(/\s+/m, ' '), b.gsub(/\s+/m, ' ')
11
- end
12
-
13
- test "is registered for '.less' files" do
14
- assert_equal Tilt::LessTemplate, Tilt['test.less']
15
- end
16
-
17
- test "compiles and evaluates the template on #render" do
18
- template = Tilt::LessTemplate.new { |t| ".bg { background-color: #0000ff; } \n#main\n { .bg; }\n" }
19
- assert_similar ".bg {\n background-color: #0000ff;\n}\n#main {\n background-color: #0000ff;\n}\n", template.render
20
- end
21
-
22
- test "can be rendered more than once" do
23
- template = Tilt::LessTemplate.new { |t| ".bg { background-color: #0000ff; } \n#main\n { .bg; }\n" }
24
- 3.times { assert_similar ".bg {\n background-color: #0000ff;\n}\n#main {\n background-color: #0000ff;\n}\n", template.render }
25
- end
26
-
27
- test "can be passed a load path" do
28
- template = Tilt::LessTemplate.new({
29
- :paths => [Pathname(__FILE__).dirname]
30
- }) {
31
- <<-EOLESS
32
- @import 'tilt_lesstemplate_test.less';
33
- .bg {background-color: @text-color;}
34
- EOLESS
35
- }
36
- assert_similar ".bg {\n background-color: #ffc0cb;\n}\n", template.render
37
- end
38
- end
39
-
40
- rescue LoadError
41
- warn "Tilt::LessTemplate (disabled)"
42
- end
@@ -1,87 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/liquid'
6
-
7
- class LiquidTemplateTest < Minitest::Test
8
- test "registered for '.liquid' files" do
9
- assert_equal Tilt::LiquidTemplate, Tilt['test.liquid']
10
- end
11
-
12
- test "preparing and evaluating templates on #render" do
13
- template = Tilt::LiquidTemplate.new { |t| "Hello World!" }
14
- assert_equal "Hello World!", template.render
15
- end
16
-
17
- test "can be rendered more than once" do
18
- template = Tilt::LiquidTemplate.new { |t| "Hello World!" }
19
- 3.times { assert_equal "Hello World!", template.render }
20
- end
21
-
22
- test "passing locals" do
23
- template = Tilt::LiquidTemplate.new { "Hey {{ name }}!" }
24
- assert_equal "Hey Joe!", template.render(nil, :name => 'Joe')
25
- end
26
-
27
- test "options can be set" do
28
- err = assert_raises(Liquid::SyntaxError) do
29
- options = { line_numbers: false, error_mode: :strict }
30
- Tilt::LiquidTemplate.new(options) { "{{%%%}}" }.render
31
- end
32
- assert_equal 'Liquid syntax error: Unexpected character % in "{{%%%}}"',
33
- err.message
34
- end
35
-
36
- # Object's passed as "scope" to LiquidTemplate may respond to
37
- # #to_h with a Hash. The Hash's contents are merged underneath
38
- # Tilt locals.
39
- class ExampleLiquidScope
40
- def to_h
41
- { :beer => 'wet', :whisky => 'wetter' }
42
- end
43
- end
44
-
45
- test "combining scope and locals when scope responds to #to_h" do
46
- template =
47
- Tilt::LiquidTemplate.new {
48
- 'Beer is {{ beer }} but Whisky is {{ whisky }}.'
49
- }
50
- scope = ExampleLiquidScope.new
51
- assert_equal "Beer is wet but Whisky is wetter.", template.render(scope)
52
- end
53
-
54
- test "precedence when locals and scope define same variables" do
55
- template =
56
- Tilt::LiquidTemplate.new {
57
- 'Beer is {{ beer }} but Whisky is {{ whisky }}.'
58
- }
59
- scope = ExampleLiquidScope.new
60
- assert_equal "Beer is great but Whisky is greater.",
61
- template.render(scope, :beer => 'great', :whisky => 'greater')
62
- end
63
-
64
- # Object's passed as "scope" to LiquidTemplate that do not
65
- # respond to #to_h are silently ignored.
66
- class ExampleIgnoredLiquidScope
67
- end
68
-
69
- test "handling scopes that do not respond to #to_h" do
70
- template = Tilt::LiquidTemplate.new { 'Whisky' }
71
- scope = ExampleIgnoredLiquidScope.new
72
- assert_equal "Whisky", template.render(scope)
73
- end
74
-
75
- test "passing a block for yield" do
76
- template =
77
- Tilt::LiquidTemplate.new {
78
- 'Beer is {{ yield }} but Whisky is {{ content }}ter.'
79
- }
80
- assert_equal "Beer is wet but Whisky is wetter.",
81
- template.render({}) { 'wet' }
82
- end
83
- end
84
-
85
- rescue LoadError
86
- warn "Tilt::LiquidTemplate (disabled)"
87
- end
@@ -1,37 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/livescript'
6
-
7
- class LiveScriptTemplateTest < Minitest::Test
8
- setup do
9
- @code_without_variables = "puts 'Hello, World!'\n"
10
- @renderer = Tilt::LiveScriptTemplate
11
- end
12
-
13
- test "compiles and evaluates the template on #render" do
14
- template = @renderer.new { |t| @code_without_variables }
15
- assert_match "puts('Hello, World!');", template.render
16
- end
17
-
18
- test "can be rendered more than once" do
19
- template = @renderer.new { |t| @code_without_variables }
20
- 3.times { assert_match "puts('Hello, World!');", template.render }
21
- end
22
-
23
- test "supports bare-option" do
24
- template = @renderer.new(:bare => false) { |t| @code_without_variables }
25
- assert_match "function", template.render
26
-
27
- template = @renderer.new(:bare => true) { |t| @code_without_variables }
28
- refute_match "function", template.render
29
- end
30
-
31
- test "is registered for '.ls' files" do
32
- assert_equal @renderer, Tilt['test.ls']
33
- end
34
- end
35
- rescue LoadError
36
- warn "Tilt::LiveScriptTemplate (disabled)"
37
- end
@@ -1,232 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
- require 'tilt/mapping'
4
-
5
- module Tilt
6
-
7
- class MappingTest < Minitest::Test
8
- class Stub
9
- end
10
-
11
- class Stub2
12
- end
13
-
14
- setup do
15
- @mapping = Mapping.new
16
- end
17
-
18
- test "registered?" do
19
- @mapping.register(Stub, 'foo', 'bar')
20
- assert @mapping.registered?('foo')
21
- assert @mapping.registered?('bar')
22
- refute @mapping.registered?('baz')
23
- end
24
-
25
- test "lookups on registered" do
26
- @mapping.register(Stub, 'foo', 'bar')
27
- assert_equal Stub, @mapping['foo']
28
- assert_equal Stub, @mapping['bar']
29
- assert_equal Stub, @mapping['hello.foo']
30
- assert_nil @mapping['foo.baz']
31
- end
32
-
33
- test "can be dup'd" do
34
- @mapping.register(Stub, 'foo')
35
- other = @mapping.dup
36
- assert other.registered?('foo')
37
-
38
- # @mapping doesn't leak to other
39
- @mapping.register(Stub, 'bar')
40
- refute other.registered?('bar')
41
-
42
- # other doesn't leak to @mapping
43
- other.register(Stub, 'baz')
44
- refute @mapping.registered?('baz')
45
- end
46
-
47
- test "#extensions_for" do
48
- @mapping.register(Stub, 'foo', 'bar')
49
- assert_equal ['foo', 'bar'].sort, @mapping.extensions_for(Stub).sort
50
- end
51
-
52
- test "supports old-style #register" do
53
- @mapping.register('foo', Stub)
54
- assert_equal Stub, @mapping['foo']
55
- end
56
-
57
- context "lazy with one template class" do
58
- setup do
59
- @mapping.register_lazy('MyTemplate', 'my_template', 'mt')
60
- @loaded_before = $LOADED_FEATURES.dup
61
- end
62
-
63
- teardown do
64
- Object.send :remove_const, :MyTemplate if defined? ::MyTemplate
65
- $LOADED_FEATURES.replace(@loaded_before)
66
- end
67
-
68
- test "registered?" do
69
- assert @mapping.registered?('mt')
70
- end
71
-
72
- test "#extensions_for" do
73
- assert_equal ['mt'], @mapping.extensions_for('MyTemplate')
74
- end
75
-
76
- test "basic lookup" do
77
- req = proc do |file|
78
- assert_equal 'my_template', file
79
- class ::MyTemplate; end
80
- true
81
- end
82
-
83
- @mapping.stub :require, req do
84
- klass = @mapping['hello.mt']
85
- assert_equal ::MyTemplate, klass
86
- end
87
- end
88
-
89
- test "doesn't require when template class is present" do
90
- class ::MyTemplate; end
91
-
92
- req = proc do |file|
93
- flunk "#require shouldn't be called"
94
- end
95
-
96
- @mapping.stub :require, req do
97
- klass = @mapping['hello.mt']
98
- assert_equal ::MyTemplate, klass
99
- end
100
- end
101
-
102
- test "doesn't require when the template class is autoloaded, and then defined" do
103
- Object.autoload :MyTemplate, 'mytemplate'
104
- did_load = require 'mytemplate'
105
- assert did_load, "mytemplate wasn't freshly required"
106
-
107
- req = proc do |file|
108
- flunk "#require shouldn't be called"
109
- end
110
-
111
- @mapping.stub :require, req do
112
- klass = @mapping['hello.mt']
113
- assert_equal ::MyTemplate, klass
114
- end
115
- end
116
-
117
- test "raises NameError when the class name is defined" do
118
- req = proc do |file|
119
- # do nothing
120
- end
121
-
122
- @mapping.stub :require, req do
123
- assert_raises(NameError) do
124
- @mapping['hello.mt']
125
- end
126
- end
127
- end
128
- end
129
-
130
- context "lazy with two template classes" do
131
- setup do
132
- @mapping.register_lazy('MyTemplate1', 'my_template1', 'mt')
133
- @mapping.register_lazy('MyTemplate2', 'my_template2', 'mt')
134
- end
135
-
136
- teardown do
137
- Object.send :remove_const, :MyTemplate1 if defined? ::MyTemplate1
138
- Object.send :remove_const, :MyTemplate2 if defined? ::MyTemplate2
139
- end
140
-
141
- test "registered?" do
142
- assert @mapping.registered?('mt')
143
- end
144
-
145
- test "only attempt to load the last template" do
146
- req = proc do |file|
147
- assert_equal 'my_template2', file
148
- class ::MyTemplate2; end
149
- true
150
- end
151
-
152
- @mapping.stub :require, req do
153
- klass = @mapping['hello.mt']
154
- assert_equal ::MyTemplate2, klass
155
- end
156
- end
157
-
158
- test "uses the first template if it's present" do
159
- class ::MyTemplate1; end
160
-
161
- req = proc do |file|
162
- flunk
163
- end
164
-
165
- @mapping.stub :require, req do
166
- klass = @mapping['hello.mt']
167
- assert_equal ::MyTemplate1, klass
168
- end
169
- end
170
-
171
- test "falls back when LoadError is thrown" do
172
- req = proc do |file|
173
- raise LoadError unless file == 'my_template1'
174
- class ::MyTemplate1; end
175
- true
176
- end
177
-
178
- @mapping.stub :require, req do
179
- klass = @mapping['hello.mt']
180
- assert_equal ::MyTemplate1, klass
181
- end
182
- end
183
-
184
- test "raises the first LoadError when everything fails" do
185
- req = proc do |file|
186
- raise LoadError, file
187
- end
188
-
189
- @mapping.stub :require, req do
190
- err = assert_raises(LoadError) do
191
- @mapping['hello.mt']
192
- end
193
-
194
- assert_equal 'my_template2', err.message
195
- end
196
- end
197
-
198
- test "handles autoloaded constants" do
199
- Object.autoload :MyTemplate2, 'my_template2'
200
- class ::MyTemplate1; end
201
-
202
- assert_equal MyTemplate1, @mapping['hello.mt']
203
- end
204
- end
205
-
206
- test "raises NameError on invalid class name" do
207
- @mapping.register_lazy '#foo', 'my_template', 'mt'
208
-
209
- req = proc do |file|
210
- # do nothing
211
- end
212
-
213
- @mapping.stub :require, req do
214
- assert_raises(NameError) do
215
- @mapping['hello.mt']
216
- end
217
- end
218
- end
219
-
220
- context "#templates_for" do
221
- setup do
222
- @mapping.register Stub, 'a'
223
- @mapping.register Stub2, 'b'
224
- end
225
-
226
- test "handles multiple engines" do
227
- assert_equal [Stub2, Stub], @mapping.templates_for('hello/world.a.b')
228
- end
229
- end
230
- end
231
- end
232
-
@@ -1,88 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/markaby'
6
-
7
- class MarkabyTiltTest < Minitest::Test
8
- def setup
9
- @block = lambda do |t|
10
- File.read(File.dirname(__FILE__) + "/#{t.file}")
11
- end
12
- end
13
-
14
- test "should be able to render a markaby template with static html" do
15
- tilt = Tilt::MarkabyTemplate.new("markaby/markaby.mab", &@block)
16
- assert_equal "hello from markaby!", tilt.render
17
- end
18
-
19
- test "should use the contents of the template" do
20
- tilt = ::Tilt::MarkabyTemplate.new("markaby/markaby_other_static.mab", &@block)
21
- assert_equal "_why?", tilt.render
22
- end
23
-
24
- test "should render from a string (given as data)" do
25
- tilt = ::Tilt::MarkabyTemplate.new { "html do; end" }
26
- assert_equal "<html></html>", tilt.render
27
- end
28
-
29
- test "can be rendered more than once" do
30
- tilt = ::Tilt::MarkabyTemplate.new { "html do; end" }
31
- 3.times { assert_equal "<html></html>", tilt.render }
32
- end
33
-
34
- test "should evaluate a template file in the scope given" do
35
- scope = Object.new
36
- def scope.foo
37
- "bar"
38
- end
39
-
40
- tilt = ::Tilt::MarkabyTemplate.new("markaby/scope.mab", &@block)
41
- assert_equal "<li>bar</li>", tilt.render(scope)
42
- end
43
-
44
- test "should pass locals to the template" do
45
- tilt = ::Tilt::MarkabyTemplate.new("markaby/locals.mab", &@block)
46
- assert_equal "<li>bar</li>", tilt.render(Object.new, { :foo => "bar" })
47
- end
48
-
49
- test "should yield to the block given" do
50
- tilt = ::Tilt::MarkabyTemplate.new("markaby/yielding.mab", &@block)
51
- eval_scope = Markaby::Builder.new
52
-
53
- output = tilt.render(Object.new, {}) do
54
- text("Joe")
55
- end
56
-
57
- assert_equal "Hey Joe", output
58
- end
59
-
60
- test "should be able to render two templates in a row" do
61
- tilt = ::Tilt::MarkabyTemplate.new("markaby/render_twice.mab", &@block)
62
-
63
- assert_equal "foo", tilt.render
64
- assert_equal "foo", tilt.render
65
- end
66
-
67
- test "should retrieve a Tilt::MarkabyTemplate when calling Tilt['hello.mab']" do
68
- assert_equal Tilt::MarkabyTemplate, ::Tilt['./markaby/markaby.mab']
69
- end
70
-
71
- test "should return a new instance of the implementation class (when calling Tilt.new)" do
72
- assert ::Tilt.new(File.dirname(__FILE__) + "/markaby/markaby.mab").kind_of?(Tilt::MarkabyTemplate)
73
- end
74
-
75
- test "should be able to evaluate block style templates" do
76
- tilt = Tilt::MarkabyTemplate.new { |t| lambda { h1 "Hello World!" }}
77
- assert_equal "<h1>Hello World!</h1>", tilt.render
78
- end
79
-
80
- test "should pass locals to block style templates" do
81
- tilt = Tilt::MarkabyTemplate.new { |t| lambda { h1 "Hello #{name}!" }}
82
- assert_equal "<h1>Hello _why!</h1>", tilt.render(nil, :name => "_why")
83
- end
84
- end
85
-
86
- rescue LoadError
87
- warn "Tilt::MarkabyTemplate (disabled)"
88
- end