haml 3.0.21 → 3.0.22

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of haml might be problematic. Click here for more details.

Files changed (195) hide show
  1. data/Rakefile +1 -41
  2. data/VERSION +1 -1
  3. data/lib/haml/precompiler.rb +8 -6
  4. data/lib/haml/template/plugin.rb +16 -6
  5. data/lib/sass/less.rb +31 -12
  6. data/lib/sass/script/funcall.rb +2 -1
  7. data/lib/sass/script/operation.rb +10 -5
  8. data/lib/sass/script/parser.rb +9 -0
  9. data/test/haml/engine_test.rb +25 -0
  10. data/test/sass/less_conversion_test.rb +24 -3
  11. data/test/sass/script_conversion_test.rb +60 -0
  12. metadata +243 -426
  13. data/vendor/sass/CONTRIBUTING +0 -3
  14. data/vendor/sass/MIT-LICENSE +0 -20
  15. data/vendor/sass/README.md +0 -201
  16. data/vendor/sass/Rakefile +0 -363
  17. data/vendor/sass/TODO +0 -39
  18. data/vendor/sass/VERSION +0 -1
  19. data/vendor/sass/VERSION_NAME +0 -1
  20. data/vendor/sass/bin/css2sass +0 -13
  21. data/vendor/sass/bin/sass +0 -8
  22. data/vendor/sass/bin/sass-convert +0 -7
  23. data/vendor/sass/doc-src/FAQ.md +0 -35
  24. data/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
  25. data/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -1870
  26. data/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1713
  27. data/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
  28. data/vendor/sass/ext/extconf.rb +0 -10
  29. data/vendor/sass/extra/update_watch.rb +0 -13
  30. data/vendor/sass/init.rb +0 -18
  31. data/vendor/sass/lib/sass.rb +0 -71
  32. data/vendor/sass/lib/sass/cache_store.rb +0 -208
  33. data/vendor/sass/lib/sass/callbacks.rb +0 -66
  34. data/vendor/sass/lib/sass/css.rb +0 -294
  35. data/vendor/sass/lib/sass/engine.rb +0 -792
  36. data/vendor/sass/lib/sass/environment.rb +0 -143
  37. data/vendor/sass/lib/sass/error.rb +0 -201
  38. data/vendor/sass/lib/sass/exec.rb +0 -619
  39. data/vendor/sass/lib/sass/importers.rb +0 -22
  40. data/vendor/sass/lib/sass/importers/base.rb +0 -138
  41. data/vendor/sass/lib/sass/importers/filesystem.rb +0 -121
  42. data/vendor/sass/lib/sass/less.rb +0 -363
  43. data/vendor/sass/lib/sass/plugin.rb +0 -126
  44. data/vendor/sass/lib/sass/plugin/compiler.rb +0 -346
  45. data/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
  46. data/vendor/sass/lib/sass/plugin/generic.rb +0 -15
  47. data/vendor/sass/lib/sass/plugin/merb.rb +0 -48
  48. data/vendor/sass/lib/sass/plugin/rack.rb +0 -47
  49. data/vendor/sass/lib/sass/plugin/rails.rb +0 -41
  50. data/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -145
  51. data/vendor/sass/lib/sass/railtie.rb +0 -8
  52. data/vendor/sass/lib/sass/repl.rb +0 -58
  53. data/vendor/sass/lib/sass/root.rb +0 -7
  54. data/vendor/sass/lib/sass/script.rb +0 -63
  55. data/vendor/sass/lib/sass/script/bool.rb +0 -18
  56. data/vendor/sass/lib/sass/script/color.rb +0 -491
  57. data/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
  58. data/vendor/sass/lib/sass/script/css_parser.rb +0 -31
  59. data/vendor/sass/lib/sass/script/funcall.rb +0 -79
  60. data/vendor/sass/lib/sass/script/functions.rb +0 -852
  61. data/vendor/sass/lib/sass/script/interpolation.rb +0 -70
  62. data/vendor/sass/lib/sass/script/lexer.rb +0 -337
  63. data/vendor/sass/lib/sass/script/literal.rb +0 -236
  64. data/vendor/sass/lib/sass/script/node.rb +0 -101
  65. data/vendor/sass/lib/sass/script/number.rb +0 -423
  66. data/vendor/sass/lib/sass/script/operation.rb +0 -92
  67. data/vendor/sass/lib/sass/script/parser.rb +0 -392
  68. data/vendor/sass/lib/sass/script/string.rb +0 -67
  69. data/vendor/sass/lib/sass/script/string_interpolation.rb +0 -93
  70. data/vendor/sass/lib/sass/script/unary_operation.rb +0 -57
  71. data/vendor/sass/lib/sass/script/variable.rb +0 -48
  72. data/vendor/sass/lib/sass/scss.rb +0 -17
  73. data/vendor/sass/lib/sass/scss/css_parser.rb +0 -51
  74. data/vendor/sass/lib/sass/scss/parser.rb +0 -838
  75. data/vendor/sass/lib/sass/scss/rx.rb +0 -126
  76. data/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
  77. data/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
  78. data/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
  79. data/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
  80. data/vendor/sass/lib/sass/selector.rb +0 -361
  81. data/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
  82. data/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -82
  83. data/vendor/sass/lib/sass/selector/sequence.rb +0 -236
  84. data/vendor/sass/lib/sass/selector/simple.rb +0 -113
  85. data/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -135
  86. data/vendor/sass/lib/sass/shared.rb +0 -78
  87. data/vendor/sass/lib/sass/tree/comment_node.rb +0 -128
  88. data/vendor/sass/lib/sass/tree/debug_node.rb +0 -36
  89. data/vendor/sass/lib/sass/tree/directive_node.rb +0 -75
  90. data/vendor/sass/lib/sass/tree/extend_node.rb +0 -65
  91. data/vendor/sass/lib/sass/tree/for_node.rb +0 -67
  92. data/vendor/sass/lib/sass/tree/if_node.rb +0 -81
  93. data/vendor/sass/lib/sass/tree/import_node.rb +0 -124
  94. data/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -60
  95. data/vendor/sass/lib/sass/tree/mixin_node.rb +0 -123
  96. data/vendor/sass/lib/sass/tree/node.rb +0 -490
  97. data/vendor/sass/lib/sass/tree/prop_node.rb +0 -220
  98. data/vendor/sass/lib/sass/tree/root_node.rb +0 -125
  99. data/vendor/sass/lib/sass/tree/rule_node.rb +0 -273
  100. data/vendor/sass/lib/sass/tree/variable_node.rb +0 -39
  101. data/vendor/sass/lib/sass/tree/warn_node.rb +0 -42
  102. data/vendor/sass/lib/sass/tree/while_node.rb +0 -48
  103. data/vendor/sass/lib/sass/util.rb +0 -700
  104. data/vendor/sass/lib/sass/util/subset_map.rb +0 -101
  105. data/vendor/sass/lib/sass/version.rb +0 -109
  106. data/vendor/sass/rails/init.rb +0 -1
  107. data/vendor/sass/sass.gemspec +0 -32
  108. data/vendor/sass/test/sass/cache_test.rb +0 -74
  109. data/vendor/sass/test/sass/callbacks_test.rb +0 -61
  110. data/vendor/sass/test/sass/conversion_test.rb +0 -1210
  111. data/vendor/sass/test/sass/css2sass_test.rb +0 -364
  112. data/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
  113. data/vendor/sass/test/sass/engine_test.rb +0 -2283
  114. data/vendor/sass/test/sass/extend_test.rb +0 -1348
  115. data/vendor/sass/test/sass/functions_test.rb +0 -565
  116. data/vendor/sass/test/sass/importer_test.rb +0 -104
  117. data/vendor/sass/test/sass/less_conversion_test.rb +0 -632
  118. data/vendor/sass/test/sass/mock_importer.rb +0 -49
  119. data/vendor/sass/test/sass/more_results/more1.css +0 -9
  120. data/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
  121. data/vendor/sass/test/sass/more_results/more_import.css +0 -29
  122. data/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
  123. data/vendor/sass/test/sass/more_templates/more1.sass +0 -23
  124. data/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
  125. data/vendor/sass/test/sass/plugin_test.rb +0 -430
  126. data/vendor/sass/test/sass/results/alt.css +0 -4
  127. data/vendor/sass/test/sass/results/basic.css +0 -9
  128. data/vendor/sass/test/sass/results/compact.css +0 -5
  129. data/vendor/sass/test/sass/results/complex.css +0 -86
  130. data/vendor/sass/test/sass/results/compressed.css +0 -1
  131. data/vendor/sass/test/sass/results/expanded.css +0 -19
  132. data/vendor/sass/test/sass/results/import.css +0 -31
  133. data/vendor/sass/test/sass/results/line_numbers.css +0 -49
  134. data/vendor/sass/test/sass/results/mixins.css +0 -95
  135. data/vendor/sass/test/sass/results/multiline.css +0 -24
  136. data/vendor/sass/test/sass/results/nested.css +0 -22
  137. data/vendor/sass/test/sass/results/options.css +0 -1
  138. data/vendor/sass/test/sass/results/parent_ref.css +0 -13
  139. data/vendor/sass/test/sass/results/script.css +0 -16
  140. data/vendor/sass/test/sass/results/scss_import.css +0 -31
  141. data/vendor/sass/test/sass/results/scss_importee.css +0 -2
  142. data/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  143. data/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
  144. data/vendor/sass/test/sass/results/units.css +0 -11
  145. data/vendor/sass/test/sass/results/warn.css +0 -0
  146. data/vendor/sass/test/sass/results/warn_imported.css +0 -0
  147. data/vendor/sass/test/sass/script_conversion_test.rb +0 -254
  148. data/vendor/sass/test/sass/script_test.rb +0 -470
  149. data/vendor/sass/test/sass/scss/css_test.rb +0 -897
  150. data/vendor/sass/test/sass/scss/rx_test.rb +0 -156
  151. data/vendor/sass/test/sass/scss/scss_test.rb +0 -1088
  152. data/vendor/sass/test/sass/scss/test_helper.rb +0 -37
  153. data/vendor/sass/test/sass/templates/_partial.sass +0 -2
  154. data/vendor/sass/test/sass/templates/alt.sass +0 -16
  155. data/vendor/sass/test/sass/templates/basic.sass +0 -23
  156. data/vendor/sass/test/sass/templates/bork1.sass +0 -2
  157. data/vendor/sass/test/sass/templates/bork2.sass +0 -2
  158. data/vendor/sass/test/sass/templates/bork3.sass +0 -2
  159. data/vendor/sass/test/sass/templates/bork4.sass +0 -2
  160. data/vendor/sass/test/sass/templates/compact.sass +0 -17
  161. data/vendor/sass/test/sass/templates/complex.sass +0 -305
  162. data/vendor/sass/test/sass/templates/compressed.sass +0 -15
  163. data/vendor/sass/test/sass/templates/expanded.sass +0 -17
  164. data/vendor/sass/test/sass/templates/import.sass +0 -12
  165. data/vendor/sass/test/sass/templates/importee.less +0 -2
  166. data/vendor/sass/test/sass/templates/importee.sass +0 -19
  167. data/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
  168. data/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
  169. data/vendor/sass/test/sass/templates/mixins.sass +0 -76
  170. data/vendor/sass/test/sass/templates/multiline.sass +0 -20
  171. data/vendor/sass/test/sass/templates/nested.sass +0 -25
  172. data/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
  173. data/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
  174. data/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
  175. data/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
  176. data/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
  177. data/vendor/sass/test/sass/templates/options.sass +0 -2
  178. data/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
  179. data/vendor/sass/test/sass/templates/script.sass +0 -101
  180. data/vendor/sass/test/sass/templates/scss_import.scss +0 -11
  181. data/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
  182. data/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  183. data/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  184. data/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
  185. data/vendor/sass/test/sass/templates/units.sass +0 -11
  186. data/vendor/sass/test/sass/templates/warn.sass +0 -3
  187. data/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
  188. data/vendor/sass/test/sass/test_helper.rb +0 -8
  189. data/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
  190. data/vendor/sass/test/sass/util_test.rb +0 -275
  191. data/vendor/sass/test/test_helper.rb +0 -64
  192. data/vendor/sass/yard/callbacks.rb +0 -29
  193. data/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
  194. data/vendor/sass/yard/default/layout/html/footer.erb +0 -12
  195. data/vendor/sass/yard/inherited_hash.rb +0 -41
