slim 2.1.0 → 3.0.0.beta.2

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +10 -24
  3. data/CHANGES +8 -0
  4. data/Gemfile +5 -7
  5. data/README.jp.md +29 -31
  6. data/README.md +34 -34
  7. data/Rakefile +9 -7
  8. data/benchmarks/context.rb +3 -3
  9. data/benchmarks/run-benchmarks.rb +9 -9
  10. data/benchmarks/view.slim +1 -1
  11. data/doc/jp/logic_less.md +7 -7
  12. data/doc/logic_less.md +7 -7
  13. data/lib/slim/command.rb +6 -16
  14. data/lib/slim/embedded.rb +10 -13
  15. data/lib/slim/engine.rb +21 -23
  16. data/lib/slim/erb_converter.rb +2 -1
  17. data/lib/slim/include.rb +2 -2
  18. data/lib/slim/logic_less.rb +1 -2
  19. data/lib/slim/logic_less/filter.rb +3 -3
  20. data/lib/slim/parser.rb +43 -19
  21. data/lib/slim/smart.rb +3 -3
  22. data/lib/slim/smart/escaper.rb +1 -1
  23. data/lib/slim/smart/filter.rb +3 -3
  24. data/lib/slim/smart/parser.rb +6 -4
  25. data/lib/slim/splat/builder.rb +9 -4
  26. data/lib/slim/splat/filter.rb +3 -4
  27. data/lib/slim/template.rb +5 -5
  28. data/lib/slim/translator.rb +12 -13
  29. data/lib/slim/version.rb +1 -1
  30. data/slim.gemspec +3 -1
  31. data/test/core/helper.rb +3 -3
  32. data/test/core/test_code_escaping.rb +14 -14
  33. data/test/core/test_code_evaluation.rb +1 -1
  34. data/test/core/test_code_output.rb +1 -1
  35. data/test/core/test_embedded_engines.rb +16 -16
  36. data/test/core/test_encoding.rb +4 -4
  37. data/test/core/test_html_attributes.rb +9 -9
  38. data/test/core/test_html_structure.rb +20 -20
  39. data/test/core/test_parser_errors.rb +1 -1
  40. data/test/core/test_pretty.rb +4 -4
  41. data/test/core/test_ruby_errors.rb +5 -5
  42. data/test/core/test_slim_template.rb +2 -2
  43. data/test/core/test_tabs.rb +5 -5
  44. data/test/core/test_thread_options.rb +4 -4
  45. data/test/core/test_unicode.rb +11 -13
  46. data/test/include/test_include.rb +2 -2
  47. data/test/literate/TESTS.md +37 -8
  48. data/test/literate/helper.rb +2 -2
  49. data/test/logic_less/test_logic_less.rb +37 -37
  50. data/test/rails/app/controllers/slim_controller.rb +3 -3
  51. data/test/rails/config/initializers/session_store.rb +1 -1
  52. data/test/rails/config/routes.rb +4 -4
  53. data/test/rails/test/test_slim.rb +9 -15
  54. data/test/smart/test_smart_text.rb +5 -9
  55. data/test/translator/test_translator.rb +14 -14
  56. metadata +7 -7
data/lib/slim/smart.rb CHANGED
@@ -3,6 +3,6 @@ require 'slim/smart/filter'
3
3
  require 'slim/smart/escaper'
4
4
  require 'slim/smart/parser'
5
5
 
6
- Slim::Engine.replace(Slim::Parser, Slim::Smart::Parser, :file, :tabsize, :shortcut, :default_tag, :attr_delims, :attr_list_delims, :code_attr_delims, :implicit_text)
7
- Slim::Engine.after(Slim::Smart::Parser, Slim::Smart::Filter, :smart_text, :smart_text_end_chars, :smart_text_begin_chars)
8
- Slim::Engine.after(Slim::Interpolation, Slim::Smart::Escaper, :smart_text_escaping)
6
+ Slim::Engine.replace Slim::Parser, Slim::Smart::Parser
7
+ Slim::Engine.after Slim::Smart::Parser, Slim::Smart::Filter
8
+ Slim::Engine.after Slim::Interpolation, Slim::Smart::Escaper
@@ -5,7 +5,7 @@ module Slim
5
5
  #
6
6
  # @api private
7
7
  class Escaper < ::Slim::Filter
8
- define_options :smart_text_escaping => true
8
+ define_options smart_text_escaping: true
9
9
 
10
10
  def call(exp)
11
11
  if options[:smart_text_escaping]
@@ -5,9 +5,9 @@ module Slim
5
5
  #
6
6
  # @api private
7
7
  class Filter < ::Slim::Filter
8
- define_options :smart_text => true,
9
- :smart_text_end_chars => '([{',
10
- :smart_text_begin_chars => ',.;:!?)]}'
8
+ define_options smart_text: true,
9
+ smart_text_end_chars: '([{',
10
+ smart_text_begin_chars: ',.;:!?)]}'
11
11
 
12
12
  def initialize(opts = {})
13
13
  super
@@ -1,15 +1,17 @@
1
+ # coding: utf-8
2
+
1
3
  module Slim
2
4
  module Smart
3
5
  class Parser < ::Slim::Parser
4
- define_options :implicit_text => true
6
+ define_options implicit_text: true
5
7
 
6
8
  def initialize(opts = {})
7
9
  super
8
- word_re = options[:implicit_text] ? LC_WORD_RE : WORD_RE
10
+ word_re = options[:implicit_text] ? '[_a-z0-9]' : '\p{Word}'
9
11
  attr_keys = Regexp.union(@attr_shortcut.keys.sort_by {|k| -k.size } )
