tilt 1.4.0 → 1.4.1

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.
@@ -1,5 +1,9 @@
1
1
  ## master
2
2
 
3
+ ## 1.4.1 (2013-05-08)
4
+
5
+ * Support Arrays in pre/postambles (#193, jbwiv)
6
+
3
7
  ## 1.4.0 (2013-05-01)
4
8
 
5
9
  * Better encoding support
@@ -305,9 +305,9 @@ time when using this template engine within a threaded environment.
305
305
 
306
306
  ### See also
307
307
 
308
- * [Liquid for Programmers](http://wiki.github.com/tobi/liquid/liquid-for-programmers)
308
+ * [Liquid for Programmers](https://wiki.github.com/Shopify/liquid/liquid-for-programmers)
309
309
  * [Liquid Docs](http://liquid.rubyforge.org/)
310
- * GitHub: [tobi/liquid](http://github.com/tobi/liquid/)
310
+ * GitHub: [Shopify/liquid](https://github.com/Shopify/liquid/)
311
311
 
312
312
 
313
313
  <a name='radius'></a>
@@ -1,5 +1,5 @@
1
1
  module Tilt
2
- VERSION = '1.4.0'
2
+ VERSION = '1.4.1'
3
3
 
4
4
  @preferred_mappings = Hash.new
5
5
  @template_mappings = Hash.new { |h, k| h[k] = [] }
@@ -194,7 +194,10 @@ module Tilt
194
194
  template.force_encoding(template_encoding)
195
195
  end
196
196
 
197
- source << preamble << "\n" << template << "\n" << postamble
197
+ # https://github.com/rtomayko/tilt/issues/193
198
+ warn "precompiled_preamble should return String (not Array)" if preamble.is_a?(Array)
199
+ warn "precompiled_postamble should return String (not Array)" if postamble.is_a?(Array)
200
+ source << [preamble, template, postamble].join("\n")
198
201
 
199
202
  [source, preamble.count("\n")+1]
200
203
  end
@@ -153,6 +153,53 @@ class TiltTemplateTest < Test::Unit::TestCase
153
153
  assert_equal "1 + 2 = 3", inst.render(Object.new, '_answer' => 3)
154
154
  end
155
155
 
156
+ class CustomGeneratingMockTemplate < PreparingMockTemplate
157
+ def precompiled_template(locals)
158
+ data
159
+ end
160
+
161
+ def precompiled_preamble(locals)
162
+ options.fetch(:preamble)
163
+ end
164
+
165
+ def precompiled_postamble(locals)
166
+ options.fetch(:postamble)
167
+ end
168
+ end
169
+
170
+ test "supports pre/postamble" do
171
+ inst = CustomGeneratingMockTemplate.new(
172
+ :preamble => 'buf = []',
173
+ :postamble => 'buf.join'
174
+ ) { 'buf << 1' }
175
+
176
+ assert_equal "1", inst.render
177
+ end
178
+
179
+ # Special-case for Haml
180
+ # https://github.com/rtomayko/tilt/issues/193
181
+ test "supports Array pre/postambles" do
182
+ inst = CustomGeneratingMockTemplate.new(
183
+ :preamble => ['buf = ', '[]'],
184
+ :postamble => ['buf.', 'join']
185
+ ) { 'buf << 1' }
186
+
187
+ # TODO: Use assert_output when we swicth to MiniTest
188
+ warns = <<-EOF
189
+ precompiled_preamble should return String (not Array)
190
+ precompiled_postamble should return String (not Array)
191
+ EOF
192
+
193
+ begin
194
+ require 'stringio'
195
+ $stderr = StringIO.new
196
+ assert_equal "1", inst.render
197
+ assert_equal warns, $stderr.string
198
+ ensure
199
+ $stderr = STDERR
200
+ end
201
+ end
202
+
156
203
  class Person
157
204
  CONSTANT = "Bob"
158
205
 
@@ -3,8 +3,8 @@ Gem::Specification.new do |s|
3
3
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
4
4
 
5
5
  s.name = 'tilt'
6
- s.version = '1.4.0'
7
- s.date = '2013-05-01'
6
+ s.version = '1.4.1'
7
+ s.date = '2013-05-08'
8
8
 
9
9
  s.description = "Generic interface to multiple Ruby template engines"
10
10
  s.summary = s.description
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tilt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-01 00:00:00.000000000 Z
12
+ date: 2013-05-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: asciidoctor
@@ -518,3 +518,4 @@ test_files:
518
518
  - test/tilt_test.rb
519
519
  - test/tilt_wikiclothtemplate_test.rb
520
520
  - test/tilt_yajltemplate_test.rb
521
+ has_rdoc: