tilt 2.0.5 → 2.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -1
  3. data/Gemfile +2 -2
  4. data/README.md +6 -2
  5. data/Rakefile +1 -0
  6. data/docs/TEMPLATES.md +1 -0
  7. data/lib/tilt.rb +4 -1
  8. data/lib/tilt/builder.rb +1 -1
  9. data/lib/tilt/erubi.rb +32 -0
  10. data/lib/tilt/liquid.rb +7 -1
  11. data/lib/tilt/livescript.rb +23 -0
  12. data/lib/tilt/sigil.rb +34 -0
  13. data/lib/tilt/template.rb +2 -8
  14. data/test/tilt_asciidoctor_test.rb +1 -1
  15. data/test/tilt_blueclothtemplate_test.rb +1 -1
  16. data/test/tilt_coffeescripttemplate_test.rb +2 -2
  17. data/test/tilt_commonmarkertemplate_test.rb +1 -1
  18. data/test/tilt_creoletemplate_test.rb +1 -1
  19. data/test/tilt_csv_test.rb +2 -2
  20. data/test/tilt_erbtemplate_test.rb +4 -4
  21. data/test/tilt_erubistemplate_test.rb +4 -4
  22. data/test/tilt_erubitemplate_test.rb +158 -0
  23. data/test/tilt_etannitemplate_test.rb +4 -4
  24. data/test/tilt_hamltemplate_test.rb +7 -7
  25. data/test/tilt_kramdown_test.rb +1 -1
  26. data/test/tilt_lesstemplate_test.rb +1 -1
  27. data/test/tilt_liquidtemplate_test.rb +10 -1
  28. data/test/tilt_livescripttemplate_test.rb +37 -0
  29. data/test/tilt_mapping_test.rb +1 -1
  30. data/test/tilt_markaby_test.rb +1 -1
  31. data/test/tilt_markdown_test.rb +1 -1
  32. data/test/tilt_marukutemplate_test.rb +1 -1
  33. data/test/tilt_pandoctemplate_test.rb +2 -2
  34. data/test/tilt_prawntemplate_test.rb +1 -1
  35. data/test/tilt_radiustemplate_test.rb +1 -1
  36. data/test/tilt_rdiscounttemplate_test.rb +1 -1
  37. data/test/tilt_rdoctemplate_test.rb +4 -4
  38. data/test/tilt_redcarpettemplate_test.rb +3 -3
  39. data/test/tilt_redclothtemplate_test.rb +1 -1
  40. data/test/tilt_rstpandoctemplate_test.rb +1 -1
  41. data/test/tilt_sasstemplate_test.rb +1 -1
  42. data/test/tilt_sigil_test.rb +41 -0
  43. data/test/tilt_stringtemplate_test.rb +4 -4
  44. data/test/tilt_template_test.rb +6 -0
  45. data/test/tilt_typescript_test.rb +2 -2
  46. data/test/tilt_wikiclothtemplate_test.rb +3 -3
  47. data/tilt.gemspec +8 -2
  48. metadata +11 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 736fe3309d9aab2be73d9ec2fd4d9b110d6736ac
4
- data.tar.gz: 236969d204a43624049b69dee61983bf410b57d8
3
+ metadata.gz: 4a64944bf1560252694d8d31faccc2441a4c35dc
4
+ data.tar.gz: a1513a4660e965009d7bb91d48241cc3065d693a
5
5
  SHA512:
6
- metadata.gz: c30008417646c5d8273b32cb357c57635d6c34c879957f8712c2a52dac00b1915a44cb6937093eb2459c216d999a5b22aa1844381de8a94eb28610b6e24e13af
7
- data.tar.gz: 2d4d093a48e787e69431b8e34d89ce983dd648b90820bdc393e83ba2f71015e63203031c81908ae6445dd7cc6138213bc78f9d999ad3968c6c307d9ab081b559
6
+ metadata.gz: 3b4ae89e41a1e6bab214b9d72eba0e656b08385e521a043de35da9bc8a1d7fbe14705165bd8c0c4bbfa346f0f82b6816f1c780a17cc894dfcd810be8e447cce7
7
+ data.tar.gz: 291502cb76dd404e9ae5c53283b262063af0fc503a209d05370b627b793a62a29f77420e159f8ac389baf884c0316fb6bb14230df53dd9ec093efb64e9d23fac
@@ -1,3 +1,16 @@
1
+ ## 2.0.6 (2017-01-26)
2
+
3
+ * Add support for LiveScript (#286, @Announcement Jacob Francis Powers)
4
+ * Add support for Sigil (#302, winebarrel)
5
+ * Add support for Erubi (#308, jeremyevans)
6
+ * Add support for options in Liquid (#298, #299, laCour)
7
+ * Always sort locals by strings (#307, jeremyevans)
8
+
9
+ * Fix test warnings (#305, amatsuda)
10
+ * Fix indentation (#293, yui-knk)
11
+ * Use SVG badges in README (#294, vasinov)
12
+ * Fix typo and trailing space (#295, #296, karloescota)
13
+
1
14
  ## 2.0.5 (2016-06-02)
2
15
 
3
16
  * Add support for reST using Pandoc (#284, mfenner)
@@ -98,4 +111,3 @@
98
111
  * Support RDoc 3.10 (#112, timfel)
99
112
  * Always compile templates; remove old source evaluator (rtomayko)
100
113
  * Less: Options are now being passed to the parser (#106, cowboyd)
101
-
data/Gemfile CHANGED
@@ -20,13 +20,14 @@ group :primary do
20
20
  if can_execjs
21
21
  gem 'less'
22
22
  gem 'coffee-script'
23
+ gem 'livescript'
23
24
  gem 'babel-transpiler'
24
25
  gem 'typescript-node'
25
26
  end
26
27
  end
27
28
 
28
29
  platform :mri do
29
- gem 'duktape', '~> 1.2.1.0' if can_execjs
30
+ gem 'duktape', '~> 1.3.0.6' if can_execjs
30
31
  end
31
32
 
32
33
  group :secondary do
@@ -64,4 +65,3 @@ end
64
65
  platform :rbx do
65
66
  gem 'rubysl'
66
67
  end
67
-
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- Tilt [![Build Status](https://secure.travis-ci.org/rtomayko/tilt.svg)](http://travis-ci.org/rtomayko/tilt) [![Dependency Status](https://gemnasium.com/rtomayko/tilt.png)](https://gemnasium.com/rtomayko/tilt) [![Inline docs](http://inch-ci.org/github/rtomayko/tilt.png)](http://inch-ci.org/github/rtomayko/tilt)
1
+ Tilt [![Build Status](https://secure.travis-ci.org/rtomayko/tilt.svg)](http://travis-ci.org/rtomayko/tilt) [![Dependency Status](https://gemnasium.com/rtomayko/tilt.svg)](https://gemnasium.com/rtomayko/tilt) [![Inline docs](http://inch-ci.org/github/rtomayko/tilt.svg)](http://inch-ci.org/github/rtomayko/tilt) [![Security](https://hakiri.io/github/rtomayko/tilt/master.svg)](https://hakiri.io/github/rtomayko/tilt/master)
2
2
  ====
3
3
 
4
4
  **NOTE** The following file documents the current release of Tilt (2.0). See
@@ -29,6 +29,7 @@ Support for these template engines is included with the package:
29
29
  | Asciidoctor | .ad, .adoc, .asciidoc | asciidoctor (>= 0.1.0) | Community |
30
30
  | ERB | .erb, .rhtml | none (included ruby stdlib) | Tilt team |
31
31
  | InterpolatedString | .str | none (included ruby core) | Tilt team |
32
+ | Erubi | .erb, .rhtml, .erubi | erubi | Community |
32
33
  | Erubis | .erb, .rhtml, .erubis | erubis | Tilt team |
33
34
  | Haml | .haml | haml | Tilt team |
34
35
  | Sass | .sass | haml (< 3.1) or sass (>= 3.1) | Tilt team |
@@ -51,6 +52,8 @@ Support for these template engines is included with the package:
51
52
  | Nokogiri | .nokogiri | nokogiri | Community |
52
53
  | CoffeeScript | .coffee | coffee-script (+ javascript) | Tilt team |
53
54
  | CoffeeScript (literate) | .litcoffee | coffee-script (>= 1.5.0) (+ javascript) | Tilt team |
55
+ | LiveScript | .ls | livescript (+ javascript) | Tilt team |
56
+ | TypeScript | .ts | typescript (+ javascript) | Tilt team |
54
57
  | Creole (Wiki markup) | .wiki, .creole | creole | Community |
55
58
  | WikiCloth (Wiki markup) | .wiki, .mediawiki, .mw | wikicloth | Community |
56
59
  | Yajl | .yajl | yajl-ruby | Community |
@@ -58,6 +61,7 @@ Support for these template engines is included with the package:
58
61
  | Prawn | .prawn | prawn (>= 2.0.0) | Community |
59
62
  | Babel | .es6, .babel, .jsx | babel-transpiler | Tilt team |
60
63
  | Opal | .rb | opal | Community |
64
+ | Sigil | .sigil | sigil | Community |
61
65
 
62
66
  Every supported template engine has a *maintainer*. Note that this is the
63
67
  maintainer of the Tilt integration, not the maintainer of the template engine
@@ -66,7 +70,7 @@ keeping backwards compatibility across Tilt version. Some integrations are
66
70
  maintained by the *community*, which is handled in the following way:
67
71
 
68
72
  - The Tilt team will liberally accept pull requests against the template
69
- integration. It's up the community as a whole to make sure the integration
73
+ integration. It's up to the community as a whole to make sure the integration
70
74
  stays consistent and backwards compatible over time.
71
75
  - Test failures in community-maintained integrations will not be prioritized by
72
76
  the Tilt team and a new version of Tilt might be released even though these
data/Rakefile CHANGED
@@ -11,6 +11,7 @@ Rake::TestTask.new(:test) do |t|
11
11
  t.test_files = FileList['test/*_test.rb']
12
12
  t.ruby_opts = ['-Itest']
13
13
  t.ruby_opts << '-rubygems' if defined? Gem
14
+ t.warning = false
14
15
  end
15
16
 
16
17
  # DOCUMENTATION =============================================================
@@ -32,6 +32,7 @@ Tilt also includes support for CSS processors like [LessCSS][lesscss] and
32
32
  * Scss - `Tilt::ScssTemplate`
33
33
  * CoffeeScript - `Tilt::CoffeeScriptTemplate`
34
34
  * Literate CoffeeScript - `Tilt::CoffeeScriptLiterateTemplate`
35
+ * LiveScript - `Tilt::LiveScriptTemplate`
35
36
  * [Textile](#redcloth) - `Tilt::RedClothTemplate`
36
37
  * reStructuredText - `Tilt::RstPandocTemplate`
37
38
  * Creole - `Tilt::CreoleTemplate`
@@ -4,7 +4,7 @@ require 'tilt/template'
4
4
  # Namespace for Tilt. This module is not intended to be included anywhere.
5
5
  module Tilt
6
6
  # Current version.
7
- VERSION = '2.0.5'
7
+ VERSION = '2.0.6'
8
8
 
9
9
  @default_mapping = Mapping.new
10
10
 
@@ -117,6 +117,7 @@ module Tilt
117
117
  # ERB
118
118
  register_lazy :ERBTemplate, 'tilt/erb', 'erb', 'rhtml'
119
119
  register_lazy :ErubisTemplate, 'tilt/erubis', 'erb', 'rhtml', 'erubis'
120
+ register_lazy :ErubiTemplate, 'tilt/erubi', 'erb', 'rhtml', 'erubi'
120
121
 
121
122
  # Markdown
122
123
  register_lazy :BlueClothTemplate, 'tilt/bluecloth', 'markdown', 'mkd', 'md'
@@ -139,6 +140,7 @@ module Tilt
139
140
  register_lazy :HamlTemplate, 'tilt/haml', 'haml'
140
141
  register_lazy :LessTemplate, 'tilt/less', 'less'
141
142
  register_lazy :LiquidTemplate, 'tilt/liquid', 'liquid'
143
+ register_lazy :LiveScriptTemplate, 'tilt/livescript','ls'
142
144
  register_lazy :MarkabyTemplate, 'tilt/markaby', 'mab'
143
145
  register_lazy :NokogiriTemplate, 'tilt/nokogiri', 'nokogiri'
144
146
  register_lazy :PlainTemplate, 'tilt/plain', 'html'
@@ -149,6 +151,7 @@ module Tilt
149
151
  register_lazy :RstPandocTemplate, 'tilt/rst-pandoc', 'rst'
150
152
  register_lazy :SassTemplate, 'tilt/sass', 'sass'
151
153
  register_lazy :ScssTemplate, 'tilt/sass', 'scss'
154
+ register_lazy :SigilTemplate, 'tilt/sigil', 'sigil'
152
155
  register_lazy :StringTemplate, 'tilt/string', 'str'
153
156
  register_lazy :TypeScriptTemplate, 'tilt/typescript', 'ts'
154
157
  register_lazy :WikiClothTemplate, 'tilt/wikicloth', 'wiki', 'mediawiki', 'mw'
@@ -2,7 +2,7 @@ require 'tilt/template'
2
2
  require 'builder'
3
3
 
4
4
  module Tilt
5
- # Builder template implementation. See:
5
+ # Builder template implementation. See:
6
6
  # http://builder.rubyforge.org/
7
7
  class BuilderTemplate < Template
8
8
  self.default_mime_type = 'text/xml'
@@ -0,0 +1,32 @@
1
+ require 'tilt/template'
2
+ require 'erubi'
3
+
4
+ module Tilt
5
+ # Erubi (a simplified version of Erubis) template implementation.
6
+ # See https://github.com/jeremyevans/erubi
7
+ #
8
+ # ErubiTemplate supports the following additional options, in addition
9
+ # to the options supported by the Erubi engine:
10
+ #
11
+ # :engine_class :: allows you to specify a custom engine class to use
12
+ # instead of the default (which is ::Erubi::Engine).
13
+ class ErubiTemplate < Template
14
+ def prepare
15
+ @options.merge!(:preamble => false, :postamble => false, :ensure=>true)
16
+
17
+ engine_class = @options[:engine_class] || Erubi::Engine
18
+
19
+ @engine = engine_class.new(data, @options)
20
+ @outvar = @engine.bufvar
21
+
22
+ # Remove dup after tilt supports frozen source.
23
+ @src = @engine.src.dup
24
+
25
+ @engine
26
+ end
27
+
28
+ def precompiled_template(locals)
29
+ @src
30
+ end
31
+ end
32
+ end
@@ -17,7 +17,7 @@ module Tilt
17
17
  # time when using this template engine.
18
18
  class LiquidTemplate < Template
19
19
  def prepare
20
- @engine = ::Liquid::Template.parse(data)
20
+ @engine = ::Liquid::Template.parse(data, liquid_options)
21
21
  end
22
22
 
23
23
  def evaluate(scope, locals, &block)
@@ -34,5 +34,11 @@ module Tilt
34
34
  def allows_script?
35
35
  false
36
36
  end
37
+
38
+ private
39
+
40
+ def liquid_options
41
+ { line_numbers: true }.merge options
42
+ end
37
43
  end
38
44
  end
@@ -0,0 +1,23 @@
1
+ require 'tilt/template'
2
+ require 'livescript'
3
+
4
+ module Tilt
5
+ # LiveScript template implementation. See:
6
+ # http://livescript.net/
7
+ #
8
+ # LiveScript templates do not support object scopes, locals, or yield.
9
+ class LiveScriptTemplate < Template
10
+ self.default_mime_type = 'application/javascript'
11
+
12
+ def prepare
13
+ end
14
+
15
+ def evaluate(scope, locals, &block)
16
+ @output ||= LiveScript.compile(data, options)
17
+ end
18
+
19
+ def allows_script?
20
+ false
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,34 @@
1
+ require 'open3'
2
+ require 'shellwords'
3
+
4
+ module Tilt
5
+ # Standalone string interpolator and template processor implementation in Go.
6
+ # see: https://github.com/gliderlabs/sigil
7
+ class SigilTemplate < Template
8
+ def prepare
9
+ end
10
+
11
+ def evaluate(scope, locals, &block)
12
+ variables = locals.map {|k, v| "#{k}=#{v}" }
13
+
14
+ cmd = ['sigil']
15
+
16
+ unless variables.empty?
17
+ cmd << '-p'
18
+ cmd.concat(variables)
19
+ end
20
+
21
+ out, err, status = Open3.capture3(*cmd, :stdin_data => data)
22
+
23
+ if status.success?
24
+ out.chomp
25
+ else
26
+ raise err.chomp.gsub('<stdin>', file)
27
+ end
28
+ end
29
+
30
+ def allows_script?
31
+ false
32
+ end
33
+ end
34
+ end
@@ -5,8 +5,6 @@ module Tilt
5
5
  TOPOBJECT = Object.superclass || Object
6
6
  # @private
7
7
  LOCK = Mutex.new
8
- # @private
9
- SYMBOL_ARRAY_SORTABLE = RUBY_VERSION >= '1.9'
10
8
 
11
9
  # Base class for template implementations. Subclasses must implement
12
10
  # the #prepare method and one of the #evaluate or #precompiled_template
@@ -158,11 +156,7 @@ module Tilt
158
156
  # override render() may not support all features.
159
157
  def evaluate(scope, locals, &block)
160
158
  locals_keys = locals.keys
161
- if SYMBOL_ARRAY_SORTABLE
162
- locals_keys.sort!
163
- else
164
- locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
165
- end
159
+ locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
166
160
  method = compiled_method(locals_keys)
167
161
  method.bind(scope).call(locals, &block)
168
162
  end
@@ -252,7 +246,7 @@ module Tilt
252
246
  method_source = String.new
253
247
 
254
248
  if method_source.respond_to?(:force_encoding)
255
- method_source.force_encoding(source.encoding)
249
+ method_source.force_encoding(source.encoding)
256
250
  end
257
251
 
258
252
  method_source << <<-RUBY
@@ -45,6 +45,6 @@ begin
45
45
  3.times { assert_equal HTML5_OUTPUT, strip_space(template.render) }
46
46
  end
47
47
  end
48
- rescue LoadError => boom
48
+ rescue LoadError
49
49
  warn "Tilt::AsciidoctorTemplate (disabled)"
50
50
  end
@@ -28,6 +28,6 @@ begin
28
28
  assert_equal "<p>HELLO &lt;blink>WORLD&lt;/blink></p>", template.render
29
29
  end
30
30
  end
31
- rescue LoadError => boom
31
+ rescue LoadError
32
32
  warn "Tilt::BlueClothTemplate (disabled)"
33
33
  end
@@ -30,7 +30,7 @@ begin
30
30
  refute_match "(function() {", template.render
31
31
  assert_equal "var name;\n\nname = \"Josh\";\n\nputs(\"Hello, \" + name);\n", template.render
32
32
 
33
- template2 = @renderer.new(:no_wrap => true) { @code_with_variables}
33
+ template = @renderer.new(:no_wrap => true) { @code_with_variables}
34
34
  refute_match "(function() {", template.render
35
35
  assert_equal "var name;\n\nname = \"Josh\";\n\nputs(\"Hello, \" + name);\n", template.render
36
36
  end
@@ -136,6 +136,6 @@ EOLIT
136
136
  end
137
137
  end
138
138
 
139
- rescue LoadError => boom
139
+ rescue LoadError
140
140
  warn "Tilt::CoffeeScriptTemplate (disabled)"
141
141
  end
@@ -15,6 +15,6 @@ begin
15
15
  3.times { assert_equal "<h1>Hello World!</h1>\n", template.render }
16
16
  end
17
17
  end
18
- rescue LoadError => boom
18
+ rescue LoadError
19
19
  warn "Tilt::CommonMarkerTemplate (disabled)"
20
20
  end
@@ -19,6 +19,6 @@ begin
19
19
  3.times { assert_equal "<h1>Hello World!</h1>", template.render }
20
20
  end
21
21
  end
22
- rescue LoadError => boom
22
+ rescue LoadError
23
23
  warn "Tilt::CreoleTemplate (disabled)"
24
24
  end
@@ -42,7 +42,7 @@ begin
42
42
  assert_kind_of NameError, boom
43
43
  line = boom.backtrace.grep(/^test\.csv:/).first
44
44
  assert line, "Backtrace didn't contain test.csv"
45
- file, line, meth = line.split(":")
45
+ _file, line, _meth = line.split(":")
46
46
  assert_equal '4', line
47
47
  end
48
48
  end
@@ -61,7 +61,7 @@ begin
61
61
  end
62
62
  end
63
63
 
64
- rescue LoadError => boom
64
+ rescue LoadError
65
65
  warn "Tilt::CSVTemplate (disabled) please install 'fastercsv' if using ruby 1.8.x"
66
66
  end
67
67
 
@@ -68,7 +68,7 @@ class ERBTemplateTest < Minitest::Test
68
68
  assert_kind_of NameError, boom
69
69
  line = boom.backtrace.grep(/^test\.erb:/).first
70
70
  assert line, "Backtrace didn't contain test.erb"
71
- file, line, meth = line.split(":")
71
+ _file, line, _meth = line.split(":")
72
72
  assert_equal '13', line
73
73
  end
74
74
  end
@@ -83,7 +83,7 @@ class ERBTemplateTest < Minitest::Test
83
83
  rescue => boom
84
84
  assert_kind_of RuntimeError, boom
85
85
  line = boom.backtrace.first
86
- file, line, meth = line.split(":")
86
+ file, line, _meth = line.split(":")
87
87
  assert_equal 'test.erb', file
88
88
  assert_equal '6', line
89
89
  end
@@ -170,7 +170,7 @@ class CompiledERBTemplateTest < Minitest::Test
170
170
  assert_kind_of NameError, boom
171
171
  line = boom.backtrace.grep(/^test\.erb:/).first
172
172
  assert line, "Backtrace didn't contain test.erb"
173
- file, line, meth = line.split(":")
173
+ _file, line, _meth = line.split(":")
174
174
  assert_equal '13', line
175
175
  end
176
176
  end
@@ -185,7 +185,7 @@ class CompiledERBTemplateTest < Minitest::Test
185
185
  rescue => boom
186
186
  assert_kind_of RuntimeError, boom
187
187
  line = boom.backtrace.first
188
- file, line, meth = line.split(":")
188
+ file, line, _meth = line.split(":")
189
189
  assert_equal 'test.erb', file
190
190
  assert_equal '6', line
191
191
  end
@@ -74,7 +74,7 @@ begin
74
74
  assert_kind_of NameError, boom
75
75
  line = boom.backtrace.grep(/^test\.erubis:/).first
76
76
  assert line, "Backtrace didn't contain test.erubis"
77
- file, line, meth = line.split(":")
77
+ _file, line, _meth = line.split(":")
78
78
  assert_equal '13', line
79
79
  end
80
80
  end
@@ -89,7 +89,7 @@ begin
89
89
  rescue => boom
90
90
  assert_kind_of RuntimeError, boom
91
91
  line = boom.backtrace.first
92
- file, line, meth = line.split(":")
92
+ file, line, _meth = line.split(":")
93
93
  assert_equal 'test.erubis', file
94
94
  assert_equal '6', line
95
95
  end
@@ -132,11 +132,11 @@ begin
132
132
 
133
133
  test "does not modify options argument" do
134
134
  options_hash = {:escape_html => true}
135
- template = Tilt::ErubisTemplate.new(nil, options_hash) { |t| "Hello World!" }
135
+ Tilt::ErubisTemplate.new(nil, options_hash) { |t| "Hello World!" }
136
136
  assert_equal({:escape_html => true}, options_hash)
137
137
  end
138
138
  end
139
- rescue LoadError => boom
139
+ rescue LoadError
140
140
  warn "Tilt::ErubisTemplate (disabled)"
141
141
  end
142
142
 
@@ -0,0 +1,158 @@
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
+
@@ -55,7 +55,7 @@ class EtanniTemplateTest < Minitest::Test
55
55
  assert_kind_of NameError, boom
56
56
  line = boom.backtrace.grep(/^test\.etn:/).first
57
57
  assert line, "Backtrace didn't contain test.etn"
58
- file, line, meth = line.split(":")
58
+ _file, line, _meth = line.split(":")
59
59
  assert_equal '13', line
60
60
  end
61
61
  end
@@ -70,7 +70,7 @@ class EtanniTemplateTest < Minitest::Test
70
70
  rescue => boom
71
71
  assert_kind_of RuntimeError, boom
72
72
  line = boom.backtrace.first
73
- file, line, meth = line.split(":")
73
+ file, line, _meth = line.split(":")
74
74
  assert_equal 'test.etn', file
75
75
  assert_equal '6', line
76
76
  end
@@ -141,7 +141,7 @@ class CompiledEtanniTemplateTest < Minitest::Test
141
141
  line = boom.backtrace.first
142
142
  line = boom.backtrace.grep(/^test\.etn:/).first
143
143
  assert line, "Backtrace didn't contain test.etn"
144
- file, line, meth = line.split(":")
144
+ _file, line, _meth = line.split(":")
145
145
  assert_equal '13', line
146
146
  end
147
147
  end
@@ -156,7 +156,7 @@ class CompiledEtanniTemplateTest < Minitest::Test
156
156
  rescue => boom
157
157
  assert_kind_of RuntimeError, boom
158
158
  line = boom.backtrace.first
159
- file, line, meth = line.split(":")
159
+ file, line, _meth = line.split(":")
160
160
  assert_equal 'test.etn', file
161
161
  assert_equal '6', line
162
162
  end
@@ -61,7 +61,7 @@ begin
61
61
  assert_kind_of NameError, boom
62
62
  line = boom.backtrace.grep(/^test\.haml:/).first
63
63
  assert line, "Backtrace didn't contain test.haml"
64
- file, line, meth = line.split(":")
64
+ _file, line, _meth = line.split(":")
65
65
  assert_equal '12', line
66
66
  end
67
67
  end
@@ -71,11 +71,11 @@ begin
71
71
  fail unless data[0] == ?%
72
72
  template = Tilt::HamlTemplate.new('test.haml') { data }
73
73
  begin
74
- res = template.render(Object.new, :name => 'Joe', :foo => 'bar')
74
+ template.render(Object.new, :name => 'Joe', :foo => 'bar')
75
75
  rescue => boom
76
76
  assert_kind_of MockError, boom
77
77
  line = boom.backtrace.first
78
- file, line, meth = line.split(":")
78
+ file, line, _meth = line.split(":")
79
79
  assert_equal 'test.haml', file
80
80
  assert_equal '5', line
81
81
  end
@@ -132,7 +132,7 @@ begin
132
132
  assert_kind_of NameError, boom
133
133
  line = boom.backtrace.grep(/^test\.haml:/).first
134
134
  assert line, "Backtrace didn't contain test.haml"
135
- file, line, meth = line.split(":")
135
+ _file, line, _meth = line.split(":")
136
136
  assert_equal '12', line
137
137
  end
138
138
  end
@@ -142,17 +142,17 @@ begin
142
142
  fail unless data[0] == ?%
143
143
  template = Tilt::HamlTemplate.new('test.haml') { data }
144
144
  begin
145
- res = template.render(Scope.new, :name => 'Joe', :foo => 'bar')
145
+ template.render(Scope.new, :name => 'Joe', :foo => 'bar')
146
146
  rescue => boom
147
147
  assert_kind_of MockError, boom
148
148
  line = boom.backtrace.first
149
- file, line, meth = line.split(":")
149
+ file, line, _meth = line.split(":")
150
150
  assert_equal 'test.haml', file
151
151
  assert_equal '5', line
152
152
  end
153
153
  end
154
154
  end
155
- rescue LoadError => boom
155
+ rescue LoadError
156
156
  warn "Tilt::HamlTemplate (disabled)"
157
157
  end
158
158
 
@@ -15,6 +15,6 @@ begin
15
15
  3.times { assert_equal '<h1 id="hello-world">Hello World!</h1>', template.render.strip }
16
16
  end
17
17
  end
18
- rescue LoadError => boom
18
+ rescue LoadError
19
19
  warn "Tilt::KramdownTemplate (disabled)"
20
20
  end
@@ -37,6 +37,6 @@ begin
37
37
  end
38
38
  end
39
39
 
40
- rescue LoadError => boom
40
+ rescue LoadError
41
41
  warn "Tilt::LessTemplate (disabled)"
42
42
  end
@@ -24,6 +24,15 @@ begin
24
24
  assert_equal "Hey Joe!", template.render(nil, :name => 'Joe')
25
25
  end
26
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
+
27
36
  # Object's passed as "scope" to LiquidTemplate may respond to
28
37
  # #to_h with a Hash. The Hash's contents are merged underneath
29
38
  # Tilt locals.
@@ -73,6 +82,6 @@ begin
73
82
  end
74
83
  end
75
84
 
76
- rescue LoadError => boom
85
+ rescue LoadError
77
86
  warn "Tilt::LiquidTemplate (disabled)"
78
87
  end
@@ -0,0 +1,37 @@
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
@@ -188,7 +188,7 @@ module Tilt
188
188
 
189
189
  @mapping.stub :require, req do
190
190
  err = assert_raises(LoadError) do
191
- klass = @mapping['hello.mt']
191
+ @mapping['hello.mt']
192
192
  end
193
193
 
194
194
  assert_equal 'my_template2', err.message
@@ -83,6 +83,6 @@ begin
83
83
  end
84
84
  end
85
85
 
86
- rescue LoadError => boom
86
+ rescue LoadError
87
87
  warn "Tilt::MarkabyTemplate (disabled)"
88
88
  end
@@ -95,7 +95,7 @@ begin
95
95
  def test_smarty_pants_true
96
96
  # Various versions of Redcarpet support various versions of Smart pants.
97
97
  html = nrender "Hello ``World'' -- This is --- a test ...", :smartypants => true
98
- assert_match /<p>Hello “World(''|”) – This is — a test …<\/p>/, html
98
+ assert_match %r!<p>Hello “World(''|”) – This is — a test …<\/p>!, html
99
99
  end
100
100
 
101
101
  def test_renderer_options
@@ -31,6 +31,6 @@ begin
31
31
  assert_equal "<p>HELLO</p>", template.render.strip
32
32
  end
33
33
  end
34
- rescue LoadError => boom
34
+ rescue LoadError
35
35
  warn "Tilt::MarukuTemplate (disabled)"
36
36
  end
@@ -58,10 +58,10 @@ begin
58
58
 
59
59
  test "requires arguments without value (e.g. --standalone) to be passed as hash keys (:standalone => true)" do
60
60
  template = Tilt::PandocTemplate.new(:standalone => true) { |t| "# This is a heading" }
61
- assert_match /^<!DOCTYPE html.*<h1 id="this-is-a-heading">This is a heading<\/h1>.*<\/html>$/m, template.render
61
+ assert_match(/^<!DOCTYPE html.*<h1 id="this-is-a-heading">This is a heading<\/h1>.*<\/html>$/m, template.render)
62
62
  end
63
63
  end
64
64
  end
65
- rescue LoadError => boom
65
+ rescue LoadError
66
66
  warn "Tilt::PandocTemplate (disabled)"
67
67
  end
@@ -70,6 +70,6 @@ begin
70
70
 
71
71
  end
72
72
 
73
- rescue LoadError => boom
73
+ rescue LoadError
74
74
  warn "Tilt::PrawnTemplate (disabled)"
75
75
  end
@@ -69,7 +69,7 @@ begin
69
69
  end
70
70
  end
71
71
 
72
- rescue LoadError => boom
72
+ rescue LoadError
73
73
  warn "Tilt::RadiusTemplate (disabled)"
74
74
  end
75
75
 
@@ -38,6 +38,6 @@ begin
38
38
  assert_equal "<p>HELLO &lt;blink>WORLD&lt;/blink></p>\n", template.render
39
39
  end
40
40
  end
41
- rescue LoadError => boom
41
+ rescue LoadError
42
42
  warn "Tilt::RDiscountTemplate (disabled)"
43
43
  end
@@ -11,16 +11,16 @@ begin
11
11
  test "preparing and evaluating the template with #render" do
12
12
  template = Tilt::RDocTemplate.new { |t| "= Hello World!" }
13
13
  result = template.render.strip
14
- assert_match /<h1/, result
15
- assert_match />Hello World!</, result
14
+ assert_match %r(<h1), result
15
+ assert_match %r(>Hello World!<), result
16
16
  end
17
17
 
18
18
  test "can be rendered more than once" do
19
19
  template = Tilt::RDocTemplate.new { |t| "= Hello World!" }
20
20
  3.times do
21
21
  result = template.render.strip
22
- assert_match /<h1/, result
23
- assert_match />Hello World!</, result
22
+ assert_match %r(<h1), result
23
+ assert_match %r(>Hello World!<), result
24
24
  end
25
25
  end
26
26
  end
@@ -38,17 +38,17 @@ begin
38
38
  test "smartypants when :smart is set" do
39
39
  template = Tilt::RedcarpetTemplate.new(:smartypants => true) { |t|
40
40
  "OKAY -- 'Smarty Pants'" }
41
- assert_match /<p>OKAY &ndash; (&#39;|&lsquo;)Smarty Pants(&#39;|&rsquo;)<\/p>/,
41
+ assert_match %r!<p>OKAY &ndash; (&#39;|&lsquo;)Smarty Pants(&#39;|&rsquo;)<\/p>!,
42
42
  template.render
43
43
  end
44
44
 
45
45
  test "smartypants with a rendererer instance" do
46
46
  template = Tilt::RedcarpetTemplate.new(:renderer => Redcarpet::Render::HTML.new(:hard_wrap => true), :smartypants => true) { |t|
47
47
  "OKAY -- 'Smarty Pants'" }
48
- assert_match /<p>OKAY &ndash; (&#39;|&lsquo;)Smarty Pants(&#39;|&rsquo;)<\/p>/,
48
+ assert_match %r!<p>OKAY &ndash; (&#39;|&lsquo;)Smarty Pants(&#39;|&rsquo;)<\/p>!,
49
49
  template.render
50
50
  end
51
51
  end
52
- rescue LoadError => boom
52
+ rescue LoadError
53
53
  warn "Tilt::RedcarpetTemplate (disabled)"
54
54
  end
@@ -31,6 +31,6 @@ begin
31
31
  assert_equal "<p>But they can be\nturned off.</p>", template.render
32
32
  end
33
33
  end
34
- rescue LoadError => boom
34
+ rescue LoadError
35
35
  warn "Tilt::RedClothTemplate (disabled)"
36
36
  end
@@ -24,7 +24,7 @@ begin
24
24
  test "doens't use markdown options" do
25
25
  template = Tilt::RstPandocTemplate.new(:escape_html => true) { |t| "HELLO <blink>WORLD</blink>" }
26
26
  err = assert_raises(RuntimeError) { template.render }
27
- assert_match /pandoc: unrecognized option `--escape-html/, err.message
27
+ assert_match %r(pandoc: unrecognized option `--escape-html), err.message
28
28
  end
29
29
  end
30
30
  rescue LoadError => boom
@@ -36,6 +36,6 @@ begin
36
36
  end
37
37
  end
38
38
 
39
- rescue LoadError => boom
39
+ rescue LoadError
40
40
  warn "Tilt::SassTemplate (disabled)"
41
41
  end
@@ -0,0 +1,41 @@
1
+ require 'test_helper'
2
+ require 'tilt'
3
+ require 'tilt/sigil'
4
+
5
+ system('sigil -v')
6
+
7
+ if $?.success?
8
+ class SigilTemplateTest < Minitest::Test
9
+ test "registered for '.sigil' files" do
10
+ assert_equal Tilt::SigilTemplate, Tilt['test.sigil']
11
+ end
12
+
13
+ test "loading and evaluating templates on #render" do
14
+ template = Tilt::SigilTemplate.new { |t| "Hello World!" }
15
+ assert_equal "Hello World!", template.render
16
+ end
17
+
18
+ test "can be rendered more than once" do
19
+ template = Tilt::SigilTemplate.new { |t| "Hello World!" }
20
+ 3.times { assert_equal "Hello World!", template.render }
21
+ end
22
+
23
+ test "passing locals" do
24
+ template = Tilt::SigilTemplate.new { 'Hey $name!' }
25
+ assert_equal "Hey Joe!", template.render(Object.new, :name => 'Joe')
26
+ end
27
+
28
+ test "error message" do
29
+ template = Tilt::SigilTemplate.new('test.sigil') { '{{undef_func}}' }
30
+ begin
31
+ template.render
32
+ fail 'should have raised an exception'
33
+ rescue => boom
34
+ assert_kind_of RuntimeError, boom
35
+ assert_equal 'template: test.sigil:1: function "undef_func" not defined', boom.message
36
+ end
37
+ end
38
+ end
39
+ else
40
+ warn "Tilt::SigilTemplate (disabled)"
41
+ end
@@ -51,7 +51,7 @@ class StringTemplateTest < Minitest::Test
51
51
  assert_kind_of NameError, boom
52
52
  line = boom.backtrace.grep(/^test\.str:/).first
53
53
  assert line, "Backtrace didn't contain test.str"
54
- file, line, meth = line.split(":")
54
+ _file, line, _meth = line.split(":")
55
55
  assert_equal '13', line
56
56
  end
57
57
  end
@@ -66,7 +66,7 @@ class StringTemplateTest < Minitest::Test
66
66
  rescue => boom
67
67
  assert_kind_of RuntimeError, boom
68
68
  line = boom.backtrace.first
69
- file, line, meth = line.split(":")
69
+ file, line, _meth = line.split(":")
70
70
  assert_equal 'test.str', file
71
71
  assert_equal '6', line
72
72
  end
@@ -138,7 +138,7 @@ class CompiledStringTemplateTest < Minitest::Test
138
138
  line = boom.backtrace.first
139
139
  line = boom.backtrace.grep(/^test\.str:/).first
140
140
  assert line, "Backtrace didn't contain test.str"
141
- file, line, meth = line.split(":")
141
+ _file, line, _meth = line.split(":")
142
142
  assert_equal '13', line
143
143
  end
144
144
  end
@@ -153,7 +153,7 @@ class CompiledStringTemplateTest < Minitest::Test
153
153
  rescue => boom
154
154
  assert_kind_of RuntimeError, boom
155
155
  line = boom.backtrace.first
156
- file, line, meth = line.split(":")
156
+ file, line, _meth = line.split(":")
157
157
  assert_equal 'test.str', file
158
158
  assert_equal '6', line
159
159
  end
@@ -132,6 +132,12 @@ class TiltTemplateTest < Minitest::Test
132
132
  assert inst.prepared?
133
133
  end
134
134
 
135
+ test "template_source with locals of strings" do
136
+ inst = SourceGeneratingMockTemplate.new { |t| 'Hey #{name}!' }
137
+ assert_equal "Hey Joe!", inst.render(Object.new, 'name' => 'Joe', :name=>'Joe')
138
+ assert inst.prepared?
139
+ end
140
+
135
141
  test "template_source with locals having non-variable keys raises error" do
136
142
  inst = SourceGeneratingMockTemplate.new { |t| '1 + 2 = #{_answer}' }
137
143
  err = assert_raises(RuntimeError) { inst.render(Object.new, 'ANSWER' => 3) }
@@ -21,7 +21,7 @@ begin
21
21
 
22
22
  test "supports source map" do
23
23
  template = Tilt::TypeScriptTemplate.new(inlineSourceMap: true) { @ts }
24
- assert_match /sourceMappingURL/, template.render
24
+ assert_match %r(sourceMappingURL), template.render
25
25
  end
26
26
 
27
27
  test "can be rendered more than once" do
@@ -29,6 +29,6 @@ begin
29
29
  3.times { assert_match @js, template.render }
30
30
  end
31
31
  end
32
- rescue LoadError => boom
32
+ rescue LoadError
33
33
  warn "Tilt::TypeScriptTemplate (disabled)"
34
34
  end
@@ -19,14 +19,14 @@ begin
19
19
 
20
20
  test "compiles and evaluates the template on #render" do
21
21
  template = Tilt::WikiClothTemplate.new { |t| "= Hello World! =" }
22
- assert_match /<h1>.*Hello World!.*<\/h1>/m, template.render
22
+ assert_match(/<h1>.*Hello World!.*<\/h1>/m, template.render)
23
23
  end
24
24
 
25
25
  test "can be rendered more than once" do
26
26
  template = Tilt::WikiClothTemplate.new { |t| "= Hello World! =" }
27
- 3.times { assert_match /<h1>.*Hello World!.*<\/h1>/m, template.render }
27
+ 3.times { assert_match(/<h1>.*Hello World!.*<\/h1>/m, template.render) }
28
28
  end
29
29
  end
30
- rescue LoadError => boom
30
+ rescue LoadError
31
31
  warn "Tilt::WikiClothTemplate (disabled)"
32
32
  end
@@ -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 = '2.0.5'
7
- s.date = '2016-06-02'
6
+ s.version = '2.0.6'
7
+ s.date = '2017-01-26'
8
8
 
9
9
  s.description = "Generic interface to multiple Ruby template engines"
10
10
  s.summary = s.description
@@ -35,12 +35,14 @@ Gem::Specification.new do |s|
35
35
  lib/tilt/csv.rb
36
36
  lib/tilt/dummy.rb
37
37
  lib/tilt/erb.rb
38
+ lib/tilt/erubi.rb
38
39
  lib/tilt/erubis.rb
39
40
  lib/tilt/etanni.rb
40
41
  lib/tilt/haml.rb
41
42
  lib/tilt/kramdown.rb
42
43
  lib/tilt/less.rb
43
44
  lib/tilt/liquid.rb
45
+ lib/tilt/livescript.rb
44
46
  lib/tilt/mapping.rb
45
47
  lib/tilt/markaby.rb
46
48
  lib/tilt/maruku.rb
@@ -55,6 +57,7 @@ Gem::Specification.new do |s|
55
57
  lib/tilt/redcloth.rb
56
58
  lib/tilt/rst-pandoc.rb
57
59
  lib/tilt/sass.rb
60
+ lib/tilt/sigil.rb
58
61
  lib/tilt/string.rb
59
62
  lib/tilt/template.rb
60
63
  lib/tilt/typescript.rb
@@ -82,12 +85,14 @@ Gem::Specification.new do |s|
82
85
  test/tilt_csv_test.rb
83
86
  test/tilt_erbtemplate_test.rb
84
87
  test/tilt_erubistemplate_test.rb
88
+ test/tilt_erubitemplate_test.rb
85
89
  test/tilt_etannitemplate_test.rb
86
90
  test/tilt_hamltemplate_test.rb
87
91
  test/tilt_kramdown_test.rb
88
92
  test/tilt_lesstemplate_test.less
89
93
  test/tilt_lesstemplate_test.rb
90
94
  test/tilt_liquidtemplate_test.rb
95
+ test/tilt_livescripttemplate_test.rb
91
96
  test/tilt_mapping_test.rb
92
97
  test/tilt_markaby_test.rb
93
98
  test/tilt_markdown_test.rb
@@ -104,6 +109,7 @@ Gem::Specification.new do |s|
104
109
  test/tilt_redclothtemplate_test.rb
105
110
  test/tilt_rstpandoctemplate_test.rb
106
111
  test/tilt_sasstemplate_test.rb
112
+ test/tilt_sigil_test.rb
107
113
  test/tilt_stringtemplate_test.rb
108
114
  test/tilt_template_test.rb
109
115
  test/tilt_test.rb
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tilt
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Tomayko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-02 00:00:00.000000000 Z
11
+ date: 2017-01-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Generic interface to multiple Ruby template engines
14
14
  email: r@tomayko.com
@@ -37,12 +37,14 @@ files:
37
37
  - lib/tilt/csv.rb
38
38
  - lib/tilt/dummy.rb
39
39
  - lib/tilt/erb.rb
40
+ - lib/tilt/erubi.rb
40
41
  - lib/tilt/erubis.rb
41
42
  - lib/tilt/etanni.rb
42
43
  - lib/tilt/haml.rb
43
44
  - lib/tilt/kramdown.rb
44
45
  - lib/tilt/less.rb
45
46
  - lib/tilt/liquid.rb
47
+ - lib/tilt/livescript.rb
46
48
  - lib/tilt/mapping.rb
47
49
  - lib/tilt/markaby.rb
48
50
  - lib/tilt/maruku.rb
@@ -57,6 +59,7 @@ files:
57
59
  - lib/tilt/redcloth.rb
58
60
  - lib/tilt/rst-pandoc.rb
59
61
  - lib/tilt/sass.rb
62
+ - lib/tilt/sigil.rb
60
63
  - lib/tilt/string.rb
61
64
  - lib/tilt/template.rb
62
65
  - lib/tilt/typescript.rb
@@ -84,12 +87,14 @@ files:
84
87
  - test/tilt_csv_test.rb
85
88
  - test/tilt_erbtemplate_test.rb
86
89
  - test/tilt_erubistemplate_test.rb
90
+ - test/tilt_erubitemplate_test.rb
87
91
  - test/tilt_etannitemplate_test.rb
88
92
  - test/tilt_hamltemplate_test.rb
89
93
  - test/tilt_kramdown_test.rb
90
94
  - test/tilt_lesstemplate_test.less
91
95
  - test/tilt_lesstemplate_test.rb
92
96
  - test/tilt_liquidtemplate_test.rb
97
+ - test/tilt_livescripttemplate_test.rb
93
98
  - test/tilt_mapping_test.rb
94
99
  - test/tilt_markaby_test.rb
95
100
  - test/tilt_markdown_test.rb
@@ -106,6 +111,7 @@ files:
106
111
  - test/tilt_redclothtemplate_test.rb
107
112
  - test/tilt_rstpandoctemplate_test.rb
108
113
  - test/tilt_sasstemplate_test.rb
114
+ - test/tilt_sigil_test.rb
109
115
  - test/tilt_stringtemplate_test.rb
110
116
  - test/tilt_template_test.rb
111
117
  - test/tilt_test.rb
@@ -155,11 +161,13 @@ test_files:
155
161
  - test/tilt_csv_test.rb
156
162
  - test/tilt_erbtemplate_test.rb
157
163
  - test/tilt_erubistemplate_test.rb
164
+ - test/tilt_erubitemplate_test.rb
158
165
  - test/tilt_etannitemplate_test.rb
159
166
  - test/tilt_hamltemplate_test.rb
160
167
  - test/tilt_kramdown_test.rb
161
168
  - test/tilt_lesstemplate_test.rb
162
169
  - test/tilt_liquidtemplate_test.rb
170
+ - test/tilt_livescripttemplate_test.rb
163
171
  - test/tilt_mapping_test.rb
164
172
  - test/tilt_markaby_test.rb
165
173
  - test/tilt_markdown_test.rb
@@ -175,6 +183,7 @@ test_files:
175
183
  - test/tilt_redclothtemplate_test.rb
176
184
  - test/tilt_rstpandoctemplate_test.rb
177
185
  - test/tilt_sasstemplate_test.rb
186
+ - test/tilt_sigil_test.rb
178
187
  - test/tilt_stringtemplate_test.rb
179
188
  - test/tilt_template_test.rb
180
189
  - test/tilt_test.rb