data/Rakefile CHANGED
@@ -87,7 +87,7 @@ task :install => [:package] do
87
87
  end
88
88
 
89
89
  desc "Release a new Haml package to Rubyforge."
90
- task :release => [:check_release, :release_elpa, :package] do
90
+ task :release => [:check_release, :package] do
91
91
  name = File.read(scope("VERSION_NAME")).strip
92
92
  version = File.read(scope("VERSION")).strip
93
93
  sh %{rubyforge add_release haml haml "#{name} (v#{version})" pkg/haml-#{version}.gem}
@@ -95,46 +95,6 @@ task :release => [:check_release, :release_elpa, :package] do
95
95
  sh %{gem push pkg/haml-#{version}.gem}
96
96
  end
97
97
 
98
- # Releases haml-mode.el and sass-mode.el to ELPA.
99
- task :release_elpa do
100
- require 'tlsmail'
101
- require 'time'
102
- require scope('lib/haml')
103
-
104
- next if Haml.version[:prerelease]
105
- version = Haml.version[:number]
106
-
107
- haml_unchanged = mode_unchanged?(:haml, version)
108
- sass_unchanged = mode_unchanged?(:sass, version)
109
- next if haml_unchanged && sass_unchanged
110
- raise "haml-mode.el and sass-mode.el are out of sync." if (!!haml_unchanged) ^ (!!sass_unchanged)
111
-
112
- if sass_unchanged && File.read(scope("extra/sass-mode.el")).
113
- include?(";; Package-Requires: ((haml-mode #{sass_unchanged.inspect}))")
114
- raise "sass-mode.el doesn't require the same version of haml-mode."
115
- end
116
-
117
- from = `git config user.email`.strip
118
- raise "Don't know how to send emails except via Gmail" unless from =~ /@gmail.com$/
119
-
120
- to = "elpa@tromey.com"
121
- Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
122
- Net::SMTP.start('smtp.gmail.com', 587, 'gmail.com', from, read_password("GMail Password"), :login) do |smtp|
123
- smtp.send_message(<<CONTENT, from, to)
124
- From: Nathan Weizenbaum <#{from}>
125
- To: #{to}
126
- Subject: Submitting haml-mode and sass-mode #{version}
127
- Date: #{Time.now.rfc2822}
128
-
129
- haml-mode and sass-mode #{version} are packaged and ready to be included in ELPA.
130
- They can be downloaded from:
131
-
132
- http://github.com/nex3/haml/raw/#{Haml.version[:rev]}/extra/haml-mode.el
133
- http://github.com/nex3/haml/raw/#{Haml.version[:rev]}/extra/sass-mode.el
134
- CONTENT
135
- end
136
- end
137
-
138
98
  # Ensures that the version have been updated for a new release.
139
99
  task :check_release do
140
100
  version = File.read(scope("VERSION")).strip
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.0.21
1
+ 3.0.22
@@ -336,12 +336,14 @@ END
336
336
  end
337
337
  end
338
338
 
339
- @precompiled <<
340
- if @options[:ugly]
341
- "_hamlout.buffer << \"#{str}\";"
342
- else
343
- "_hamlout.push_text(\"#{str}\", #{mtabs}, #{@dont_tab_up_next_text.inspect});"
344
- end
339
+ unless str.empty?
340
+ @precompiled <<
341
+ if @options[:ugly]
342
+ "_hamlout.buffer << \"#{str}\";"
343
+ else
344
+ "_hamlout.push_text(\"#{str}\", #{mtabs}, #{@dont_tab_up_next_text.inspect});"
345
+ end
346
+ end
345
347
  @precompiled << "\n" * newlines
346
348
  @to_merge = []
347
349
  @dont_tab_up_next_text = false
@@ -2,12 +2,17 @@
2
2
  # using the > 2.0.1 template handler API.
3
3
 
4
4
  module Haml
5
- class Plugin < Haml::Util.av_template_class(:Handler)
6
- if (defined?(ActionView::TemplateHandlers) &&
7
- defined?(ActionView::TemplateHandlers::Compilable)) ||
8
- (defined?(ActionView::Template) &&
9
- defined?(ActionView::Template::Handlers) &&
10
- defined?(ActionView::Template::Handlers::Compilable))
5
+ # In Rails 3.1+, template handlers don't inherit from anything. In <= 3.0, they do.
6
+ # To avoid messy logic figuring this out, we just inherit from whatever the ERB handler does.
7
+ class Plugin < Haml::Util.av_template_class(:Handlers)::ERB.superclass
8
+ if ((defined?(ActionView::TemplateHandlers) &&
9
+ defined?(ActionView::TemplateHandlers::Compilable)) ||
10
+ (defined?(ActionView::Template) &&
11
+ defined?(ActionView::Template::Handlers) &&
12
+ defined?(ActionView::Template::Handlers::Compilable))) &&
13
+ # In Rails 3.1+, we don't need to include Compilable.
14
+ Haml::Util.av_template_class(:Handlers)::ERB.include?(
15
+ Haml::Util.av_template_class(:Handlers)::Compilable)
11
16
  include Haml::Util.av_template_class(:Handlers)::Compilable
12
17
  end
13
18
 
@@ -29,6 +34,11 @@ module Haml
29
34
  Haml::Engine.new(source, options).send(:precompiled_with_ambles, [])
30
35
  end
31
36
 
37
+ # In Rails 3.1+, #call takes the place of #compile
38
+ def self.call(template)
39
+ new.compile(template)
40
+ end
41
+
32
42
  def cache_fragment(block, name = {}, options = nil)
33
43
  @view.fragment_for(block, name, options) do
34
44
  eval("_hamlout.buffer", block.binding)
@@ -246,24 +246,43 @@ WARNING
246
246
  private
247
247
 
248
248
  LESS_TO_SASS_OPERATORS = {"-" => :minus, "+" => :plus, "*" => :times, "/" => :div, "=" => :single_eq}
249
+
249
250
  def _to_sass_tree(arr)
250
- return Sass::Script::UnaryOperation.new(_to_sass_tree(arr[1..-1]), :minus) if arr[0] == "-"
251
- _to_sass_tree2(*_sass_split(arr))
251
+ e, rest = _to_sass_tree_plus_minus_eq(arr)
252
+ until rest.empty?
253
+ e2, rest = _to_sass_tree_plus_minus_eq(rest)
254
+ e = Sass::Script::Operation.new(e, e2, :concat)
255
+ end
256
+ return e
252
257
  end
253
258
 
254
- def _to_sass_tree2(first, rest)
255
- return first if rest.empty?
256
- if rest[0].is_a?(Operator)
259
+ def _to_sass_tree_plus_minus_eq(arr)
260
+ e, rest = _to_sass_tree_times_div(arr)
261
+ while rest[0] && rest[0].is_a?(Operator) && %w[+ - =].include?(rest[0])
257
262
  op = LESS_TO_SASS_OPERATORS[rest[0]]
258
- if op == :times || op == :div
259
- second, rest = _sass_split(rest[1..-1])
260
- return _to_sass_tree2(Sass::Script::Operation.new(first, second, op), rest)
261
- else
262
- return Sass::Script::Operation.new(first, _to_sass_tree(rest[1..-1]), op)
263
- end
263
+ e2, rest = _to_sass_tree_times_div(rest[1..-1])
264
+ e = Sass::Script::Operation.new(e, e2, op)
264
265
  end
266
+ return e, rest
267
+ end
265
268
 
266
- Sass::Script::Operation.new(first, _to_sass_tree(rest), :concat)
269
+ def _to_sass_tree_times_div(arr)
270
+ e, rest = _to_sass_tree_unary(arr)
271
+ while rest[0] && rest[0].is_a?(Operator) && %w[* /].include?(rest[0])
272
+ op = LESS_TO_SASS_OPERATORS[rest[0]]
273
+ e2, rest = _to_sass_tree_unary(rest[1..-1])
274
+ e = Sass::Script::Operation.new(e, e2, op)
275
+ end
276
+ return e, rest
277
+ end
278
+
279
+ def _to_sass_tree_unary(arr)
280
+ if arr[0] == "-"
281
+ first, rest = _sass_split(arr[1..-1])
282
+ return Sass::Script::UnaryOperation.new(first, :minus), rest
283
+ else
284
+ return _sass_split(arr[0..-1])
285
+ end
267
286
  end
268
287
 
269
288
  def _sass_split(arr)
@@ -1,4 +1,5 @@
1
- require File.join(File.dirname(__FILE__), 'functions')
1
+ require 'sass/script/functions'
2
+
2
3
  module Sass
3
4
  module Script
4
5
  # A SassScript parse node representing a function call.
@@ -36,8 +36,8 @@ module Sass::Script
36
36
  # @see Node#to_sass
37
37
  def to_sass(opts = {})
38
38
  pred = Sass::Script::Parser.precedence_of(@operator)
39
- o1 = operand_to_sass pred, @operand1, opts
40
- o2 = operand_to_sass pred, @operand2, opts
39
+ o1 = operand_to_sass @operand1, :left, opts
40
+ o2 = operand_to_sass @operand2, :right, opts
41
41
  sep =
42
42
  case @operator
43
43
  when :comma; ", "
@@ -81,9 +81,14 @@ module Sass::Script
81
81
 
82
82
  private
83
83
 
84
- def operand_to_sass(pred, op, opts = {})
85
- return "(#{op.to_sass(opts)})" if op.is_a?(Operation) &&
86
- Sass::Script::Parser.precedence_of(op.operator) < pred
84
+ def operand_to_sass(op, side, opts)
85
+ return op.to_sass(opts) unless op.is_a?(Operation)
86
+
87
+ pred = Sass::Script::Parser.precedence_of(@operator)
88
+ sub_pred = Sass::Script::Parser.precedence_of(op.operator)
89
+ assoc = Sass::Script::Parser.associative?(@operator)
90
+ return "(#{op.to_sass(opts)})" if sub_pred < pred ||
91
+ (side == :right && sub_pred == pred && !assoc)
87
92
  op.to_sass(opts)
88
93
  end
89
94
  end
@@ -128,6 +128,8 @@ module Sass
128
128
  [:times, :div, :mod],
129
129
  ]
130
130
 
131
+ ASSOCIATIVE = [:comma, :concat, :plus, :times]
132
+
131
133
  class << self
132
134
  # Returns an integer representing the precedence
133
135
  # of the given operator.
@@ -141,6 +143,13 @@ module Sass
141
143
  raise "[BUG] Unknown operator #{op}"
142
144
  end
143
145
 
146
+ # Returns whether or not the given operation is associative.
147
+ #
148
+ # @private
149
+ def associative?(op)
150
+ ASSOCIATIVE.include?(op)
151
+ end
152
+
144
153
  private
145
154
 
146
155
  # Defines a simple left-associative production.
@@ -86,6 +86,7 @@ MESSAGE
86
86
  "foo\n:plain\n 1\n 2\n 3\#{''}\n4\n- raise 'foo'" => ["foo", 7],
87
87
  "foo\n:plain\n 1\n 2\n \#{raise 'foo'}" => ["foo", 5],
88
88
  "= raise 'foo'\nfoo\nbar\nbaz\nbang" => ["foo", 1],
89
+ "- case 1\n\n- when 1\n - raise 'foo'" => ["foo", 4],
89
90
  }
