haml 3.2.0.alpha.10 → 3.2.0.alpha.13

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 (389) hide show
  1. data/.yardopts +19 -7
  2. data/CHANGELOG.md +1224 -0
  3. data/FAQ.md +157 -0
  4. data/README.md +99 -62
  5. data/REFERENCE.md +1404 -0
  6. data/Rakefile +52 -341
  7. data/init.rb +1 -18
  8. data/lib/haml.rb +6 -30
  9. data/lib/haml/buffer.rb +37 -16
  10. data/lib/haml/compiler.rb +52 -13
  11. data/lib/haml/engine.rb +61 -44
  12. data/lib/haml/exec.rb +21 -4
  13. data/lib/haml/filters.rb +136 -166
  14. data/lib/haml/helpers.rb +37 -10
  15. data/lib/haml/helpers/action_view_extensions.rb +2 -1
  16. data/lib/haml/helpers/action_view_mods.rb +67 -181
  17. data/lib/haml/helpers/rails_323_textarea_fix.rb +39 -0
  18. data/lib/haml/helpers/xss_mods.rb +9 -11
  19. data/lib/haml/html.rb +22 -9
  20. data/lib/haml/html/erb.rb +1 -1
  21. data/lib/haml/parser.rb +22 -15
  22. data/lib/haml/railtie.rb +2 -13
  23. data/lib/haml/template.rb +18 -85
  24. data/lib/haml/template/options.rb +1 -1
  25. data/lib/haml/template/plugin.rb +15 -101
  26. data/lib/haml/util.rb +120 -603
  27. data/lib/haml/version.rb +1 -107
  28. data/test/{haml/engine_test.rb → engine_test.rb} +137 -143
  29. data/test/{haml/erb → erb}/_av_partial_1.erb +1 -1
  30. data/test/{haml/erb → erb}/_av_partial_2.erb +1 -1
  31. data/test/{haml/erb → erb}/action_view.erb +1 -1
  32. data/test/{haml/erb → erb}/standard.erb +0 -0
  33. data/test/filters_test.rb +141 -0
  34. data/test/gemfiles/Gemfile.rails-3.0.x +4 -6
  35. data/test/gemfiles/Gemfile.rails-3.1.x +5 -6
  36. data/test/gemfiles/Gemfile.rails-3.2.x +6 -0
  37. data/test/haml-spec/LICENSE +14 -0
  38. data/test/{haml/spec → haml-spec}/README.md +26 -17
  39. data/test/haml-spec/lua_haml_spec.lua +38 -0
  40. data/test/haml-spec/perl_haml_test.pl +81 -0
  41. data/test/haml-spec/ruby_haml_test.rb +23 -0
  42. data/test/{haml/spec → haml-spec}/tests.json +132 -54
  43. data/test/{haml/helper_test.rb → helper_test.rb} +50 -36
  44. data/test/{haml/html2haml → html2haml}/erb_tests.rb +0 -0
  45. data/test/{haml/html2haml_test.rb → html2haml_test.rb} +11 -5
  46. data/test/{haml/markaby → markaby}/standard.mab +0 -0
  47. data/test/{haml/mocks → mocks}/article.rb +0 -0
  48. data/test/{haml/results → results}/content_for_layout.xhtml +0 -0
  49. data/test/{haml/results → results}/eval_suppressed.xhtml +0 -0
  50. data/test/{haml/results → results}/helpers.xhtml +0 -0
  51. data/test/{haml/results → results}/helpful.xhtml +0 -0
  52. data/test/{haml/results → results}/just_stuff.xhtml +0 -0
  53. data/test/{haml/results → results}/list.xhtml +0 -0
  54. data/test/{haml/results → results}/nuke_inner_whitespace.xhtml +0 -0
  55. data/test/{haml/results → results}/nuke_outer_whitespace.xhtml +0 -0
  56. data/test/{haml/results → results}/original_engine.xhtml +0 -0
  57. data/test/{haml/results → results}/partial_layout.xhtml +0 -0
  58. data/test/{haml/results → results}/partials.xhtml +0 -0
  59. data/test/{haml/results → results}/render_layout.xhtml +0 -0
  60. data/test/{haml/results → results}/silent_script.xhtml +1 -1
  61. data/test/{haml/results → results}/standard.xhtml +0 -0
  62. data/test/{haml/results → results}/tag_parsing.xhtml +0 -0
  63. data/test/{haml/results → results}/very_basic.xhtml +0 -0
  64. data/test/{haml/results → results}/whitespace_handling.xhtml +46 -50
  65. data/test/{haml/template_test.rb → template_test.rb} +20 -81
  66. data/test/{haml/templates → templates}/_av_partial_1.haml +1 -1
  67. data/test/{haml/templates → templates}/_av_partial_1_ugly.haml +1 -1
  68. data/test/{haml/templates → templates}/_av_partial_2.haml +1 -1
  69. data/test/{haml/templates → templates}/_av_partial_2_ugly.haml +1 -1
  70. data/test/{haml/templates → templates}/_layout.erb +0 -0
  71. data/test/{haml/templates → templates}/_layout_for_partial.haml +0 -0
  72. data/test/{haml/templates → templates}/_partial.haml +0 -0
  73. data/test/{haml/templates → templates}/_text_area.haml +0 -0
  74. data/test/{haml/templates → templates}/action_view.haml +1 -1
  75. data/test/{haml/templates → templates}/action_view_ugly.haml +1 -1
  76. data/test/{haml/templates → templates}/breakage.haml +0 -0
  77. data/test/{haml/templates → templates}/content_for_layout.haml +0 -0
  78. data/test/{haml/templates → templates}/eval_suppressed.haml +0 -0
  79. data/test/{haml/templates → templates}/helpers.haml +0 -0
  80. data/test/{haml/templates → templates}/helpful.haml +0 -0
  81. data/test/{haml/templates → templates}/just_stuff.haml +0 -0
  82. data/test/{haml/templates → templates}/list.haml +0 -0
  83. data/test/{haml/templates → templates}/nuke_inner_whitespace.haml +0 -0
  84. data/test/{haml/templates → templates}/nuke_outer_whitespace.haml +0 -0
  85. data/test/{haml/templates → templates}/original_engine.haml +0 -0
  86. data/test/templates/partial_layout.haml +3 -0
  87. data/test/{haml/templates → templates}/partialize.haml +0 -0
  88. data/test/{haml/templates → templates}/partials.haml +0 -0
  89. data/test/{haml/templates → templates}/render_layout.haml +0 -0
  90. data/test/{haml/templates → templates}/silent_script.haml +2 -2
  91. data/test/{haml/templates → templates}/standard.haml +0 -0
  92. data/test/{haml/templates → templates}/standard_ugly.haml +0 -0
  93. data/test/{haml/templates → templates}/tag_parsing.haml +0 -0
  94. data/test/{haml/templates → templates}/very_basic.haml +0 -0
  95. data/test/{haml/templates → templates}/whitespace_handling.haml +0 -0
  96. data/test/test_helper.rb +42 -34
  97. data/test/util_test.rb +80 -0
  98. metadata +259 -427
  99. data/CONTRIBUTING +0 -3
  100. data/REVISION +0 -1
  101. data/VERSION +0 -1
  102. data/VERSION_NAME +0 -1
  103. data/extra/update_watch.rb +0 -13
  104. data/lib/haml/root.rb +0 -7
  105. data/lib/haml/shared.rb +0 -78
  106. data/lib/haml/template/patch.rb +0 -58
  107. data/lib/sass.rb +0 -8
  108. data/lib/sass/plugin.rb +0 -10
  109. data/lib/sass/rails2_shim.rb +0 -9
  110. data/lib/sass/rails3_shim.rb +0 -16
  111. data/test/benchmark.rb +0 -91
  112. data/test/gemfiles/Gemfile.rails-2.0.x +0 -8
  113. data/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
  114. data/test/gemfiles/Gemfile.rails-2.1.x +0 -8
  115. data/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
  116. data/test/gemfiles/Gemfile.rails-2.2.x +0 -8
  117. data/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
  118. data/test/gemfiles/Gemfile.rails-2.3.x +0 -8
  119. data/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
  120. data/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
  121. data/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -98
  122. data/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
  123. data/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
  124. data/test/haml/results/filters.xhtml +0 -62
  125. data/test/haml/spec/lua_haml_spec.lua +0 -30
  126. data/test/haml/spec/ruby_haml_test.rb +0 -19
  127. data/test/haml/spec_test.rb +0 -44
  128. data/test/haml/templates/filters.haml +0 -66
  129. data/test/haml/templates/partial_layout.haml +0 -10
  130. data/test/haml/util_test.rb +0 -300
  131. data/test/linked_rails.rb +0 -42
  132. data/vendor/sass/CONTRIBUTING +0 -3
  133. data/vendor/sass/MIT-LICENSE +0 -20
  134. data/vendor/sass/README.md +0 -201
  135. data/vendor/sass/Rakefile +0 -339
  136. data/vendor/sass/TODO +0 -39
  137. data/vendor/sass/VERSION +0 -1
  138. data/vendor/sass/VERSION_NAME +0 -1
  139. data/vendor/sass/bin/sass +0 -8
  140. data/vendor/sass/bin/sass-convert +0 -7
  141. data/vendor/sass/bin/scss +0 -8
  142. data/vendor/sass/doc-src/FAQ.md +0 -35
  143. data/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
  144. data/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -2327
  145. data/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1965
  146. data/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
  147. data/vendor/sass/ext/extconf.rb +0 -10
  148. data/vendor/sass/extra/update_watch.rb +0 -13
  149. data/vendor/sass/init.rb +0 -18
  150. data/vendor/sass/lib/sass.rb +0 -73
  151. data/vendor/sass/lib/sass/cache_stores.rb +0 -15
  152. data/vendor/sass/lib/sass/cache_stores/base.rb +0 -86
  153. data/vendor/sass/lib/sass/cache_stores/chain.rb +0 -33
  154. data/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -60
  155. data/vendor/sass/lib/sass/cache_stores/memory.rb +0 -47
  156. data/vendor/sass/lib/sass/cache_stores/null.rb +0 -25
  157. data/vendor/sass/lib/sass/callbacks.rb +0 -66
  158. data/vendor/sass/lib/sass/css.rb +0 -295
  159. data/vendor/sass/lib/sass/engine.rb +0 -878
  160. data/vendor/sass/lib/sass/environment.rb +0 -166
  161. data/vendor/sass/lib/sass/error.rb +0 -201
  162. data/vendor/sass/lib/sass/exec.rb +0 -672
  163. data/vendor/sass/lib/sass/importers.rb +0 -22
  164. data/vendor/sass/lib/sass/importers/base.rb +0 -139
  165. data/vendor/sass/lib/sass/importers/filesystem.rb +0 -149
  166. data/vendor/sass/lib/sass/less.rb +0 -382
  167. data/vendor/sass/lib/sass/logger.rb +0 -15
  168. data/vendor/sass/lib/sass/logger/base.rb +0 -32
  169. data/vendor/sass/lib/sass/logger/log_level.rb +0 -49
  170. data/vendor/sass/lib/sass/plugin.rb +0 -132
  171. data/vendor/sass/lib/sass/plugin/compiler.rb +0 -383
  172. data/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
  173. data/vendor/sass/lib/sass/plugin/generic.rb +0 -15
  174. data/vendor/sass/lib/sass/plugin/merb.rb +0 -48
  175. data/vendor/sass/lib/sass/plugin/rack.rb +0 -60
  176. data/vendor/sass/lib/sass/plugin/rails.rb +0 -47
  177. data/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -173
  178. data/vendor/sass/lib/sass/railtie.rb +0 -9
  179. data/vendor/sass/lib/sass/repl.rb +0 -58
  180. data/vendor/sass/lib/sass/root.rb +0 -7
  181. data/vendor/sass/lib/sass/script.rb +0 -40
  182. data/vendor/sass/lib/sass/script/bool.rb +0 -18
  183. data/vendor/sass/lib/sass/script/color.rb +0 -480
  184. data/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
  185. data/vendor/sass/lib/sass/script/css_parser.rb +0 -31
  186. data/vendor/sass/lib/sass/script/funcall.rb +0 -175
  187. data/vendor/sass/lib/sass/script/functions.rb +0 -1386
  188. data/vendor/sass/lib/sass/script/interpolation.rb +0 -79
  189. data/vendor/sass/lib/sass/script/lexer.rb +0 -339
  190. data/vendor/sass/lib/sass/script/list.rb +0 -83
  191. data/vendor/sass/lib/sass/script/literal.rb +0 -250
  192. data/vendor/sass/lib/sass/script/node.rb +0 -99
  193. data/vendor/sass/lib/sass/script/number.rb +0 -452
  194. data/vendor/sass/lib/sass/script/operation.rb +0 -99
  195. data/vendor/sass/lib/sass/script/parser.rb +0 -474
  196. data/vendor/sass/lib/sass/script/string.rb +0 -51
  197. data/vendor/sass/lib/sass/script/string_interpolation.rb +0 -103
  198. data/vendor/sass/lib/sass/script/unary_operation.rb +0 -64
  199. data/vendor/sass/lib/sass/script/variable.rb +0 -59
  200. data/vendor/sass/lib/sass/scss.rb +0 -17
  201. data/vendor/sass/lib/sass/scss/css_parser.rb +0 -46
  202. data/vendor/sass/lib/sass/scss/parser.rb +0 -960
  203. data/vendor/sass/lib/sass/scss/rx.rb +0 -128
  204. data/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
  205. data/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
  206. data/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
  207. data/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
  208. data/vendor/sass/lib/sass/selector.rb +0 -361
  209. data/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
  210. data/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -81
  211. data/vendor/sass/lib/sass/selector/sequence.rb +0 -233
  212. data/vendor/sass/lib/sass/selector/simple.rb +0 -113
  213. data/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -134
  214. data/vendor/sass/lib/sass/shared.rb +0 -78
  215. data/vendor/sass/lib/sass/tree/charset_node.rb +0 -22
  216. data/vendor/sass/lib/sass/tree/comment_node.rb +0 -90
  217. data/vendor/sass/lib/sass/tree/debug_node.rb +0 -18
  218. data/vendor/sass/lib/sass/tree/directive_node.rb +0 -23
  219. data/vendor/sass/lib/sass/tree/each_node.rb +0 -24
  220. data/vendor/sass/lib/sass/tree/extend_node.rb +0 -29
  221. data/vendor/sass/lib/sass/tree/for_node.rb +0 -36
  222. data/vendor/sass/lib/sass/tree/function_node.rb +0 -27
  223. data/vendor/sass/lib/sass/tree/if_node.rb +0 -52
  224. data/vendor/sass/lib/sass/tree/import_node.rb +0 -68
  225. data/vendor/sass/lib/sass/tree/media_node.rb +0 -32
  226. data/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -27
  227. data/vendor/sass/lib/sass/tree/mixin_node.rb +0 -32
  228. data/vendor/sass/lib/sass/tree/node.rb +0 -201
  229. data/vendor/sass/lib/sass/tree/prop_node.rb +0 -148
  230. data/vendor/sass/lib/sass/tree/return_node.rb +0 -18
  231. data/vendor/sass/lib/sass/tree/root_node.rb +0 -28
  232. data/vendor/sass/lib/sass/tree/rule_node.rb +0 -136
  233. data/vendor/sass/lib/sass/tree/variable_node.rb +0 -30
  234. data/vendor/sass/lib/sass/tree/visitors/base.rb +0 -75
  235. data/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +0 -133
  236. data/vendor/sass/lib/sass/tree/visitors/convert.rb +0 -260
  237. data/vendor/sass/lib/sass/tree/visitors/cssize.rb +0 -175
  238. data/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
  239. data/vendor/sass/lib/sass/tree/visitors/perform.rb +0 -332
  240. data/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
  241. data/vendor/sass/lib/sass/tree/visitors/to_css.rb +0 -210
  242. data/vendor/sass/lib/sass/tree/warn_node.rb +0 -18
  243. data/vendor/sass/lib/sass/tree/while_node.rb +0 -18
  244. data/vendor/sass/lib/sass/util.rb +0 -721
  245. data/vendor/sass/lib/sass/util/subset_map.rb +0 -101
  246. data/vendor/sass/lib/sass/version.rb +0 -112
  247. data/vendor/sass/rails/init.rb +0 -1
  248. data/vendor/sass/sass.gemspec +0 -33
  249. data/vendor/sass/test/Gemfile +0 -4
  250. data/vendor/sass/test/Gemfile.lock +0 -19
  251. data/vendor/sass/test/sass/cache_test.rb +0 -89
  252. data/vendor/sass/test/sass/callbacks_test.rb +0 -61
  253. data/vendor/sass/test/sass/conversion_test.rb +0 -1199
  254. data/vendor/sass/test/sass/css2sass_test.rb +0 -373
  255. data/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
  256. data/vendor/sass/test/sass/engine_test.rb +0 -2567
  257. data/vendor/sass/test/sass/extend_test.rb +0 -1348
  258. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  259. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  260. data/vendor/sass/test/sass/functions_test.rb +0 -1038
  261. data/vendor/sass/test/sass/importer_test.rb +0 -192
  262. data/vendor/sass/test/sass/less_conversion_test.rb +0 -653
  263. data/vendor/sass/test/sass/logger_test.rb +0 -58
  264. data/vendor/sass/test/sass/mock_importer.rb +0 -49
  265. data/vendor/sass/test/sass/more_results/more1.css +0 -9
  266. data/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
  267. data/vendor/sass/test/sass/more_results/more_import.css +0 -29
  268. data/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
  269. data/vendor/sass/test/sass/more_templates/more1.sass +0 -23
  270. data/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
  271. data/vendor/sass/test/sass/plugin_test.rb +0 -472
  272. data/vendor/sass/test/sass/results/alt.css +0 -4
  273. data/vendor/sass/test/sass/results/basic.css +0 -9
  274. data/vendor/sass/test/sass/results/compact.css +0 -5
  275. data/vendor/sass/test/sass/results/complex.css +0 -86
  276. data/vendor/sass/test/sass/results/compressed.css +0 -1
  277. data/vendor/sass/test/sass/results/expanded.css +0 -19
  278. data/vendor/sass/test/sass/results/if.css +0 -3
  279. data/vendor/sass/test/sass/results/import.css +0 -31
  280. data/vendor/sass/test/sass/results/import_charset.css +0 -4
  281. data/vendor/sass/test/sass/results/import_charset_1_8.css +0 -4
  282. data/vendor/sass/test/sass/results/import_charset_ibm866.css +0 -4
  283. data/vendor/sass/test/sass/results/line_numbers.css +0 -49
  284. data/vendor/sass/test/sass/results/mixins.css +0 -95
  285. data/vendor/sass/test/sass/results/multiline.css +0 -24
  286. data/vendor/sass/test/sass/results/nested.css +0 -22
  287. data/vendor/sass/test/sass/results/options.css +0 -1
  288. data/vendor/sass/test/sass/results/parent_ref.css +0 -13
  289. data/vendor/sass/test/sass/results/script.css +0 -16
  290. data/vendor/sass/test/sass/results/scss_import.css +0 -31
  291. data/vendor/sass/test/sass/results/scss_importee.css +0 -2
  292. data/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  293. data/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
  294. data/vendor/sass/test/sass/results/units.css +0 -11
  295. data/vendor/sass/test/sass/results/warn.css +0 -0
  296. data/vendor/sass/test/sass/results/warn_imported.css +0 -0
  297. data/vendor/sass/test/sass/script_conversion_test.rb +0 -285
  298. data/vendor/sass/test/sass/script_test.rb +0 -514
  299. data/vendor/sass/test/sass/scss/css_test.rb +0 -922
  300. data/vendor/sass/test/sass/scss/rx_test.rb +0 -156
  301. data/vendor/sass/test/sass/scss/scss_test.rb +0 -1273
  302. data/vendor/sass/test/sass/scss/test_helper.rb +0 -37
  303. data/vendor/sass/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  304. data/vendor/sass/test/sass/templates/_imported_charset_utf8.sass +0 -4
  305. data/vendor/sass/test/sass/templates/_partial.sass +0 -2
  306. data/vendor/sass/test/sass/templates/alt.sass +0 -16
  307. data/vendor/sass/test/sass/templates/basic.sass +0 -23
  308. data/vendor/sass/test/sass/templates/bork1.sass +0 -2
  309. data/vendor/sass/test/sass/templates/bork2.sass +0 -2
  310. data/vendor/sass/test/sass/templates/bork3.sass +0 -2
  311. data/vendor/sass/test/sass/templates/bork4.sass +0 -2
  312. data/vendor/sass/test/sass/templates/bork5.sass +0 -3
  313. data/vendor/sass/test/sass/templates/compact.sass +0 -17
  314. data/vendor/sass/test/sass/templates/complex.sass +0 -305
  315. data/vendor/sass/test/sass/templates/compressed.sass +0 -15
  316. data/vendor/sass/test/sass/templates/expanded.sass +0 -17
  317. data/vendor/sass/test/sass/templates/if.sass +0 -11
  318. data/vendor/sass/test/sass/templates/import.sass +0 -12
  319. data/vendor/sass/test/sass/templates/import_charset.sass +0 -7
  320. data/vendor/sass/test/sass/templates/import_charset_1_8.sass +0 -4
  321. data/vendor/sass/test/sass/templates/import_charset_ibm866.sass +0 -9
  322. data/vendor/sass/test/sass/templates/importee.less +0 -2
  323. data/vendor/sass/test/sass/templates/importee.sass +0 -19
  324. data/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
  325. data/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
  326. data/vendor/sass/test/sass/templates/mixins.sass +0 -76
  327. data/vendor/sass/test/sass/templates/multiline.sass +0 -20
  328. data/vendor/sass/test/sass/templates/nested.sass +0 -25
  329. data/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
  330. data/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
  331. data/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
  332. data/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
  333. data/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
  334. data/vendor/sass/test/sass/templates/nested_import.sass +0 -2
  335. data/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
  336. data/vendor/sass/test/sass/templates/options.sass +0 -2
  337. data/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
  338. data/vendor/sass/test/sass/templates/script.sass +0 -101
  339. data/vendor/sass/test/sass/templates/scss_import.scss +0 -11
  340. data/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
  341. data/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  342. data/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  343. data/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
  344. data/vendor/sass/test/sass/templates/units.sass +0 -11
  345. data/vendor/sass/test/sass/templates/warn.sass +0 -3
  346. data/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
  347. data/vendor/sass/test/sass/test_helper.rb +0 -8
  348. data/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
  349. data/vendor/sass/test/sass/util_test.rb +0 -266
  350. data/vendor/sass/test/test_helper.rb +0 -69
  351. data/vendor/sass/vendor/fssm/Gemfile +0 -3
  352. data/vendor/sass/vendor/fssm/LICENSE +0 -20
  353. data/vendor/sass/vendor/fssm/README.markdown +0 -83
  354. data/vendor/sass/vendor/fssm/Rakefile +0 -11
  355. data/vendor/sass/vendor/fssm/example.rb +0 -12
  356. data/vendor/sass/vendor/fssm/fssm.gemspec +0 -24
  357. data/vendor/sass/vendor/fssm/lib/fssm.rb +0 -37
  358. data/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
  359. data/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
  360. data/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
  361. data/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
  362. data/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
  363. data/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +0 -36
  364. data/vendor/sass/vendor/fssm/lib/fssm/path.rb +0 -94
  365. data/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +0 -36
  366. data/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +0 -75
  367. data/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +0 -24
  368. data/vendor/sass/vendor/fssm/lib/fssm/support.rb +0 -92
  369. data/vendor/sass/vendor/fssm/lib/fssm/tree.rb +0 -176
  370. data/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
  371. data/vendor/sass/vendor/fssm/profile/prof-cache.rb +0 -40
  372. data/vendor/sass/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
  373. data/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
  374. data/vendor/sass/vendor/fssm/profile/prof-pathname.rb +0 -68
  375. data/vendor/sass/vendor/fssm/profile/prof-plain-pathname.html +0 -988
  376. data/vendor/sass/vendor/fssm/profile/prof.html +0 -2379
  377. data/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
  378. data/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
  379. data/vendor/sass/vendor/fssm/spec/path_spec.rb +0 -96
  380. data/vendor/sass/vendor/fssm/spec/root/duck/quack.txt +0 -0
  381. data/vendor/sass/vendor/fssm/spec/root/file.css +0 -0
  382. data/vendor/sass/vendor/fssm/spec/root/file.rb +0 -0
  383. data/vendor/sass/vendor/fssm/spec/root/file.yml +0 -0
  384. data/vendor/sass/vendor/fssm/spec/root/moo/cow.txt +0 -0
  385. data/vendor/sass/vendor/fssm/spec/spec_helper.rb +0 -14
  386. data/vendor/sass/yard/callbacks.rb +0 -29
  387. data/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
  388. data/vendor/sass/yard/default/layout/html/footer.erb +0 -12
  389. data/vendor/sass/yard/inherited_hash.rb +0 -41