10
- @attr_shortcut_re = /\A(#{attr_keys}+)((?:#{WORD_RE}|-)*)/
12
+ @attr_shortcut_re = /\A(#{attr_keys}+)((?:\p{Word}|-)*)/
11
13
  tag_keys = Regexp.union((@tag_shortcut.keys - @attr_shortcut.keys).sort_by {|k| -k.size } )
12
- @tag_re = /\A(?:#{attr_keys}(?=-*#{WORD_RE})|#{tag_keys}|\*(?=[^\s]+)|(#{word_re}(?:#{word_re}|:|-)*#{word_re}|#{word_re}+))/
14
+ @tag_re = /\A(?:#{attr_keys}(?=-*\p{Word})|#{tag_keys}|\*(?=[^\s]+)|(#{word_re}(?:#{word_re}|:|-)*#{word_re}|#{word_re}+))/
13
15
  end
14
16
 
15
17
  def unknown_line_indicator
@@ -10,11 +10,11 @@ module Slim
10
10
  def code_attr(name, escape, value)
11
11
  if delim = @options[:merge_attrs][name]
12
12
  value = Array === value ? value.join(delim) : value.to_s
13
- attr(name, escape ? Temple::Utils.escape_html_safe(value, @options[:use_html_safe]) : value) unless value.empty?
13
+ attr(name, escape_html(escape, value)) unless value.empty?
14
14
  elsif @options[:hyphen_attrs].include?(name) && Hash === value
15
15
  hyphen_attr(name, escape, value)
16
16
  elsif value != false && value != nil
17
- attr(name, value != true && escape ? Temple::Utils.escape_html_safe(value, @options[:use_html_safe]) : value)
17
+ attr(name, escape_html(value != true && escape, value))
18
18
  end
19
19
  end
20
20
 
@@ -27,7 +27,7 @@ module Slim
27
27
  def attr(name, value)
28
28
  if @attrs[name]
29
29
  if delim = @options[:merge_attrs][name]
30
- @attrs[name] << delim << value.to_s
30
+ @attrs[name] += delim + value.to_s
31
31
  else
32
32
  raise("Multiple #{name} attributes specified")
33
33
  end
@@ -69,9 +69,14 @@ module Slim
69
69
  hyphen_attr("#{name}-#{n.to_s.gsub('_', '-')}", escape, v)
70
70
  end
71
71
  else
72
- attr(name, value != true && escape ? Temple::Utils.escape_html_safe(value, @options[:use_html_safe]) : value)
72
+ attr(name, escape_html(value != true && escape, value))
73
73
  end
74
74
  end
75
+
76
+ def escape_html(escape, value)
77
+ return value unless escape
78
+ @options[:use_html_safe] ? Temple::Utils.escape_html_safe(value) : Temple::Utils.escape_html(value)
79
+ end
75
80
  end
76
81
  end
77
82
  end
@@ -2,15 +2,14 @@ module Slim
2
2
  module Splat
3
3
  # @api private
4
4
  class Filter < ::Slim::Filter
5
- OPTIONS = [:merge_attrs, :attr_quote, :sort_attrs, :default_tag, :hyphen_attrs, :format, :use_html_safe]
6
- define_options OPTIONS
7
- set_default_options :hyphen_attrs => %w(data aria), :use_html_safe => ''.respond_to?(:html_safe?)
5
+ define_options :merge_attrs, :attr_quote, :sort_attrs, :default_tag, :format,
6
+ hyphen_attrs: %w(data aria), use_html_safe: ''.respond_to?(:html_safe?)
8
7
 
9
8
  def call(exp)
10
9
  @splat_options = nil
11
10
  exp = compile(exp)
12
11
  if @splat_options
13
- opts = options.to_hash.reject {|k,v| !OPTIONS.include?(k) }.inspect
12
+ opts = options.to_hash.reject {|k,v| !Filter.options.valid_key?(k) }.inspect
14
13
  [:multi, [:code, "#{@splat_options} = #{opts}"], exp]
15
14
  else
16
15
  exp
data/lib/slim/template.rb CHANGED
@@ -1,19 +1,19 @@
1
1
  module Slim
2
2
  # Tilt template implementation for Slim
3
3
  # @api public
4
- Template = Temple::Templates::Tilt(Slim::Engine, :register_as => :slim)
4
+ Template = Temple::Templates::Tilt(Slim::Engine, register_as: :slim)
5
5
 
6
6
  if defined?(::ActionView)
7
7
  # Rails template implementation for Slim
8
8
  # @api public
9
9
  RailsTemplate = Temple::Templates::Rails(Slim::Engine,
10
- :register_as => :slim,
10
+ register_as: :slim,
11
11
  # Use rails-specific generator. This is necessary
12
12
  # to support block capturing and streaming.
13
- :generator => Temple::Generators::RailsOutputBuffer,
13
+ generator: Temple::Generators::RailsOutputBuffer,
14
14
  # Disable the internal slim capturing.
15
15
  # Rails takes care of the capturing by itself.
16
- :disable_capture => true,
17
- :streaming => defined?(::Fiber))
16
+ disable_capture: true,
17
+ streaming: true)
18
18
  end
19
19
  end
@@ -2,19 +2,19 @@ require 'slim'
2
2
 
3
3
  module Slim
4
4
  class Translator < Filter
5
- define_options :tr_mode => :dynamic,
6
- :tr_fn => '_',
7
- :tr => false
5
+ define_options :tr,
6
+ tr_mode: :dynamic,
7
+ tr_fn: '_'
8
8
 
9
9
  if defined?(::I18n)
10
- set_default_options :tr_fn => '::Slim::Translator.i18n_text',
11
- :tr => true
10
+ set_options tr_fn: '::Slim::Translator.i18n_text',
11
+ tr: true
12
12
  elsif defined?(::GetText)
13
- set_default_options :tr_fn => '::GetText._',
14
- :tr => true
13
+ set_options tr_fn: '::GetText._',
14
+ tr: true
15
15
  elsif defined?(::FastGettext)
16
- set_default_options :tr_fn => '::FastGettext::Translation._',
17
- :tr => true
16
+ set_options tr_fn: '::FastGettext::Translation._',
17
+ tr: true
18
18
  end
19
19
 
20
20
  def self.i18n_text(text)
@@ -38,9 +38,9 @@ module Slim
38
38
  super
39
39
  case options[:tr_mode]
40
40
  when :static
41
- @translator = StaticTranslator.new(:tr_fn => options[:tr_fn])
41
+ @translator = StaticTranslator.new(tr_fn: options[:tr_fn])
42
42
  when :dynamic
43
- @translator = DynamicTranslator.new(:tr_fn => options[:tr_fn])
43
+ @translator = DynamicTranslator.new(tr_fn: options[:tr_fn])
44
44
  else
45
45
  raise ArgumentError, "Invalid translator mode #{options[:tr_mode].inspect}"
46
46
  end
@@ -114,5 +114,4 @@ module Slim
114
114
  end
115
115
  end
116
116
 
117
- # Insert plugin filter into Slim engine chain
118
- Slim::Engine.before(Slim::EndInserter, Slim::Translator, :tr, :tr_fn, :tr_mode)
117
+ Slim::Engine.before Slim::EndInserter, Slim::Translator
data/lib/slim/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Slim
2
2
  # Slim version string
3
3
  # @api public
4
- VERSION = '2.1.0'
4
+ VERSION = '3.0.0.beta.2'
5
5
  end
data/slim.gemspec CHANGED
@@ -18,6 +18,8 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = %w(lib)
20
20
 
21
- s.add_runtime_dependency('temple', ['~> 0.6.9'])
21
+ s.required_ruby_version = '>=1.9.2'
22
+
23
+ s.add_runtime_dependency('temple', ['~> 0.7.1'])
22
24
  s.add_runtime_dependency('tilt', ['>= 1.3.3', '< 2.1'])
23
25
  end
data/test/core/helper.rb CHANGED
@@ -4,7 +4,7 @@ require 'minitest/autorun'
4
4
  require 'slim'
5
5
  require 'slim/grammar'
6
6
 
7
- Slim::Engine.after Slim::Parser, Temple::Filters::Validator, :grammar => Slim::Grammar
7
+ Slim::Engine.after Slim::Parser, Temple::Filters::Validator, grammar: Slim::Grammar
8
8
  Slim::Engine.before :Pretty, Temple::Filters::Validator
9
9
 
10
10
  class TestSlim < MiniTest::Unit::TestCase
@@ -99,7 +99,7 @@ class Env
99
99
  end
100
100
 
101
101
  def hash
102
- {:a => 'The letter a', :b => 'The letter b'}
102
+ {a: 'The letter a', b: 'The letter b'}
103
103
  end
104
104
 
105
105
  def show_first?(show = false)
@@ -157,7 +157,7 @@ class ViewEnv
157
157
  end
158
158
 
159
159
  def person
160
- [{:name => 'Joe'}, {:name => 'Jack'}]
160
+ [{name: 'Joe'}, {name: 'Jack'}]
161
161
  end
162
162
 
163
163
  def people
@@ -31,7 +31,7 @@ p = "<strong>Hello World\\n, meet \\"Slim\\"</strong>."
31
31
  }
32
32
 
33
33
  with_html_safe do
34
- assert_html "<p>&lt;strong&gt;Hello World\n, meet \&quot;Slim\&quot;&lt;/strong&gt;.</p>", source, :use_html_safe => true
34
+ assert_html "<p>&lt;strong&gt;Hello World\n, meet \&quot;Slim\&quot;&lt;/strong&gt;.</p>", source, use_html_safe: true
35
35
  end
36
36
  end
37
37
 
@@ -41,27 +41,27 @@ p = "<strong>Hello World\\n, meet \\"Slim\\"</strong>.".html_safe
41
41
  }
42
42
 
43
43
  with_html_safe do
44
- assert_html "<p><strong>Hello World\n, meet \"Slim\"</strong>.</p>", source, :use_html_safe => true
44
+ assert_html "<p><strong>Hello World\n, meet \"Slim\"</strong>.</p>", source, use_html_safe: true
45
45
  end
46
46
  end
47
47
 
48
48
  def test_render_splat_with_html_safe_true
49
49
  source = %q{
50
- p *{ :title => '&amp;'.html_safe }
50
+ p *{ title: '&amp;'.html_safe }
51
51
  }
52
52
 
53
53
  with_html_safe do
54
- assert_html "<p title=\"&amp;\"></p>", source, :use_html_safe => true
54
+ assert_html "<p title=\"&amp;\"></p>", source, use_html_safe: true
55
55
  end
56
56
  end
57
57
 
58
58
  def test_render_splat_with_html_safe_false
59
59
  source = %q{
60
- p *{ :title => '&' }
60
+ p *{ title: '&' }
61
61
  }
62
62
 
63
63
  with_html_safe do
64
- assert_html "<p title=\"&amp;\"></p>", source, :use_html_safe => true
64
+ assert_html "<p title=\"&amp;\"></p>", source, use_html_safe: true
65
65
  end
66
66
  end
67
67
 
@@ -72,7 +72,7 @@ p title=('&amp;'.html_safe)
72
72
  }