90
91
 
91
92
  User = Struct.new('User', :id)
@@ -774,6 +775,30 @@ HTML
774
775
  HAML
775
776
  end
776
777
 
778
+ def test_case_with_newline_after_case
779
+ assert_equal(<<HTML, render(<<HAML))
780
+ foo
781
+ HTML
782
+ - case 1
783
+
784
+ - when 1
785
+ foo
786
+ - when 2
787
+ bar
788
+ HAML
789
+
790
+ assert_equal(<<HTML, render(<<HAML))
791
+ bar
792
+ HTML
793
+ - case 2
794
+
795
+ - when 1
796
+ foo
797
+ - when 2
798
+ bar
799
+ HAML
800
+ end
801
+
777
802
  def test_escape_html_with_interpolated_if_statement
778
803
  assert_equal(<<HTML, render(<<HAML, :escape_html => true))
779
804
  foo,
@@ -326,7 +326,14 @@ foo {
326
326
  d: 1 + 2 - 3 + 4;
327
327
  e: 1 / 2 - 3 / 4;
328
328
  f: 1 - 2 / 3 - 4;
329
- g: 1 / 2 * 3 / 4; }
329
+ g: 1 / 2 * 3 / 4;
330
+ h: (1 + 2) * (3 + 4);
331
+ i: 1 * (2 + 3) * 4;
332
+ j: 1 - (2 + 2) - 4;
333
+ k: 1 + 2 - (3 + 4);
334
+ l: 1 / (2 - 3) / 4;
335
+ m: (1 - 2) / (3 - 4);
336
+ n: 1 / (2 * 3) / 4; }
330
337
  SCSS
331
338
  foo {
332
339
  a: 1 + 2 * 3 + 4;
@@ -335,7 +342,14 @@ foo {
335
342
  d: 1 + 2 - 3 + 4;
336
343
  e: 1 / 2 - 3 / 4;
337
344
  f: 1 - 2 / 3 - 4;
338
- g: 1 / 2 * 3 / 4; }
345
+ g: 1 / 2 * 3 / 4;
346
+ h: (1 + 2) * (3 + 4);
347
+ i: 1 * (2 + 3) * 4;
348
+ j: 1 - (2 + 2) - 4;
349
+ k: 1 + 2 - (3 + 4);
350
+ l: 1 / (2 - 3) / 4;
351
+ m: (1 - 2) / (3 - 4);
352
+ n: 1 / (2 * 3) / 4; }
339
353
  LESS