data/Rakefile CHANGED
@@ -1,133 +1,39 @@
1
- # ----- Utility Functions -----
1
+ require "rake/clean"
2
+ require "rake/testtask"
3
+ require "rubygems/package_task"
2
4
 
3
- def scope(path)
4
- File.join(File.dirname(__FILE__), path)
5
- end
5
+ task :default => :test
6
6
 
7
- # ----- Benchmarking -----
7
+ CLEAN.replace %w(pkg doc coverage .yardoc)
8
8
 
9
- desc <<END
10
- Benchmark haml against ERb.
11
- TIMES=n sets the number of runs. Defaults to 1000.
12
- END
13
- task :benchmark do
14
- sh "ruby test/benchmark.rb #{ENV['TIMES']}"
9
+ def silence_warnings
10
+ the_real_stderr, $stderr = $stderr, StringIO.new
11
+ yield
12
+ ensure
13
+ $stderr = the_real_stderr
15
14
  end
16
15
 
17
- # ----- Default: Testing ------
18
-
19
- if ENV["RUN_CODE_RUN"] == "true"
20
- task :default => :"test:rails_compatibility"
21
- else
22
- task :default => :test
16
+ desc "Benchmark Haml against ERb. TIMES=n sets the number of runs, default is 1000."
17
+ task :benchmark do
18
+ sh "ruby test/benchmark.rb #{ENV['TIMES']}"
23
19
  end