73
73
 
74
74
  with_html_safe do
75
- assert_html "<p title=\"&amp;\"></p>", source, :use_html_safe => true
75
+ assert_html "<p title=\"&amp;\"></p>", source, use_html_safe: true
76
76
  end
77
77
  end
78
78
 
@@ -91,7 +91,7 @@ p title=('&amp;'.html_safe)
91
91
  == "<p>World</p>"
92
92
  }
93
93
 
94
- assert_html "<p>Hello</p><p>World</p>", source, :disable_escape => true
94
+ assert_html "<p>Hello</p><p>World</p>", source, disable_escape: true
95
95
  end
96
96
 
97
97
  def test_escaping_evil_method_with_pretty
@@ -99,7 +99,7 @@ p title=('&amp;'.html_safe)
99
99
  p = evil_method
100
100
  }
101
101
 
102
- assert_html "<p>\n &lt;script&gt;do_something_evil();&lt;/script&gt;\n</p>", source, :pretty => true
102
+ assert_html "<p>\n &lt;script&gt;do_something_evil();&lt;/script&gt;\n</p>", source, pretty: true
103
103
  end
104
104
 
105
105
  def test_render_without_html_safe_with_pretty
@@ -107,7 +107,7 @@ p = evil_method
107
107
  p = "<strong>Hello World\\n, meet \\"Slim\\"</strong>."