340
354
  end
341
355
 
@@ -628,5 +642,12 @@ LESS
628
642
  end
629
643
 
630
644
  rescue LoadError => e
631
- puts "\nCouldn't require less, skipping some tests."
645
+ unless defined?(Gem)
646
+ begin
647
+ require 'rubygems'
648
+ retry
649
+ rescue Exception
650
+ end
651
+ end
652
+ puts "\nCouldn't require less, skipping some tests."
632
653
  end
@@ -118,6 +118,52 @@ WARN
118
118
  RUBY
119
119
  end
120
120
 
121
+ def self.assert_associative(op_name, sibling_name)
122
+ op = separator_for(op_name)
123
+ sibling = separator_for(sibling_name)
124
+ class_eval <<RUBY
125
+ def test_associative_#{op_name}_#{sibling_name}
126
+ assert_renders "$foo#{op}$bar#{op}$baz"
127
+
128
+ assert_equal "$foo#{op}$bar#{op}$baz",
129
+ render("$foo#{op}($bar#{op}$baz)")
130
+ assert_equal "$foo#{op}$bar#{op}$baz",
131
+ render("($foo#{op}$bar)#{op}$baz")
132
+
133
+ assert_equal "$foo#{op}$bar#{sibling}$baz",
134
+ render("$foo#{op}($bar#{sibling}$baz)")
135
+ assert_equal "$foo#{sibling}$bar#{op}$baz",
136
+ render("($foo#{sibling}$bar)#{op}$baz")
137
+ end
138
+ RUBY
139
+ end
140
+
141
+ def self.separator_for(op_name)
142
+ case op_name
143
+ when :comma; ", "
144
+ when :concat; " "
145
+ else; " #{Sass::Script::Lexer::OPERATORS_REVERSE[op_name]} "
146
+ end
147
+ end
148
+
149
+ def self.assert_non_associative(op_name, sibling_name)
150
+ op = Sass::Script::Lexer::OPERATORS_REVERSE[op_name]
151
+ sibling = Sass::Script::Lexer::OPERATORS_REVERSE[sibling_name]
152
+ class_eval <<RUBY
153
+ def test_non_associative_#{op_name}_#{sibling_name}
154
+ assert_renders "$foo #{op} $bar #{op} $baz"
155
+
156
+ assert_renders "$foo #{op} ($bar #{op} $baz)"
157
+ assert_equal "$foo #{op} $bar #{op} $baz",
158
+ render("($foo #{op} $bar) #{op} $baz")
159
+
160
+ assert_renders "$foo #{op} ($bar #{sibling} $baz)"
161
+ assert_equal "$foo #{sibling} $bar #{op} $baz",
162
+ render("($foo #{sibling} $bar) #{op} $baz")
163
+ end
164
+ RUBY
165
+ end
166
+
121
167
  test_precedence :or, :and
122
168
  test_precedence :and, :eq
123
169
  test_precedence :and, :neq
@@ -131,6 +177,20 @@ RUBY
131
177
  test_precedence :plus, :div
132
178
  test_precedence :plus, :mod
133
179
 
180
+ assert_associative :comma, :concat
181
+ assert_associative :concat, :or
182
+ assert_associative :plus, :minus
183
+ assert_associative :times, :div
184
+ assert_associative :times, :mod
185
+
186
+ assert_non_associative :minus, :plus
187
+ assert_non_associative :div, :times
188
+ assert_non_associative :mod, :times
189
+ assert_non_associative :gt, :gte
190
+ assert_non_associative :gte, :lt
191
+ assert_non_associative :lt, :lte
192
+ assert_non_associative :lte, :gt
193
+
134
194
  def test_unary_op
135
195
  assert_renders "-12px"
136
196
  assert_renders '/"foo"'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haml
3
3
  version: !ruby/object:Gem::Version
4
- hash: 45
4
+ hash: 43
5
5
  prerelease: false
6
6
  segments:
7
7
  - 3
8
8
  - 0
9
- - 21
10
- version: 3.0.21
9
+ - 22
10
+ version: 3.0.22
11
11
  platform: ruby
12
12
  authors:
13
13
  - Nathan Weizenbaum
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-09-29 00:00:00 -07:00
20
+ date: 2010-10-19 00:00:00 -07:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -66,471 +66,288 @@ extra_rdoc_files: []
66
66
 
67
67
  files:
68
68
  - rails/init.rb
69
- - lib/sass.rb
70
- - lib/haml.rb
71
- - lib/haml/helpers/action_view_mods.rb
72
- - lib/haml/helpers/action_view_extensions.rb
73
- - lib/haml/helpers/xss_mods.rb
74
- - lib/haml/version.rb
75
- - lib/haml/shared.rb
76
- - lib/haml/buffer.rb
77
- - lib/haml/error.rb
78
- - lib/haml/precompiler.rb
79
- - lib/haml/engine.rb
80
- - lib/haml/root.rb
81
- - lib/haml/util/subset_map.rb
82
- - lib/haml/filters.rb
83
- - lib/haml/template/options.rb
84
- - lib/haml/template/plugin.rb
85
- - lib/haml/template/patch.rb
86
- - lib/haml/html/erb.rb
87
- - lib/haml/util.rb
88
- - lib/haml/helpers.rb
89
- - lib/haml/template.rb
90
- - lib/haml/railtie.rb
91
- - lib/haml/html.rb
92
- - lib/haml/exec.rb
93
- - lib/sass/plugin/merb.rb
94
- - lib/sass/plugin/staleness_checker.rb
69
+ - lib/sass/error.rb
70
+ - lib/sass/files.rb
71
+ - lib/sass/environment.rb
95
72
  - lib/sass/plugin/rack.rb
96
- - lib/sass/plugin/rails.rb
73
+ - lib/sass/plugin/staleness_checker.rb
97
74
  - lib/sass/plugin/configuration.rb
75
+ - lib/sass/plugin/merb.rb
76
+ - lib/sass/plugin/rails.rb
98
77
  - lib/sass/plugin/generic.rb
99
- - lib/sass/repl.rb
100
- - lib/sass/error.rb
101
- - lib/sass/tree/import_node.rb
78
+ - lib/sass/callbacks.rb
79
+ - lib/sass/script/string.rb
80
+ - lib/sass/script/node.rb
81
+ - lib/sass/script/lexer.rb
82
+ - lib/sass/script/string_interpolation.rb
83
+ - lib/sass/script/css_parser.rb
84
+ - lib/sass/script/variable.rb
85
+ - lib/sass/script/literal.rb
86
+ - lib/sass/script/bool.rb
87
+ - lib/sass/script/number.rb
88
+ - lib/sass/script/unary_operation.rb
89
+ - lib/sass/script/css_lexer.rb
90
+ - lib/sass/script/operation.rb
91
+ - lib/sass/script/parser.rb
92
+ - lib/sass/script/funcall.rb
93
+ - lib/sass/script/color.rb
94
+ - lib/sass/script/interpolation.rb
95
+ - lib/sass/script/functions.rb
102
96
  - lib/sass/tree/root_node.rb
103
- - lib/sass/tree/if_node.rb
104
- - lib/sass/tree/while_node.rb
105
- - lib/sass/tree/for_node.rb
106
- - lib/sass/tree/directive_node.rb
107
- - lib/sass/tree/rule_node.rb
108
97
  - lib/sass/tree/node.rb
109
- - lib/sass/tree/mixin_node.rb
98
+ - lib/sass/tree/if_node.rb
110
99
  - lib/sass/tree/extend_node.rb
100
+ - lib/sass/tree/rule_node.rb
111
101
  - lib/sass/tree/mixin_def_node.rb
112
- - lib/sass/tree/comment_node.rb
113
- - lib/sass/tree/warn_node.rb
114
- - lib/sass/tree/debug_node.rb
102
+ - lib/sass/tree/mixin_node.rb
115
103
  - lib/sass/tree/prop_node.rb
104
+ - lib/sass/tree/warn_node.rb
105
+ - lib/sass/tree/directive_node.rb
106
+ - lib/sass/tree/comment_node.rb
116
107
  - lib/sass/tree/variable_node.rb
