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
@@ -1,151 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # coding: utf-8
3
-
4
- require 'thread'
5
-
6
- class CountDownLatch
7
- attr_reader :count
8
-
9
- def initialize(to)
10
- @count = to.to_i
11
- raise ArgumentError, "cannot count down from negative integer" unless @count >= 0
12
- @lock = Mutex.new
13
- @condition = ConditionVariable.new
14
- end
15
-
16
- def count_down
17
- @lock.synchronize do
18
- @count -= 1 if @count > 0
19
- @condition.broadcast if @count == 0
20
- end
21
- end
22
-
23
- def wait
24
- @lock.synchronize do
25
- @condition.wait(@lock) while @count > 0
26
- end
27
- end
28
- end
29
-
30
- if $0 == __FILE__
31
- require 'test/unit'
32
-
33
- class CountDownLatchTest < Test::Unit::TestCase
34
- def test_requires_positive_count
35
- assert_raise(ArgumentError) { CountDownLatch.new(-1) }
36
- end
37
-
38
- def test_basic_latch_usage
39
- latch = CountDownLatch.new(1)
40
- name = "foo"
41
- Thread.new do
42
- name = "bar"
43
- latch.count_down
44
- end
45
- latch.wait
46
- assert_equal(0, latch.count)
47
- assert_equal("bar", name)
48
- end
49
-
50
- def test_basic_latch_usage_inverted
51
- latch = CountDownLatch.new(1)
52
- name = "foo"
53
- Thread.new do
54
- latch.wait
55
- assert_equal(0, latch.count)
56
- assert_equal("bar", name)
57
- end
58
- name = "bar"
59
- latch.count_down
60
- end
61
-
62
- def test_count_down_from_zero_skips_wait
63
- latch = CountDownLatch.new(0)
64
- latch.wait
65
- assert_equal(0, latch.count)
66
- end
67
-
68
- def test_count_down_twice_with_thread
69
- latch = CountDownLatch.new(2)
70
- name = "foo"
71
- Thread.new do
72
- latch.count_down
73
- name = "bar"
74
- latch.count_down
75
- end
76
- latch.wait
77
- assert_equal(0, latch.count)
78
- assert_equal("bar", name)
79
- end
80
-
81
- def test_count_down_twice_with_two_parallel_threads
82
- latch = CountDownLatch.new(2)
83
- name = "foo"
84
- Thread.new { latch.count_down }
85
- Thread.new do
86
- name = "bar"
87
- latch.count_down
88
- end
89
- latch.wait
90
- assert_equal(0, latch.count)
91
- assert_equal("bar", name)
92
- end
93
-
94
- def test_count_down_twice_with_two_chained_threads
95
- latch = CountDownLatch.new(2)
96
- name = "foo"
97
- Thread.new do
98
- latch.count_down
99
- Thread.new do
100
- name = "bar"
101
- latch.count_down
102
- end
103
- end
104
- latch.wait
105
- assert_equal(0, latch.count)
106
- assert_equal("bar", name)
107
- end
108
-
109
- def test_count_down_with_multiple_waiters
110
- proceed_latch = CountDownLatch.new(2)
111
- check_latch = CountDownLatch.new(2)
112
- results = {}
113
- Thread.new do
114
- proceed_latch.wait
115
- results[:first] = 1
116
- check_latch.count_down
117
- end
118
- Thread.new do
119
- proceed_latch.wait
120
- results[:second] = 2
121
- check_latch.count_down
122
- end
123
- assert_equal({}, results)
124
- proceed_latch.count_down
125
- proceed_latch.count_down
126
- check_latch.wait
127
- assert_equal(0, proceed_latch.count)
128
- assert_equal(0, check_latch.count)
129
- assert_equal({:first => 1, :second => 2}, results)
130
- end
131
-
132
- def test_interleaved_latches
133
- change_1_latch = CountDownLatch.new(1)
134
- check_latch = CountDownLatch.new(1)
135
- change_2_latch = CountDownLatch.new(1)
136
- name = "foo"
137
- Thread.new do
138
- name = "bar"
139
- change_1_latch.count_down
140
- check_latch.wait
141
- name = "man"
142
- change_2_latch.count_down
143
- end
144
- change_1_latch.wait
145
- assert_equal("bar", name)
146
- check_latch.count_down
147
- change_2_latch.wait
148
- assert_equal("man", name)
149
- end
150
- end
151
- end
@@ -1,202 +0,0 @@
1
- require 'spec_helper'
2
-
3
- require 'count_down_latch'
4
- require 'fileutils'
5
- require 'tempfile'
6
-
7
- module FSSM::MonitorSpecHelpers
8
- def create_tmp_dir
9
- @tmp_dir = FSSM::Pathname.for(Dir.mktmpdir).realpath.to_s
10
- FileUtils.cp_r File.join(File.dirname(__FILE__), 'root'), @tmp_dir
11
- # Because git does not track empty directories, create one ourselves.
12
- FileUtils.mkdir_p @tmp_dir + '/root/yawn'
13
- @tmp_dir
14
- end
15
-
16
- def remove_tmp_dir
17
- FileUtils.remove_entry @tmp_dir
18
- end
19
-
20
- def create_handler(type, latch)
21
- lambda do |*args|
22
- @handler_results[type] << args
23
- latch.count_down
24
- end
25
- end
26
-
27
- def run_monitor(num_events_to_expect=0, options={})
28
- event_latch = CountDownLatch.new(num_events_to_expect)
29
- @handler_results = Hash.new { |hash, key| hash[key] = [] }
30
- thread = Thread.new do
31
- monitor = FSSM::Monitor.new(options)
32
- monitor.path(@tmp_dir) do |p|
33
- p.create(&create_handler(:create, event_latch))
34
- p.update(&create_handler(:update, event_latch))
35
- p.delete(&create_handler(:delete, event_latch))
36
- end
37
- monitor.run
38
- end
39
- sleep 1 # give time for monitor to start up
40
- yield if block_given?
41
- event_latch.wait
42
- thread.kill
43
- end
44
- end
45
-
46
- describe "The File System State Monitor" do
47
- describe "monitor" do
48
- include FSSM::MonitorSpecHelpers
49
-
50
- before do
51
- create_tmp_dir
52
- end
53
-
54
- after do
55
- remove_tmp_dir
56
- end
57
-
58
- describe "with default options" do
59
- it "should call create callback upon file creation" do
60
- run_monitor(1) do
61
- file = @tmp_dir + "/newfile.rb"
62
- File.exists?(file).should be_false
63
- FileUtils.touch file
64
- end
65
- @handler_results[:create].should == [[@tmp_dir, 'newfile.rb']]
66
- end
67
-
68
- it "should call update callback upon file modification" do
69
- run_monitor(1) do
70
- FileUtils.touch @tmp_dir + '/root/file.rb'
71
- end
72
- @handler_results[:update].should == [[@tmp_dir, 'root/file.rb']]
73
- end
74
-
75
- it "should call delete callback upon file deletion" do
76
- run_monitor(1) do
77
- FileUtils.rm @tmp_dir + "/root/file.rb"
78
- end
79
- @handler_results[:delete].should == [[@tmp_dir, 'root/file.rb']]
80
- end
81
-
82
- it "should call create and delete callbacks upon file renaming in the same directory" do
83
- run_monitor(2) do
84
- FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/root/old_file.rb"
85
- end
86
- @handler_results[:create].should == [[@tmp_dir, 'root/old_file.rb']]
87
- @handler_results[:delete].should == [[@tmp_dir, 'root/file.rb']]
88
- @handler_results[:update].should == []
89
- end
90
-
91
- it "should call create and delete callbacks upon file moving to another directory" do
92
- run_monitor(2) do
93
- FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/old_file.rb"
94
- end
95
- @handler_results[:create].should == [[@tmp_dir, 'old_file.rb']]
96
- @handler_results[:delete].should == [[@tmp_dir, 'root/file.rb']]
97
- @handler_results[:update].should == []
98
- end
99
-
100
- it "should not call callbacks upon directory operations" do
101
- run_monitor do
102
- FileUtils.mkdir @tmp_dir + "/another_yawn"
103
- FileUtils.rmdir @tmp_dir + "/root/yawn"
104
- end
105
- @handler_results[:create].should == []
106
- @handler_results[:delete].should == []
107
- end
108
- end
109
-
110
- describe "when configured to consider files and directories" do
111
- it "should call create callback upon directory creation" do
112
- run_monitor(1, :directories => true) do
113
- FileUtils.mkdir @tmp_dir + "/another_yawn"
114
- end
115
- @handler_results[:create].should include([@tmp_dir, 'another_yawn', :directory])
116
- end
117
-
118
- it "should call delete callback upon directory deletion" do
119
- run_monitor(1, :directories => true) do
120
- FileUtils.rmdir @tmp_dir + "/root/yawn"
121
- end
122
- @handler_results[:delete].should include([@tmp_dir, 'root/yawn', :directory])
123
- end
124
-
125
- it "should call create, update, and delete callbacks upon directory renaming in the same directory" do
126
- run_monitor(3, :directories => true) do
127
- FileUtils.mv @tmp_dir + "/root/yawn", @tmp_dir + "/root/old_yawn"
128
- end
129
- @handler_results[:create].should include([@tmp_dir, 'root/old_yawn', :directory])
130
- @handler_results[:delete].should include([@tmp_dir, 'root/yawn', :directory])
131
- @handler_results[:update].should include([@tmp_dir, 'root', :directory])
132
- end
133
-
134
- it "should call create, update, and delete callbacks upon directory moving to another directory" do
135
- run_monitor(3, :directories => true) do
136
- FileUtils.mv @tmp_dir + "/root/yawn", @tmp_dir + "/old_yawn"
137
- end
138
- @handler_results[:create].should include([@tmp_dir, 'old_yawn', :directory])
139
- @handler_results[:delete].should include([@tmp_dir, 'root/yawn', :directory])
140
- @handler_results[:update].should include([@tmp_dir, 'root', :directory])
141
- end
142
-
143
- it "should call create, update, and delete callbacks upon file renaming in the same directory" do
144
- run_monitor(3, :directories => true) do
145
- FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/root/old_file.rb"
146
- end
147
- @handler_results[:create].should include([@tmp_dir, 'root/old_file.rb', :file])
148
- @handler_results[:delete].should include([@tmp_dir, 'root/file.rb', :file])
149
- @handler_results[:update].should include([@tmp_dir, 'root', :directory])
150
- end
151
-
152
- it "should call create, update, and delete callbacks upon file moving to another directory" do
153
- run_monitor(3, :directories => true) do
154
- FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/old_file.rb"
155
- end
156
- @handler_results[:create].should include([@tmp_dir, 'old_file.rb', :file])
157
- @handler_results[:delete].should include([@tmp_dir, 'root/file.rb', :file])
158
- @handler_results[:update].should include([@tmp_dir, 'root', :directory])
159
- end
160
-
161
- it "should call delete callbacks upon directory structure deletion, in reverse order" do
162
- expected_delete_events = [
163
- ['root/yawn', :directory],
164
- ['root/moo/cow.txt', :file],
165
- ['root/moo', :directory],
166
- ['root/file.yml', :file],
167
- ['root/file.rb', :file],
168
- ['root/file.css', :file],
169
- ['root/duck/quack.txt', :file],
170
- ['root/duck', :directory],
171
- ['root', :directory]
172
- ]
173
- run_monitor(expected_delete_events.size, :directories => true) do
174
- FileUtils.rm_rf @tmp_dir + '/.'
175
- end
176
- @handler_results[:create].should == []
177
- @handler_results[:delete].should == expected_delete_events.map { |(file, type)| [@tmp_dir, file, type] }
178
- @handler_results[:update].should == []
179
- end
180
-
181
- it "should call create callbacks upon directory structure creation, in order" do
182
- expected_create_events = [
183
- ['new_root', :directory],
184
- ['new_root/duck', :directory],
185
- ['new_root/duck/quack.txt', :file],
186
- ['new_root/file.css', :file],
187
- ['new_root/file.rb', :file],
188
- ['new_root/file.yml', :file],
189
- ['new_root/moo', :directory],
190
- ['new_root/moo/cow.txt', :file],
191
- ['new_root/yawn', :directory]
192
- ]
193
- run_monitor(expected_create_events.size, :directories => true) do
194
- FileUtils.cp_r @tmp_dir + '/root/.', @tmp_dir + '/new_root'
195
- end
196
- @handler_results[:create].should == expected_create_events.map { |(file, type)| [@tmp_dir, file, type] }
197
- @handler_results[:delete].should == []
198
- @handler_results[:update].should == []
199
- end
200
- end
201
- end
202
- end
@@ -1,96 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "The File System State Monitor" do
4
- describe "paths" do
5
- it "should accept a valid filesystem directory" do
6
- lambda { FSSM::Path.new("#{@watch_root}") }.should_not raise_error
7
- end
8
-
9
- it "should not accept an invalid filesystem directory" do
10
- lambda { FSSM::Path.new('/does/not/exist/kthxbye') }.should raise_error
11
- end
12
-
13
- it "should default the path to the current directory" do
14
- path = FSSM::Path.new
15
- here = Pathname.new('.').realpath
16
-
17
- "#{here}".should == "#{path}"
18
- end
19
-
20
- it "should accept an optional glob array parameter" do
21
- path = FSSM::Path.new('.', ['**/*.yml'])
22
- path.glob.should == ['**/*.yml']
23
- end
24
-
25
- it "should accept an optional glob string parameter" do
26
- path = FSSM::Path.new('.', '**/*.yml')
27
- path.glob.should == ['**/*.yml']
28
- end
29
-
30
- it "should accept an optional option parameter" do
31
- lambda { FSSM::Path.new('.', '**/*.yml', :foo => :bar) }.should_not raise_error
32
- end
33
-
34
- it "should default the glob to ['**/*']" do
35
- path = FSSM::Path.new
36
- path.glob.should == ['**/*']
37
- end
38
-
39
- it "should accept a callback for update events" do
40
- path = FSSM::Path.new
41
- callback = lambda { |base, relative| return true }
42
- path.update(&callback)
43
- (path.update).should == callback
44
- end
45
-
46
- it "should accept a callback for delete events" do
47
- path = FSSM::Path.new
48
- callback = lambda { |base, relative| return true }
49
- path.delete(&callback)
50
- (path.delete).should == callback
51
- end
52
-
53
- it "should accept a callback for create events" do
54
- path = FSSM::Path.new
55
- callback = lambda { |base, relative| return true }
56
- path.create(&callback)
57
- (path.create).should == callback
58
- end
59
-
60
- it "should accept a configuration block" do
61
- path = FSSM::Path.new "#{@watch_root}" do
62
- glob '**/*.yml'
63
- update { |base, relative| 'success' }
64
- delete { |base, relative| 'success' }
65
- create { |base, relative| 'success' }
66
- end
67
-
68
- "#{path}".should == "#{@watch_root}"
69
- path.glob.should == ['**/*.yml']
70
- path.update.should be_a_kind_of(Proc)
71
- path.delete.should be_a_kind_of(Proc)
72
- path.create.should be_a_kind_of(Proc)
73
- path.update.call('', '').should == 'success'
74
- path.delete.call('', '').should == 'success'
75
- path.create.call('', '').should == 'success'
76
- end
77
-
78
- it "should pass file type to callbacks as the third argument if :directories option is used" do
79
- path = FSSM::Path.new "#{@watch_root}", nil, :directories => true do
80
- glob '**/*.yml'
81
- update { |base, relative, type| [base, relative, type] }
82
- delete { |base, relative, type| [base, relative, type] }
83
- create { |base, relative, type| [base, relative, type] }
84
- end
85
-
86
- "#{path}".should == "#{@watch_root}"
87
- path.glob.should == ['**/*.yml']
88
- path.update.should be_a_kind_of(Proc)
89
- path.delete.should be_a_kind_of(Proc)
90
- path.create.should be_a_kind_of(Proc)
91
- path.update.call('b', 'r', 't').should == ['b', 'r', 't']
92
- path.delete.call('b', 'r', 't').should == ['b', 'r', 't']
93
- path.create.call('b', 'r', 't').should == ['b', 'r', 't']
94
- end
95
- end
96
- end