108
108
  }
109
109
 
110
- assert_html "<p>\n &lt;strong&gt;Hello World\n , meet \&quot;Slim\&quot;&lt;/strong&gt;.\n</p>", source, :pretty => true
110
+ assert_html "<p>\n &lt;strong&gt;Hello World\n , meet \&quot;Slim\&quot;&lt;/strong&gt;.\n</p>", source, pretty: true
111
111
  end
112
112
 
113
113
  def test_render_with_html_safe_false_with_pretty
@@ -116,7 +116,7 @@ p = "<strong>Hello World\\n, meet \\"Slim\\"</strong>."
116
116
  }
117
117
 
118
118
  with_html_safe do
119
- assert_html "<p>\n &lt;strong&gt;Hello World\n , meet \&quot;Slim\&quot;&lt;/strong&gt;.\n</p>", source, :use_html_safe => true, :pretty => true
119
+ assert_html "<p>\n &lt;strong&gt;Hello World\n , meet \&quot;Slim\&quot;&lt;/strong&gt;.\n</p>", source, use_html_safe: true, pretty: true
120
120
  end
121
121
  end
122
122
 
@@ -126,7 +126,7 @@ p = "<strong>Hello World\\n, meet \\"Slim\\"</strong>.".html_safe
126
126
  }
127
127
 
128
128
  with_html_safe do
129
- assert_html "<p>\n <strong>Hello World\n , meet \"Slim\"</strong>.\n</p>", source, :use_html_safe => true, :pretty => true
129
+ assert_html "<p>\n <strong>Hello World\n , meet \"Slim\"</strong>.\n</p>", source, use_html_safe: true, pretty: true
130
130
  end
131
131
  end
132
132
 
@@ -136,7 +136,7 @@ p = "<strong>Hello World\\n, meet \\"Slim\\"</strong>.".html_safe
136
136
  == "<p>World</p>"