117
- - lib/sass/engine.rb
118
- - lib/sass/plugin.rb
119
- - lib/sass/scss.rb
120
- - lib/sass/scss/static_parser.rb
121
- - lib/sass/scss/parser.rb
108
+ - lib/sass/tree/debug_node.rb
109
+ - lib/sass/tree/import_node.rb
110
+ - lib/sass/tree/while_node.rb
111
+ - lib/sass/tree/for_node.rb
122
112
  - lib/sass/scss/sass_parser.rb
123
- - lib/sass/scss/script_lexer.rb
124
- - lib/sass/scss/rx.rb
125
113
  - lib/sass/scss/script_parser.rb
126
114
  - lib/sass/scss/css_parser.rb
127
- - lib/sass/files.rb
128
- - lib/sass/css.rb
129
- - lib/sass/script.rb
130
- - lib/sass/script/color.rb
131
- - lib/sass/script/variable.rb
132
- - lib/sass/script/operation.rb
133
- - lib/sass/script/funcall.rb
134
- - lib/sass/script/literal.rb
135
- - lib/sass/script/parser.rb
136
- - lib/sass/script/functions.rb
137
- - lib/sass/script/number.rb
138
- - lib/sass/script/string_interpolation.rb
139
- - lib/sass/script/interpolation.rb
140
- - lib/sass/script/node.rb
141
- - lib/sass/script/bool.rb
142
- - lib/sass/script/unary_operation.rb
143
- - lib/sass/script/lexer.rb
144
- - lib/sass/script/css_lexer.rb
145
- - lib/sass/script/string.rb
146
- - lib/sass/script/css_parser.rb
147
- - lib/sass/selector.rb
115
+ - lib/sass/scss/script_lexer.rb
116
+ - lib/sass/scss/rx.rb
117
+ - lib/sass/scss/parser.rb
118
+ - lib/sass/scss/static_parser.rb
148
119
  - lib/sass/less.rb
149
- - lib/sass/callbacks.rb
120
+ - lib/sass/selector/simple_sequence.rb
150
121
  - lib/sass/selector/simple.rb
151
122
  - lib/sass/selector/sequence.rb
152
123
  - lib/sass/selector/abstract_sequence.rb
153
124
  - lib/sass/selector/comma_sequence.rb
154
- - lib/sass/selector/simple_sequence.rb
155
- - lib/sass/environment.rb
156
- - vendor/fssm/README.markdown
157
- - vendor/fssm/example.rb
125
+ - lib/sass/css.rb
126
+ - lib/sass/selector.rb
127
+ - lib/sass/engine.rb
128
+ - lib/sass/plugin.rb
129
+ - lib/sass/repl.rb
130
+ - lib/sass/scss.rb
131
+ - lib/sass/script.rb
132
+ - lib/haml/util/subset_map.rb
133
+ - lib/haml/helpers.rb
134
+ - lib/haml/html.rb
135
+ - lib/haml/shared.rb
136
+ - lib/haml/error.rb
137
+ - lib/haml/html/erb.rb
138
+ - lib/haml/helpers/xss_mods.rb
139
+ - lib/haml/helpers/action_view_extensions.rb
140
+ - lib/haml/helpers/action_view_mods.rb
141
+ - lib/haml/railtie.rb
142
+ - lib/haml/template/patch.rb
143
+ - lib/haml/template/options.rb
144
+ - lib/haml/template/plugin.rb
145
+ - lib/haml/version.rb
146
+ - lib/haml/root.rb
147
+ - lib/haml/engine.rb
148
+ - lib/haml/precompiler.rb
149
+ - lib/haml/buffer.rb
150
+ - lib/haml/filters.rb
151
+ - lib/haml/template.rb
152
+ - lib/haml/exec.rb
153
+ - lib/haml/util.rb
154
+ - lib/sass.rb
155
+ - lib/haml.rb
156
+ - vendor/fssm/lib/fssm.rb
157
+ - vendor/fssm/lib/fssm/path.rb
158
+ - vendor/fssm/lib/fssm/tree.rb
159
+ - vendor/fssm/lib/fssm/monitor.rb
160
+ - vendor/fssm/lib/fssm/support.rb
158
161
  - vendor/fssm/lib/fssm/pathname.rb
159
162
  - vendor/fssm/lib/fssm/state/file.rb
160
163
  - vendor/fssm/lib/fssm/state/directory.rb
161
- - vendor/fssm/lib/fssm/monitor.rb
162
- - vendor/fssm/lib/fssm/tree.rb
163
- - vendor/fssm/lib/fssm/support.rb
164
- - vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb
164
+ - vendor/fssm/lib/fssm/backends/fsevents.rb
165
165
  - vendor/fssm/lib/fssm/backends/polling.rb
166
166
  - vendor/fssm/lib/fssm/backends/inotify.rb
167
- - vendor/fssm/lib/fssm/backends/fsevents.rb
168
- - vendor/fssm/lib/fssm/path.rb
169
- - vendor/fssm/lib/fssm.rb
170
- - vendor/fssm/profile/prof-plain-pathname.html
167
+ - vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb
168
+ - vendor/fssm/example.rb
169
+ - vendor/fssm/LICENSE
170
+ - vendor/fssm/README.markdown
171
+ - vendor/fssm/Rakefile
172
+ - vendor/fssm/profile/prof-fssm-pathname.html
171
173
  - vendor/fssm/profile/prof-pathname.rb
172
- - vendor/fssm/profile/prof.html
174
+ - vendor/fssm/profile/prof-plain-pathname.html
173
175
  - vendor/fssm/profile/prof-cache.rb
174
- - vendor/fssm/profile/prof-fssm-pathname.html
176
+ - vendor/fssm/profile/prof.html
175
177
  - vendor/fssm/fssm.gemspec
176
- - vendor/fssm/Rakefile
177
178
  - vendor/fssm/VERSION.yml
178
- - vendor/fssm/LICENSE
179
+ - vendor/fssm/spec/spec_helper.rb
179
180
  - vendor/fssm/spec/path_spec.rb
181
+ - vendor/fssm/spec/root/duck/quack.txt
180
182
  - vendor/fssm/spec/root/moo/cow.txt
181
- - vendor/fssm/spec/root/file.yml
182
- - vendor/fssm/spec/root/file.css
183
183
  - vendor/fssm/spec/root/file.rb