24
20
 
25
- require 'rake/testtask'
26
-
27
21
  Rake::TestTask.new do |t|
28
- t.libs << 'lib'
29
- test_files = FileList[scope('test/**/*_test.rb')]
30
- test_files.exclude(scope('test/rails/*'))
31
- test_files.exclude(scope('test/plugins/*'))
32
- test_files.exclude(scope('test/haml/spec/*'))
33
- t.test_files = test_files
22
+ t.libs << 'lib' << 'test'
23
+ t.test_files = Dir["test/**/*_test.rb"]
34
24
  t.verbose = true
35
25
  end
36
- Rake::Task[:test].send(:add_comment, <<END)
37
- To run with an alternate version of Rails, make test/rails a symlink to that version.
38
- END
39
-
40
- # ----- Packaging -----
41
-
42
- # Don't use Rake::GemPackageTast because we want prerequisites to run
43
- # before we load the gemspec.
44
- desc "Build all the packages."
45
- task :package => [:revision_file, :submodules, :permissions] do
46
- version = get_version
47
- File.open(scope('VERSION'), 'w') {|f| f.puts(version)}
48
- load scope('haml.gemspec')
49
- Gem::Builder.new(HAML_GEMSPEC).build
50
- sh %{git checkout VERSION}
51
-
52
- pkg = "#{HAML_GEMSPEC.name}-#{HAML_GEMSPEC.version}"
53
- mkdir_p "pkg"
54
- verbose(true) {mv "#{pkg}.gem", "pkg/#{pkg}.gem"}
55
-
56
- sh %{rm -f pkg/#{pkg}.tar.gz}
57
- verbose(false) {HAML_GEMSPEC.files.each {|f| sh %{tar rf pkg/#{pkg}.tar #{f}}}}
58
- sh %{gzip pkg/#{pkg}.tar}
59
- end
60
-
61
- task :permissions do
62
- sh %{chmod -R a+rx bin}
63
- sh %{chmod -R a+r .}
64
- require 'shellwords'
65
- Dir.glob('test/**/*_test.rb') do |file|
66
- next if file =~ %r{^test/haml/spec/}
67
- sh %{chmod a+rx #{file}}
68
- end
69
- end
70
-
71
- task :revision_file do
72
- require scope('lib/haml')
73
26
 
74
- release = Rake.application.top_level_tasks.include?('release') || File.exist?(scope('EDGE_GEM_VERSION'))
75
- if Haml.version[:rev] && !release
76
- File.open(scope('REVISION'), 'w') { |f| f.puts Haml.version[:rev] }
77
- elsif release
78
- File.open(scope('REVISION'), 'w') { |f| f.puts "(release)" }
79
- else
80
- File.open(scope('REVISION'), 'w') { |f| f.puts "(unknown)" }
81
- end
27
+ task :set_coverage_env do
28
+ ENV["COVERAGE"] = "true"
82
29
  end
83
30
 
84
- # We also need to get rid of this file after packaging.
85
- at_exit { File.delete(scope('REVISION')) rescue nil }
86
-
87
- desc "Install Haml as a gem. Use SUDO=1 to install with sudo."
88
- task :install => [:package] do
89
- gem = RUBY_PLATFORM =~ /java/ ? 'jgem' : 'gem'
90
- sh %{#{'sudo ' if ENV["SUDO"]}#{gem} install --no-ri pkg/haml-#{get_version}}
91
- end
31
+ desc "Run Simplecov (only works on 1.9)"
32
+ task :coverage => [:set_coverage_env, :test]
92
33
 
93
- desc "Release a new Haml package to Rubyforge."
94
- task :release => [:check_release, :package] do
95
- name = File.read(scope("VERSION_NAME")).strip
96
- version = File.read(scope("VERSION")).strip
97
- sh %{rubyforge add_release haml haml "#{name} (v#{version})" pkg/haml-#{version}.gem}
98
- sh %{rubyforge add_file haml haml "#{name} (v#{version})" pkg/haml-#{version}.tar.gz}
99
- sh %{gem push pkg/haml-#{version}.gem}
100
- end
101
-
102
-
103
- # Ensures that the VERSION file has been updated for a new release.
104
- task :check_release do
105
- version = File.read(scope("VERSION")).strip
106
- raise "There have been changes since current version (#{version})" if changed_since?(version)
107
- raise "VERSION_NAME must not be 'Bleeding Edge'" if File.read(scope("VERSION_NAME")) == "Bleeding Edge"
108
- end
109
-
110
- # Reads a password from the command line.
111
- #
112
- # @param name [String] The prompt to use to read the password
113
- def read_password(prompt)
114
- require 'readline'
115
- system "stty -echo"
116
- Readline.readline("#{prompt}: ").strip
117
- ensure
118
- system "stty echo"
119
- puts
120
- end
121
-
122
- # Returns whether or not the repository, or specific files,
123
- # has/have changed since a given revision.
124
- #
125
- # @param rev [String] The revision to check against
126
- # @param files [Array<String>] The files to check.
127
- # If this is empty, checks the entire repository
128
- def changed_since?(rev, *files)
129
- IO.popen("git diff --exit-code #{rev} #{files.join(' ')}") {}
130
- return !$?.success?
34
+ gemspec = File.expand_path("../haml.gemspec", __FILE__)
35
+ if File.exist? gemspec
36
+ Gem::PackageTask.new(eval(File.read(gemspec))) { |pkg| }
131
37
  end
132
38
 
133
39
  task :submodules do
@@ -137,198 +43,59 @@ task :submodules do
137
43
  end
138
44
  end
139
45
 
140
- task :release_edge do
141
- ensure_git_cleanup do
142
- puts "#{'=' * 50} Running rake release_edge"
143
-
144
- sh %{git checkout master}
145
- sh %{git reset --hard origin/master}
146
- sh %{rake package}
147
- version = get_version
148
- sh %{rubyforge add_release haml haml "Bleeding Edge (v#{version})" pkg/haml-#{version}.gem}
149
- sh %{gem push pkg/haml-#{version}.gem}
150
- end
151
- end
152
-
153
- # Get the version string. If this is being installed from Git,
154
- # this includes the proper prerelease version.
155
- def get_version
156
- written_version = File.read(scope('VERSION').strip)
157
- return written_version unless File.exist?(scope('.git'))
158
-
159
- # Get the current master branch version
160
- version = written_version.split('.')
161
- version.map! {|n| n =~ /^[0-9]+$/ ? n.to_i : n}
162
- return written_version unless version.size == 5 && version[3] == "alpha" # prerelease
163
-
164
- return written_version if (commit_count = `git log --pretty=oneline --first-parent stable.. | wc -l`).empty?
165
- version[4] = commit_count.strip
166
- version.join('.')
167
- end
168
-
169
- task :watch_for_update do
170
- sh %{ruby extra/update_watch.rb}
171
- end
172
-
173
- # ----- Documentation -----
174
-
175
- task :rdoc do
176
- puts '=' * 100, <<END, '=' * 100
177
- Haml uses the YARD documentation system (http://github.com/lsegal/yard).
178
- Install the yard gem and then run "rake doc".
179
- END
180
- end
181
-
182
46
  begin
183
- require 'yard'
47
+ silence_warnings do
48
+ require 'yard'
49
+ end
184
50
 
185
51
  namespace :doc do
186
- task :sass do
187
- require 'sass'
188
- Dir[scope("yard/default/**/*.sass")].each do |sass|
189
- File.open(sass.gsub(/sass$/, 'css'), 'w') do |f|
190
- f.write(Sass::Engine.new(File.read(sass)).render)
191
- end
192
- end
193
- end
194
-
195
52
  desc "List all undocumented methods and classes."
196
53
  task :undocumented do
197
- opts = ENV["YARD_OPTS"] || ""
198
- ENV["YARD_OPTS"] = opts.dup + <<OPTS
199
- --list --query "
200
- object.docstring.blank? &&
201
- !(object.type == :method && object.is_alias?)"
202
- OPTS
203
- Rake::Task['yard'].execute
54
+ command = 'yard --list --query '
55
+ command << '"object.docstring.blank? && '
56
+ command << '!(object.type == :method && object.is_alias?)"'
57
+ sh command
204
58
  end
205
59
  end
206
60
 
207
- YARD::Rake::YardocTask.new do |t|
208
- t.files = FileList.new(scope('lib/**/*.rb')) do |list|
209
- list.exclude('lib/haml/template/patch.rb')
210
- list.exclude('lib/haml/template/plugin.rb')
211
- list.exclude('lib/haml/railtie.rb')
212
- list.exclude('lib/haml/helpers/action_view_mods.rb')
213
- list.exclude('lib/haml/helpers/xss_mods.rb')
214
- end.to_a
215
- t.options << '--incremental' if Rake.application.top_level_tasks.include?('redoc')
216
- t.options += FileList.new(scope('yard/*.rb')).to_a.map {|f| ['-e', f]}.flatten
217
- files = FileList.new(scope('doc-src/*')).to_a.sort_by {|s| s.size} + %w[MIT-LICENSE VERSION]
218
- t.options << '--files' << files.join(',')
219
- t.options << '--template-path' << scope('yard')
220
- t.options << '--title' << ENV["YARD_TITLE"] if ENV["YARD_TITLE"]
61
+ desc "Generate documentation"
62
+ task(:doc) {sh "yard"}
221
63
 
222
- t.before = lambda do
223
- if ENV["YARD_OPTS"]
224
- require 'shellwords'
225
- t.options.concat(Shellwords.shellwords(ENV["YARD_OPTS"]))
226
- end
227
- end
228
- end
229
- Rake::Task['yard'].prerequisites.insert(0, 'doc:sass')
230
- Rake::Task['yard'].instance_variable_set('@comment', nil)
64
+ desc "Generate documentation incrementally"
65
+ task(:redoc) {sh "yard -c"}
231
66
 
232
- desc "Generate Documentation"
233
- task :doc => :yard
234
- task :redoc => :yard
235
67
  rescue LoadError
236
- desc "Generate Documentation"
237
- task :doc => :rdoc
238
- task :yard => :rdoc
239
- end
240
-
241
- task :pages do
242
- puts "#{'=' * 50} Running rake pages"
243
- ensure_git_cleanup do
244
- sh %{git checkout haml-pages}
245
- sh %{git reset --hard origin/haml-pages}
246
-
247
- Dir.chdir("/var/www/haml-pages") do
248
- sh %{git fetch origin}
249
-
250
- sh %{git checkout stable}
251
- sh %{git reset --hard origin/stable}
252
-
253
- sh %{git checkout haml-pages}
254
- sh %{git reset --hard origin/haml-pages}
255
- sh %{rake build --trace}
256
- sh %{mkdir -p tmp}
257
- sh %{touch tmp/restart.txt}
258
- end
259
- end
260
68
  end
261
69
 
262
- # ----- Coverage -----
263
-
264
- begin
265
- require 'rcov/rcovtask'
266
-
267
- Rcov::RcovTask.new do |t|
268
- t.test_files = FileList[scope('test/**/*_test.rb')]
269
- t.rcov_opts << '-x' << '"^\/"'
270
- if ENV['NON_NATIVE']
271
- t.rcov_opts << "--no-rcovrt"
272
- end
273
- t.verbose = true
274
- end
275
- rescue LoadError; end
276
-
277
- # ----- Profiling -----
278
-
279
- begin
280
- require 'ruby-prof'
281
-
282
70
  desc <<END
283
- Run a profile of haml.
71
+ Profile Haml.
284
72
  TIMES=n sets the number of runs. Defaults to 1000.
285
73
  FILE=str sets the file to profile. Defaults to 'standard'
286
74
  OUTPUT=str sets the ruby-prof output format.
287
75
  Can be Flat, CallInfo, or Graph. Defaults to Flat. Defaults to Flat.
288
76
  END
289
- task :profile do
290
- times = (ENV['TIMES'] || '1000').to_i
291
- file = ENV['FILE']
77
+ task :profile do
78
+ times = (ENV['TIMES'] || '1000').to_i
79
+ file = ENV['FILE']
292
80
 
293
- require 'lib/haml'
294
-
295
- file = File.read(scope("test/haml/templates/#{file || 'standard'}.haml"))
296
- obj = Object.new
297
- Haml::Engine.new(file).def_method(obj, :render)
298
- result = RubyProf.profile { times.times { obj.render } }
299
-
300
- RubyProf.const_get("#{(ENV['OUTPUT'] || 'Flat').capitalize}Printer").new(result).print
301
- end
302
- rescue LoadError; end
303
-
304
- # ----- Testing Multiple Rails Versions -----
81
+ require 'bundler/setup'
82
+ require 'ruby-prof'
83
+ require 'haml'
305
84
 
306
- rails_versions = [
307
- "v3.1.0",
308
- "v3.0.10",
309
- "v2.3.14",
310
- "v2.2.3",
311
- "v2.1.2",
312
- ]
313
- rails_versions << "v2.0.5" if RUBY_VERSION =~ /^1\.8/
85
+ file = File.read(File.expand_path("../test/templates/#{file || 'standard'}.haml", __FILE__))
86
+ obj = Object.new
87
+ Haml::Engine.new(file, :ugly => true).def_method(obj, :render)
88
+ result = RubyProf.profile { times.times { obj.render } }
314
89
 
315
- def test_rails_version(version)
316
- Dir.chdir "test/rails" do
317
- sh %{git checkout #{version}}
318
- end
319
- puts "Testing Rails #{version}"
320
- Rake::Task['test'].reenable
321
- Rake::Task['test'].execute
90
+ RubyProf.const_get("#{(ENV['OUTPUT'] || 'Flat').capitalize}Printer").new(result).print
322
91
  end
323
92
 
324
93
  def gemfiles
325
- @gemfiles ||=
326
- begin
327
- raise 'Must install bundler to run Rails compatibility tests' if `which bundle`.empty?
328
- Dir[File.dirname(__FILE__) + '/test/gemfiles/Gemfile.*'].
329
- reject {|f| f =~ /\.lock$/}.
330
- reject {|f| RUBY_VERSION !~ /^1\.8/ && f =~ /Gemfile\.rails-2\.[0-2]/}
331
- end
94
+ @gemfiles ||= begin
95
+ Dir[File.dirname(__FILE__) + '/test/gemfiles/Gemfile.*'].
96
+ reject {|f| f =~ /\.lock$/}.
97
+ reject {|f| RUBY_VERSION >= '1.9' && f =~ /2\.[0-2]/}
98
+ end
332
99
  end
333
100
 
334
101
  def with_each_gemfile
@@ -346,7 +113,7 @@ namespace :test do
346
113
  namespace :bundles do
347
114
  desc "Install all dependencies necessary to test Haml."
348
115
  task :install do
349
- with_each_gemfile {sh "bundle install"}
116
+ with_each_gemfile {sh "bundle"}
350
117
  end
351
118
 
352
119
  desc "Update all dependencies for testing Haml."
@@ -357,63 +124,7 @@ namespace :test do
357
124
 
358
125
  desc "Test all supported versions of rails. This takes a while."
359
126
  task :rails_compatibility => 'test:bundles:install' do
360
- `rm -rf test/rails`
361
- `rm -rf test/plugins`
362
127
  with_each_gemfile {sh "bundle exec rake test"}
363
128
  end
364
- end
365
-
366
- # ----- Handling Updates -----
367
-
368
- def email_on_error
369
- yield
370
- rescue Exception => e
371
- IO.popen("sendmail nex342@gmail.com", "w") do |sm|
372
- sm << "From: nex3@nex-3.com\n" <<
373
- "To: nex342@gmail.com\n" <<
374
- "Subject: Exception when running rake #{Rake.application.top_level_tasks.join(', ')}\n" <<
375
- e.message << "\n\n" <<
376
- e.backtrace.join("\n")
377
- end
378
- ensure
379
- raise e if e
380
- end
381
-
382
- def ensure_git_cleanup
383
- email_on_error {yield}
384
- ensure
385
- sh %{git reset --hard HEAD}
386
- sh %{git clean -xdf}
387
- sh %{git checkout master}
388
- end
389
-
390
- task :handle_update do
391
- email_on_error do
392
- unless ENV["REF"] =~ %r{^refs/heads/(master|stable|haml-pages)$}
393
- puts "#{'=' * 20} Ignoring rake handle_update REF=#{ENV["REF"].inspect}"
394
- next
395
- end
396
- branch = $1
397
-
398
- puts
399
- puts
400
- puts '=' * 150
401
- puts "Running rake handle_update REF=#{ENV["REF"].inspect}"
402
-
403
- sh %{git fetch origin}
404
- sh %{git checkout stable}
405
- sh %{git reset --hard origin/stable}
406
- sh %{git checkout master}
407
- sh %{git reset --hard origin/master}
408
-
409
- case branch
410
- when "master"
411
- sh %{rake release_edge --trace}
412
- when "stable", "haml-pages"
413
- sh %{rake pages --trace}
414
- end
415
-
416
- puts 'Done running handle_update'
417
- puts '=' * 150
418
- end
129
+ task :rc => :rails_compatibility
419
130
  end