137
137
  }
138
138
 
139
- assert_html "&lt;p&gt;Hello&lt;/p&gt;<p>World</p>", source, :pretty => true
139
+ assert_html "&lt;p&gt;Hello&lt;/p&gt;<p>World</p>", source, pretty: true
140
140
  end
141
141
 
142
142
  def test_render_with_disable_escape_true_with_pretty
@@ -145,6 +145,6 @@ p = "<strong>Hello World\\n, meet \\"Slim\\"</strong>.".html_safe
145
145
  == "<p>World</p>"
146
146
  }
147
147
 
148
- assert_html "<p>Hello</p><p>World</p>", source, :disable_escape => true, :pretty => true
148
+ assert_html "<p>Hello</p><p>World</p>", source, disable_escape: true, pretty: true
149
149
  end
150
150
  end
@@ -44,7 +44,7 @@ p id="#{id_helper}" class="hello world" = hello_world "Hello Ruby!"
44
44
 
45
45
  def test_render_with_spaced_parameterized_call_to_set_attributes_and_call_to_set_content_2
46
46
  source = %q{
47
- p id="#{id_helper}" class="hello world" = hello_world "Hello Ruby!", :dummy => "value"
47
+ p id="#{id_helper}" class="hello world" = hello_world "Hello Ruby!", dummy: "value"
48
48
  }
49
49
 
50
50
  assert_html '<p class="hello world" id="notice">Hello Ruby!dummy value</p>', source
@@ -74,7 +74,7 @@ p
74
74
  def test_render_with_spaced_parameterized_call_2
75
75
  source = %q{
76
76
  p
77
- = hello_world "Hello Ruby!", :dummy => "value"
77
+ = hello_world "Hello Ruby!", dummy: "value"
78
78
  }
79
79
 
80
80
  assert_html '<p>Hello Ruby!dummy value</p>', source
@@ -52,7 +52,7 @@ markdown:
52
52
  # kramdown, :auto_ids by default
53
53
  assert_html "<h1 id=\"header\">Header</h1>\n<p>Hello from Markdown!</p>\n\n<p>3</p>\n\n<ul>\n <li>one</li>\n <li>two</li>\n</ul>\n", source
54
54
 
55
- Slim::Embedded.with_options(:markdown => {:auto_ids => false}) do
55
+ Slim::Embedded.with_options(markdown: {auto_ids: false}) do
56
56
  assert_html "<h1>Header</h1>\n<p>Hello from Markdown!</p>\n\n<p>3</p>\n\n<ul>\n <li>one</li>\n <li>two</li>\n</ul>\n", source
57
57
  end
58
58
 
@@ -95,7 +95,7 @@ org:
95
95
  def test_render_with_builder
96
96
  source = %q{
97
97
  builder:
98
- xml.p(:id => 'test') {
98
+ xml.p(id: 'test') {
99
99
  xml.text!('Hello')
100
100
  }
101
101
  }
@@ -155,28 +155,28 @@ javascript:
155
155
  end
156
156
 
157
157
  def test_render_with_javascript_with_explicit_html_comment
158
- Slim::Engine.with_options(:js_wrapper => :comment) do
158
+ Slim::Engine.with_options(js_wrapper: :comment) do
159
159
  source = "javascript:\n\t$(function() {});\n\talert('hello')\np Hi"
160
160
  assert_html "<script type=\"text/javascript\"><!--\n$(function() {});\nalert('hello')\n//--></script><p>Hi</p>", source
161
161
  end
162
162
  end
163
163
 
164
164
  def test_render_with_javascript_with_explicit_cdata_comment
165
- Slim::Engine.with_options(:js_wrapper => :cdata) do
165
+ Slim::Engine.with_options(js_wrapper: :cdata) do
166
166
  source = "javascript:\n\t$(function() {});\n\talert('hello')\np Hi"
167
167
  assert_html "<script type=\"text/javascript\">\n//<![CDATA[\n$(function() {});\nalert('hello')\n//]]>\n</script><p>Hi</p>", source
168
168
  end
169
169
  end
170
170
 
171
171
  def test_render_with_javascript_with_format_xhtml_comment
172
- Slim::Engine.with_options(:js_wrapper => :guess, :format => :xhtml) do
172
+ Slim::Engine.with_options(js_wrapper: :guess, format: :xhtml) do
173
173
  source = "javascript:\n\t$(function() {});\n\talert('hello')\np Hi"
174
174
  assert_html "<script type=\"text/javascript\">\n//<![CDATA[\n$(function() {});\nalert('hello')\n//]]>\n</script><p>Hi</p>", source
175
175
  end
176
176
  end
177
177
 
178
178
  def test_render_with_javascript_with_format_html_comment
179
- Slim::Engine.with_options(:js_wrapper => :guess, :format => :html) do
179
+ Slim::Engine.with_options(js_wrapper: :guess, format: :html) do
180
180
  source = "javascript:\n\t$(function() {});\n\talert('hello')\np Hi"
181
181
  assert_html "<script type=\"text/javascript\"><!--\n$(function() {});\nalert('hello')\n//--></script><p>Hi</p>", source
182
182
  end
@@ -206,22 +206,22 @@ scss:
206
206
  ruby:
207
207
  Embedded Ruby
208
208
  }