184
- - vendor/fssm/spec/root/duck/quack.txt
185
- - vendor/fssm/spec/spec_helper.rb
186
- - vendor/sass/ext/extconf.rb
187
- - vendor/sass/yard/default/fulldoc/html/css/common.sass
188
- - vendor/sass/yard/default/layout/html/footer.erb
189
- - vendor/sass/yard/callbacks.rb
190
- - vendor/sass/yard/inherited_hash.rb
191
- - vendor/sass/README.md
192
- - vendor/sass/VERSION_NAME
193
- - vendor/sass/lib/sass.rb
194
- - vendor/sass/lib/sass/plugin/compiler.rb
195
- - vendor/sass/lib/sass/plugin/merb.rb
196
- - vendor/sass/lib/sass/plugin/staleness_checker.rb
197
- - vendor/sass/lib/sass/plugin/rack.rb
198
- - vendor/sass/lib/sass/plugin/rails.rb
199
- - vendor/sass/lib/sass/plugin/configuration.rb
200
- - vendor/sass/lib/sass/plugin/generic.rb
201
- - vendor/sass/lib/sass/version.rb
202
- - vendor/sass/lib/sass/shared.rb
203
- - vendor/sass/lib/sass/repl.rb
204
- - vendor/sass/lib/sass/error.rb
205
- - vendor/sass/lib/sass/tree/import_node.rb
206
- - vendor/sass/lib/sass/tree/root_node.rb
207
- - vendor/sass/lib/sass/tree/if_node.rb
208
- - vendor/sass/lib/sass/tree/while_node.rb
209
- - vendor/sass/lib/sass/tree/for_node.rb
210
- - vendor/sass/lib/sass/tree/directive_node.rb
211
- - vendor/sass/lib/sass/tree/rule_node.rb
212
- - vendor/sass/lib/sass/tree/node.rb
213
- - vendor/sass/lib/sass/tree/mixin_node.rb
214
- - vendor/sass/lib/sass/tree/extend_node.rb
215
- - vendor/sass/lib/sass/tree/mixin_def_node.rb
216
- - vendor/sass/lib/sass/tree/comment_node.rb
217
- - vendor/sass/lib/sass/tree/warn_node.rb
218
- - vendor/sass/lib/sass/tree/debug_node.rb
219
- - vendor/sass/lib/sass/tree/prop_node.rb
220
- - vendor/sass/lib/sass/tree/variable_node.rb
221
- - vendor/sass/lib/sass/engine.rb
222
- - vendor/sass/lib/sass/plugin.rb
223
- - vendor/sass/lib/sass/root.rb
224
- - vendor/sass/lib/sass/importers.rb
225
- - vendor/sass/lib/sass/cache_store.rb
226
- - vendor/sass/lib/sass/util/subset_map.rb
227
- - vendor/sass/lib/sass/scss.rb
228
- - vendor/sass/lib/sass/scss/static_parser.rb
229
- - vendor/sass/lib/sass/scss/parser.rb
230
- - vendor/sass/lib/sass/scss/sass_parser.rb
231
- - vendor/sass/lib/sass/scss/script_lexer.rb
232
- - vendor/sass/lib/sass/scss/rx.rb
233
- - vendor/sass/lib/sass/scss/script_parser.rb
234
- - vendor/sass/lib/sass/scss/css_parser.rb
235
- - vendor/sass/lib/sass/css.rb
236
- - vendor/sass/lib/sass/script.rb
237
- - vendor/sass/lib/sass/util.rb
238
- - vendor/sass/lib/sass/importers/filesystem.rb
239
- - vendor/sass/lib/sass/importers/base.rb
240
- - vendor/sass/lib/sass/script/color.rb
241
- - vendor/sass/lib/sass/script/variable.rb
242
- - vendor/sass/lib/sass/script/operation.rb
243
- - vendor/sass/lib/sass/script/funcall.rb
244
- - vendor/sass/lib/sass/script/literal.rb
245
- - vendor/sass/lib/sass/script/parser.rb
246
- - vendor/sass/lib/sass/script/functions.rb
247
- - vendor/sass/lib/sass/script/number.rb
248
- - vendor/sass/lib/sass/script/string_interpolation.rb
249
- - vendor/sass/lib/sass/script/interpolation.rb
250
- - vendor/sass/lib/sass/script/node.rb
251
- - vendor/sass/lib/sass/script/bool.rb
252
- - vendor/sass/lib/sass/script/unary_operation.rb
253
- - vendor/sass/lib/sass/script/lexer.rb
254
- - vendor/sass/lib/sass/script/css_lexer.rb
255
- - vendor/sass/lib/sass/script/string.rb
256
- - vendor/sass/lib/sass/script/css_parser.rb
257
- - vendor/sass/lib/sass/selector.rb
258
- - vendor/sass/lib/sass/less.rb
259
- - vendor/sass/lib/sass/callbacks.rb
260
- - vendor/sass/lib/sass/selector/simple.rb
261
- - vendor/sass/lib/sass/selector/sequence.rb
262
- - vendor/sass/lib/sass/selector/abstract_sequence.rb
263
- - vendor/sass/lib/sass/selector/comma_sequence.rb
264
- - vendor/sass/lib/sass/selector/simple_sequence.rb
265
- - vendor/sass/lib/sass/railtie.rb
266
- - vendor/sass/lib/sass/environment.rb
267
- - vendor/sass/lib/sass/exec.rb
268
- - vendor/sass/TODO
269
- - vendor/sass/init.rb
270
- - vendor/sass/Rakefile
271
- - vendor/sass/MIT-LICENSE
272
- - vendor/sass/test/test_helper.rb
273
- - vendor/sass/test/sass/engine_test.rb
274
- - vendor/sass/test/sass/functions_test.rb
275
- - vendor/sass/test/sass/data/hsl-rgb.txt
276
- - vendor/sass/test/sass/extend_test.rb
277
- - vendor/sass/test/sass/css2sass_test.rb
278
- - vendor/sass/test/sass/templates/basic.sass
279
- - vendor/sass/test/sass/templates/mixins.sass
280
- - vendor/sass/test/sass/templates/options.sass
281
- - vendor/sass/test/sass/templates/scss_import.scss
282
- - vendor/sass/test/sass/templates/subdir/subdir.sass
283
- - vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass
284
- - vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass
285
- - vendor/sass/test/sass/templates/alt.sass
286
- - vendor/sass/test/sass/templates/nested_bork1.sass
287
- - vendor/sass/test/sass/templates/complex.sass
288
- - vendor/sass/test/sass/templates/units.sass
289
- - vendor/sass/test/sass/templates/importee.sass
290
- - vendor/sass/test/sass/templates/importee.less
291
- - vendor/sass/test/sass/templates/scss_importee.scss
292
- - vendor/sass/test/sass/templates/line_numbers.sass
293
- - vendor/sass/test/sass/templates/expanded.sass
294
- - vendor/sass/test/sass/templates/bork3.sass
295
- - vendor/sass/test/sass/templates/warn_imported.sass
296
- - vendor/sass/test/sass/templates/bork1.sass
297
- - vendor/sass/test/sass/templates/warn.sass
298
- - vendor/sass/test/sass/templates/bork2.sass
299
- - vendor/sass/test/sass/templates/nested.sass
300
- - vendor/sass/test/sass/templates/compact.sass
301
- - vendor/sass/test/sass/templates/multiline.sass
302
- - vendor/sass/test/sass/templates/parent_ref.sass
303
- - vendor/sass/test/sass/templates/import.sass
304
- - vendor/sass/test/sass/templates/nested_bork3.sass
305
- - vendor/sass/test/sass/templates/script.sass
306
- - vendor/sass/test/sass/templates/bork4.sass
307
- - vendor/sass/test/sass/templates/_partial.sass
308
- - vendor/sass/test/sass/templates/nested_mixin_bork.sass
309
- - vendor/sass/test/sass/templates/nested_bork2.sass
310
- - vendor/sass/test/sass/templates/mixin_bork.sass
311
- - vendor/sass/test/sass/templates/compressed.sass
312
- - vendor/sass/test/sass/templates/nested_bork4.sass
313
- - vendor/sass/test/sass/conversion_test.rb
314
- - vendor/sass/test/sass/script_test.rb
315
- - vendor/sass/test/sass/util/subset_map_test.rb
316
- - vendor/sass/test/sass/callbacks_test.rb
317
- - vendor/sass/test/sass/importer_test.rb
318
- - vendor/sass/test/sass/scss/css_test.rb
319
- - vendor/sass/test/sass/scss/scss_test.rb
320
- - vendor/sass/test/sass/scss/rx_test.rb
321
- - vendor/sass/test/sass/scss/test_helper.rb
322
- - vendor/sass/test/sass/util_test.rb
323
- - vendor/sass/test/sass/results/mixins.css
324
- - vendor/sass/test/sass/results/warn_imported.css
325
- - vendor/sass/test/sass/results/expanded.css
326
- - vendor/sass/test/sass/results/compact.css
327
- - vendor/sass/test/sass/results/compressed.css
328
- - vendor/sass/test/sass/results/scss_importee.css
329
- - vendor/sass/test/sass/results/basic.css
330
- - vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css
331
- - vendor/sass/test/sass/results/subdir/subdir.css
332
- - vendor/sass/test/sass/results/options.css
333
- - vendor/sass/test/sass/results/scss_import.css
334
- - vendor/sass/test/sass/results/units.css
335
- - vendor/sass/test/sass/results/parent_ref.css
336
- - vendor/sass/test/sass/results/script.css
337
- - vendor/sass/test/sass/results/complex.css
338
- - vendor/sass/test/sass/results/alt.css
339
- - vendor/sass/test/sass/results/multiline.css
340
- - vendor/sass/test/sass/results/warn.css
341
- - vendor/sass/test/sass/results/import.css
342
- - vendor/sass/test/sass/results/nested.css
343
- - vendor/sass/test/sass/results/line_numbers.css
344
- - vendor/sass/test/sass/test_helper.rb
345
- - vendor/sass/test/sass/more_templates/_more_partial.sass
346
- - vendor/sass/test/sass/more_templates/more_import.sass
347
- - vendor/sass/test/sass/more_templates/more1.sass
348
- - vendor/sass/test/sass/script_conversion_test.rb
349
- - vendor/sass/test/sass/less_conversion_test.rb
350
- - vendor/sass/test/sass/more_results/more1.css
351
- - vendor/sass/test/sass/more_results/more1_with_line_comments.css
352
- - vendor/sass/test/sass/more_results/more_import.css
353
- - vendor/sass/test/sass/mock_importer.rb
354
- - vendor/sass/test/sass/cache_test.rb
355
- - vendor/sass/test/sass/plugin_test.rb
356
- - vendor/sass/doc-src/INDENTED_SYNTAX.md
357
- - vendor/sass/doc-src/FAQ.md
358
- - vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md
359
- - vendor/sass/doc-src/SASS_REFERENCE.md
360
- - vendor/sass/doc-src/SASS_CHANGELOG.md
361
- - vendor/sass/bin/sass-convert
362
- - vendor/sass/bin/css2sass
363
- - vendor/sass/bin/sass
364
- - vendor/sass/VERSION
365
- - vendor/sass/CONTRIBUTING
366
- - vendor/sass/extra/update_watch.rb
367
- - vendor/sass/rails/init.rb
368
- - vendor/sass/sass.gemspec
184
+ - vendor/fssm/spec/root/file.css
185
+ - vendor/fssm/spec/root/file.yml
186
+ - bin/sass
187
+ - bin/haml
369
188
  - bin/sass-convert
370
189
  - bin/html2haml
371
- - bin/haml
372
190
  - bin/css2sass
373
- - bin/sass
374
- - test/linked_rails.rb
375
- - test/benchmark.rb
191
+ - test/sass/plugin_test.rb
192
+ - test/sass/templates/basic.sass
193
+ - test/sass/templates/line_numbers.sass
194
+ - test/sass/templates/nested_bork2.sass
195
+ - test/sass/templates/mixin_bork.sass
196
+ - test/sass/templates/importee.less
197
+ - test/sass/templates/warn.sass
198
+ - test/sass/templates/parent_ref.sass
199
+ - test/sass/templates/nested_bork3.sass
200
+ - test/sass/templates/script.sass
201
+ - test/sass/templates/import.sass
202
+ - test/sass/templates/scss_importee.scss
203
+ - test/sass/templates/bork1.sass
204
+ - test/sass/templates/compressed.sass
205
+ - test/sass/templates/importee.sass
206
+ - test/sass/templates/_partial.sass
207
+ - test/sass/templates/units.sass
208
+ - test/sass/templates/nested_bork1.sass
209
+ - test/sass/templates/bork3.sass
210
+ - test/sass/templates/nested_mixin_bork.sass
211
+ - test/sass/templates/complex.sass
212
+ - test/sass/templates/alt.sass
213
+ - test/sass/templates/scss_import.scss
214
+ - test/sass/templates/compact.sass
215
+ - test/sass/templates/nested.sass
216
+ - test/sass/templates/subdir/subdir.sass
217
+ - test/sass/templates/subdir/nested_subdir/_nested_partial.sass
218
+ - test/sass/templates/subdir/nested_subdir/nested_subdir.sass
219
+ - test/sass/templates/warn_imported.sass
220
+ - test/sass/templates/options.sass
221
+ - test/sass/templates/bork4.sass
222
+ - test/sass/templates/nested_bork4.sass
223
+ - test/sass/templates/multiline.sass
224
+ - test/sass/templates/expanded.sass
225
+ - test/sass/templates/mixins.sass
226
+ - test/sass/templates/bork2.sass
227
+ - test/sass/script_conversion_test.rb
228
+ - test/sass/functions_test.rb
229
+ - test/sass/less_conversion_test.rb
230
+ - test/sass/more_results/more1.css
231
+ - test/sass/more_results/more1_with_line_comments.css
232
+ - test/sass/more_results/more_import.css
233
+ - test/sass/data/hsl-rgb.txt
234
+ - test/sass/scss/test_helper.rb
235
+ - test/sass/scss/css_test.rb
236
+ - test/sass/scss/rx_test.rb
237
+ - test/sass/scss/scss_test.rb
238
+ - test/sass/script_test.rb
239
+ - test/sass/conversion_test.rb
240
+ - test/sass/more_templates/more1.sass
241
+ - test/sass/more_templates/_more_partial.sass
242
+ - test/sass/more_templates/more_import.sass
243
+ - test/sass/extend_test.rb
244
+ - test/sass/engine_test.rb
245
+ - test/sass/css2sass_test.rb
246
+ - test/sass/callbacks_test.rb
247
+ - test/sass/results/units.css
248
+ - test/sass/results/alt.css
249
+ - test/sass/results/scss_importee.css
250
+ - test/sass/results/line_numbers.css
251
+ - test/sass/results/expanded.css
252
+ - test/sass/results/warn.css
253
+ - test/sass/results/script.css
254
+ - test/sass/results/scss_import.css
255
+ - test/sass/results/nested.css
256
+ - test/sass/results/options.css
257
+ - test/sass/results/parent_ref.css
258
+ - test/sass/results/multiline.css
259
+ - test/sass/results/subdir/subdir.css
260
+ - test/sass/results/subdir/nested_subdir/nested_subdir.css
261
+ - test/sass/results/warn_imported.css
262
+ - test/sass/results/compact.css
263
+ - test/sass/results/mixins.css
264
+ - test/sass/results/complex.css
265
+ - test/sass/results/compressed.css
266
+ - test/sass/results/import.css
267
+ - test/sass/results/basic.css
376
268
  - test/test_helper.rb
377
- - test/haml/engine_test.rb
378
- - test/haml/html2haml_test.rb
379
- - test/haml/erb/_av_partial_1.erb
380
- - test/haml/erb/standard.erb
381
- - test/haml/erb/_av_partial_2.erb
382
- - test/haml/erb/action_view.erb
383
- - test/haml/templates/helpers.haml
384
- - test/haml/templates/nuke_outer_whitespace.haml
385
- - test/haml/templates/partialize.haml
386
- - test/haml/templates/whitespace_handling.haml
269
+ - test/haml/util/subset_map_test.rb
387
270
  - test/haml/templates/just_stuff.haml
388
- - test/haml/templates/list.haml
389
- - test/haml/templates/partials.haml
390
- - test/haml/templates/filters.haml
391
- - test/haml/templates/helpful.haml
392
- - test/haml/templates/standard_ugly.haml
393
- - test/haml/templates/_av_partial_1.haml
394
- - test/haml/templates/action_view_ugly.haml
271
+ - test/haml/templates/original_engine.haml
272
+ - test/haml/templates/helpers.haml
273
+ - test/haml/templates/_av_partial_2_ugly.haml
274
+ - test/haml/templates/content_for_layout.haml
395
275
  - test/haml/templates/action_view.haml
396
- - test/haml/templates/_partial.haml
276
+ - test/haml/templates/nuke_inner_whitespace.haml
277
+ - test/haml/templates/eval_suppressed.haml
397
278
  - test/haml/templates/_layout.erb
279
+ - test/haml/templates/_partial.haml
398
280
  - test/haml/templates/tag_parsing.haml
399
- - test/haml/templates/original_engine.haml
400
- - test/haml/templates/standard.haml
401
- - test/haml/templates/_text_area.haml
402
- - test/haml/templates/_av_partial_2_ugly.haml
403
- - test/haml/templates/very_basic.haml
404
281
  - test/haml/templates/silent_script.haml
405
- - test/haml/templates/content_for_layout.haml
282
+ - test/haml/templates/breakage.haml
283
+ - test/haml/templates/whitespace_handling.haml
284
+ - test/haml/templates/partial_layout.haml
406
285
  - test/haml/templates/_av_partial_2.haml
286
+ - test/haml/templates/very_basic.haml
287
+ - test/haml/templates/list.haml
288
+ - test/haml/templates/partialize.haml
289
+ - test/haml/templates/render_layout.haml
290
+ - test/haml/templates/action_view_ugly.haml
291
+ - test/haml/templates/_av_partial_1.haml
292
+ - test/haml/templates/partials.haml
407
293
  - test/haml/templates/_av_partial_1_ugly.haml
408
- - test/haml/templates/partial_layout.haml
409
- - test/haml/templates/nuke_inner_whitespace.haml
410
- - test/haml/templates/breakage.haml
294
+ - test/haml/templates/_text_area.haml
295
+ - test/haml/templates/filters.haml
296
+ - test/haml/templates/standard.haml
297
+ - test/haml/templates/nuke_outer_whitespace.haml
411
298
  - test/haml/templates/_layout_for_partial.haml
412
- - test/haml/templates/eval_suppressed.haml
413
- - test/haml/templates/render_layout.haml
414
- - test/haml/util/subset_map_test.rb
415
- - test/haml/markaby/standard.mab
299
+ - test/haml/templates/standard_ugly.haml
300
+ - test/haml/templates/helpful.haml
416
301
  - test/haml/template_test.rb
302
+ - test/haml/markaby/standard.mab
303
+ - test/haml/erb/_av_partial_1.erb
304
+ - test/haml/erb/_av_partial_2.erb
305
+ - test/haml/erb/standard.erb
306
+ - test/haml/erb/action_view.erb
307
+ - test/haml/html2haml_test.rb
308
+ - test/haml/spec_test.rb
309
+ - test/haml/helper_test.rb
417
310
  - test/haml/util_test.rb
311
+ - test/haml/mocks/article.rb
312
+ - test/haml/engine_test.rb
418
313
  - test/haml/html2haml/erb_tests.rb