209
- assert_runtime_error 'Embedded engine ruby is disabled', source, :enable_engines => [:javascript]
210
- assert_runtime_error 'Embedded engine ruby is disabled', source, :enable_engines => %w(javascript)
209
+ assert_runtime_error 'Embedded engine ruby is disabled', source, enable_engines: [:javascript]
210
+ assert_runtime_error 'Embedded engine ruby is disabled', source, enable_engines: %w(javascript)
211
211
 
212
212
  source = %{
213
213
  ruby:
214
214
  Embedded Ruby
215
215
  }
216
- assert_runtime_error 'Embedded engine ruby is disabled', source, :enable_engines => [:javascript]
217
- assert_runtime_error 'Embedded engine ruby is disabled', source, :enable_engines => %w(javascript)
216
+ assert_runtime_error 'Embedded engine ruby is disabled', source, enable_engines: [:javascript]
217
+ assert_runtime_error 'Embedded engine ruby is disabled', source, enable_engines: %w(javascript)
218
218
 
219
219
  source = %{
220
220
  ruby:
221
221
  Embedded Ruby
222
222
  }
223
- assert_runtime_error 'Embedded engine ruby is disabled', source, :disable_engines => [:ruby]
224
- assert_runtime_error 'Embedded engine ruby is disabled', source, :disable_engines => %w(ruby)
223
+ assert_runtime_error 'Embedded engine ruby is disabled', source, disable_engines: [:ruby]
224
+ assert_runtime_error 'Embedded engine ruby is disabled', source, disable_engines: %w(ruby)
225
225
  end
226
226
 
227
227
  def test_enabled_embedded_engine
@@ -229,14 +229,14 @@ ruby:
229
229
  javascript:
230
230
  $(function() {});
231
231
  }
232
- assert_html '<script type="text/javascript">$(function() {});</script>', source, :disable_engines => [:ruby]
233
- assert_html '<script type="text/javascript">$(function() {});</script>', source, :disable_engines => %w(ruby)
232
+ assert_html '<script type="text/javascript">$(function() {});</script>', source, disable_engines: [:ruby]
233
+ assert_html '<script type="text/javascript">$(function() {});</script>', source, disable_engines: %w(ruby)
234
234
 
235
235
  source = %q{
236
236
  javascript:
237
237
  $(function() {});
238
238
  }
239
- assert_html '<script type="text/javascript">$(function() {});</script>', source, :enable_engines => [:javascript]
240
- assert_html '<script type="text/javascript">$(function() {});</script>', source, :enable_engines => %w(javascript)
239
+ assert_html '<script type="text/javascript">$(function() {});</script>', source, enable_engines: [:javascript]
240
+ assert_html '<script type="text/javascript">$(function() {});</script>', source, enable_engines: %w(javascript)
241
241
  end
242
242
  end