314
+ - test/haml/spec/ruby_haml_test.rb
315
+ - test/haml/spec/tests.json
316
+ - test/haml/spec/lua_haml_spec.lua
317
+ - test/haml/spec/README.md
419
318
  - test/haml/results/partial_layout.xhtml
420
319
  - test/haml/results/original_engine.xhtml
421
- - test/haml/results/silent_script.xhtml
320
+ - test/haml/results/helpers.xhtml
422
321
  - test/haml/results/render_layout.xhtml
423
- - test/haml/results/just_stuff.xhtml
424
- - test/haml/results/partials.xhtml
425
- - test/haml/results/helpful.xhtml
426
- - test/haml/results/eval_suppressed.xhtml
322
+ - test/haml/results/tag_parsing.xhtml
427
323
  - test/haml/results/whitespace_handling.xhtml
428
- - test/haml/results/nuke_outer_whitespace.xhtml
429
324
  - test/haml/results/nuke_inner_whitespace.xhtml
325
+ - test/haml/results/filters.xhtml
430
326
  - test/haml/results/standard.xhtml
431
- - test/haml/results/tag_parsing.xhtml
432
- - test/haml/results/helpers.xhtml
327
+ - test/haml/results/helpful.xhtml
328
+ - test/haml/results/just_stuff.xhtml
329
+ - test/haml/results/list.xhtml
330
+ - test/haml/results/eval_suppressed.xhtml
433
331
  - test/haml/results/content_for_layout.xhtml
332
+ - test/haml/results/silent_script.xhtml
333
+ - test/haml/results/nuke_outer_whitespace.xhtml
334
+ - test/haml/results/partials.xhtml
434
335
  - test/haml/results/very_basic.xhtml
435
- - test/haml/results/filters.xhtml
436
- - test/haml/results/list.xhtml
437
- - test/haml/helper_test.rb
438
- - test/haml/spec_test.rb
439
- - test/haml/mocks/article.rb
440
- - test/haml/spec/ruby_haml_test.rb
441
- - test/haml/spec/README.md
442
- - test/haml/spec/tests.json
443
- - test/haml/spec/lua_haml_spec.lua
444
- - test/sass/engine_test.rb
445
- - test/sass/functions_test.rb
446
- - test/sass/data/hsl-rgb.txt
447
- - test/sass/extend_test.rb
448
- - test/sass/css2sass_test.rb
449
- - test/sass/templates/basic.sass
450
- - test/sass/templates/mixins.sass
451
- - test/sass/templates/options.sass
452
- - test/sass/templates/scss_import.scss
453
- - test/sass/templates/subdir/subdir.sass
454
- - test/sass/templates/subdir/nested_subdir/_nested_partial.sass
455
- - test/sass/templates/subdir/nested_subdir/nested_subdir.sass
456
- - test/sass/templates/alt.sass
457
- - test/sass/templates/nested_bork1.sass
458
- - test/sass/templates/complex.sass
459
- - test/sass/templates/units.sass
460
- - test/sass/templates/importee.sass
461
- - test/sass/templates/importee.less
462
- - test/sass/templates/scss_importee.scss
463
- - test/sass/templates/line_numbers.sass
464
- - test/sass/templates/expanded.sass
465
- - test/sass/templates/bork3.sass
466
- - test/sass/templates/warn_imported.sass
467
- - test/sass/templates/bork1.sass
468
- - test/sass/templates/warn.sass
469
- - test/sass/templates/bork2.sass
470
- - test/sass/templates/nested.sass
471
- - test/sass/templates/compact.sass
472
- - test/sass/templates/multiline.sass
473
- - test/sass/templates/parent_ref.sass
474
- - test/sass/templates/import.sass
475
- - test/sass/templates/nested_bork3.sass
476
- - test/sass/templates/script.sass
477
- - test/sass/templates/bork4.sass
478
- - test/sass/templates/_partial.sass
479
- - test/sass/templates/nested_mixin_bork.sass
480
- - test/sass/templates/nested_bork2.sass
481
- - test/sass/templates/mixin_bork.sass
482
- - test/sass/templates/compressed.sass
483
- - test/sass/templates/nested_bork4.sass
484
- - test/sass/conversion_test.rb
485
- - test/sass/script_test.rb
486
- - test/sass/callbacks_test.rb
487
- - test/sass/scss/css_test.rb
488
- - test/sass/scss/scss_test.rb
489
- - test/sass/scss/rx_test.rb
490
- - test/sass/scss/test_helper.rb
491
- - test/sass/results/mixins.css
492
- - test/sass/results/warn_imported.css
493
- - test/sass/results/expanded.css
494
- - test/sass/results/compact.css
495
- - test/sass/results/compressed.css
496
- - test/sass/results/scss_importee.css
497
- - test/sass/results/basic.css
498
- - test/sass/results/subdir/nested_subdir/nested_subdir.css
499
- - test/sass/results/subdir/subdir.css
500
- - test/sass/results/options.css
501
- - test/sass/results/scss_import.css
502
- - test/sass/results/units.css
503
- - test/sass/results/parent_ref.css
504
- - test/sass/results/script.css
505
- - test/sass/results/complex.css
506
- - test/sass/results/alt.css
507
- - test/sass/results/multiline.css
508
- - test/sass/results/warn.css
509
- - test/sass/results/import.css
510
- - test/sass/results/nested.css
511
- - test/sass/results/line_numbers.css
512
- - test/sass/more_templates/_more_partial.sass
513
- - test/sass/more_templates/more_import.sass
514
- - test/sass/more_templates/more1.sass
515
- - test/sass/script_conversion_test.rb
516
- - test/sass/less_conversion_test.rb
517
- - test/sass/more_results/more1.css
518
- - test/sass/more_results/more1_with_line_comments.css
519
- - test/sass/more_results/more_import.css
520
- - test/sass/plugin_test.rb
336
+ - test/benchmark.rb
337
+ - test/linked_rails.rb
338
+ - extra/update_watch.rb
521
339
  - extra/sass-mode.el
522
340
  - extra/haml-mode.el
523
- - extra/update_watch.rb
524
341
  - Rakefile
525
342
  - init.rb
526
343
  - .yardopts
527
- - README.md
528
- - VERSION_NAME
529
- - REVISION
530
344
  - MIT-LICENSE
345
+ - REVISION
531
346
  - VERSION
347
+ - VERSION_NAME
348
+ - README.md
532
349
  - CONTRIBUTING
533
- has_rdoc: false
350
+ has_rdoc: true
534
351
  homepage: http://haml-lang.com/
535
352
  licenses: []
536
353
 
@@ -565,24 +382,24 @@ signing_key:
565
382
  specification_version: 3
566
383
  summary: An elegant, structured XHTML/XML templating engine. Comes with Sass, a similar CSS templating engine.
567
384
  test_files:
568
- - test/haml/engine_test.rb
569
- - test/haml/html2haml_test.rb
570
- - test/haml/util/subset_map_test.rb
571
- - test/haml/template_test.rb
572
- - test/haml/util_test.rb
573
- - test/haml/helper_test.rb
574
- - test/haml/spec_test.rb
575
- - test/haml/spec/ruby_haml_test.rb
576
- - test/sass/engine_test.rb
385
+ - test/sass/plugin_test.rb
386
+ - test/sass/script_conversion_test.rb
577
387
  - test/sass/functions_test.rb
388
+ - test/sass/less_conversion_test.rb
389
+ - test/sass/scss/css_test.rb
390
+ - test/sass/scss/rx_test.rb
391
+ - test/sass/scss/scss_test.rb
392
+ - test/sass/script_test.rb
393
+ - test/sass/conversion_test.rb
578
394
  - test/sass/extend_test.rb
395
+ - test/sass/engine_test.rb
579
396
  - test/sass/css2sass_test.rb
580
- - test/sass/conversion_test.rb
581
- - test/sass/script_test.rb
582
397
  - test/sass/callbacks_test.rb
583
- - test/sass/scss/css_test.rb
584
- - test/sass/scss/scss_test.rb
585
- - test/sass/scss/rx_test.rb
586
- - test/sass/script_conversion_test.rb
587
- - test/sass/less_conversion_test.rb
588
- - test/sass/plugin_test.rb
398
+ - test/haml/util/subset_map_test.rb
399
+ - test/haml/template_test.rb
400
+ - test/haml/html2haml_test.rb
401
+ - test/haml/spec_test.rb
402
+ - test/haml/helper_test.rb
403
+ - test/haml/util_test.rb
404
+ - test/haml/engine_test.rb
405
+ - test/haml/spec/ruby_haml_test.rb