radiantcms-couchrest_model 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (726) hide show
  1. data/CHANGELOG +0 -16
  2. data/CONTRIBUTORS +0 -7
  3. data/README +84 -2
  4. data/app/controllers/admin/export_controller.rb +5 -0
  5. data/app/controllers/admin/pages_controller.rb +7 -11
  6. data/app/controllers/admin/preferences_controller.rb +1 -1
  7. data/app/controllers/admin/resource_controller.rb +1 -1
  8. data/app/helpers/admin/pages_helper.rb +3 -1
  9. data/app/helpers/admin/preferences_helper.rb +0 -1
  10. data/app/helpers/admin/references_helper.rb +2 -1
  11. data/app/helpers/application_helper.rb +2 -4
  12. data/app/models/env_dump_page.rb +17 -0
  13. data/app/models/file_not_found_page.rb +0 -4
  14. data/app/models/page.rb +20 -61
  15. data/app/models/radiant/config.rb +37 -225
  16. data/app/models/radiant/exporter.rb +11 -0
  17. data/app/models/standard_tags.rb +108 -116
  18. data/app/models/status.rb +1 -9
  19. data/app/models/text_filter.rb +1 -12
  20. data/app/views/admin/extensions/index.html.haml +2 -2
  21. data/app/views/admin/layouts/index.html.haml +9 -9
  22. data/app/views/admin/pages/_fields.html.haml +4 -11
  23. data/app/views/admin/pages/_meta_row.html.haml +1 -5
  24. data/app/views/admin/pages/_node.html.haml +8 -8
  25. data/app/views/admin/pages/_popups.html.haml +1 -14
  26. data/app/views/admin/pages/index.html.haml +4 -4
  27. data/app/views/admin/snippets/_form.html.haml +1 -1
  28. data/app/views/admin/snippets/index.html.haml +10 -10
  29. data/app/views/admin/users/_avatar.html.haml +1 -3
  30. data/app/views/admin/users/_form.html.haml +2 -2
  31. data/app/views/admin/users/_password_fields.html.haml +2 -2
  32. data/app/views/admin/users/index.html.haml +10 -10
  33. data/app/views/layouts/application.html.haml +1 -1
  34. data/config/environment.rb +3 -5
  35. data/config/locales/en.yml +11 -48
  36. data/config/locales/en_available_tags.yml +34 -122
  37. data/config/routes.rb +6 -3
  38. data/db/schema.rb +3 -9
  39. data/db/templates/empty.yml +2 -0
  40. data/db/templates/roasters.yml +1210 -0
  41. data/db/templates/simple-blog.yml +197 -0
  42. data/db/templates/styled-blog.yml +472 -0
  43. data/features/admin/pages_management.feature +9 -2
  44. data/features/admin/resource_pagination.feature +1 -1
  45. data/features/admin/snippets_management.feature +1 -2
  46. data/features/admin/user_permissions.feature +1 -0
  47. data/features/admin/user_preferences.feature +1 -1
  48. data/features/step_definitions/admin/content_negotiation_steps.rb +0 -4
  49. data/features/step_definitions/admin/pagination_steps.rb +4 -2
  50. data/features/support/paths.rb +0 -2
  51. data/files +7283 -0
  52. data/lib/generators/extension/extension_generator.rb +0 -6
  53. data/lib/generators/extension/templates/README +1 -4
  54. data/lib/generators/extension/templates/RSpecRakefile +19 -0
  55. data/lib/generators/extension/templates/Rakefile +17 -0
  56. data/lib/generators/extension/templates/extension.rb +3 -3
  57. data/lib/generators/instance/instance_generator.rb +2 -3
  58. data/lib/generators/instance/templates/instance_environment.rb +2 -3
  59. data/lib/radiant.rb +2 -2
  60. data/lib/radiant/admin_ui.rb +11 -27
  61. data/lib/radiant/extension.rb +2 -8
  62. data/lib/radiant/extension_loader.rb +0 -4
  63. data/lib/radiant/initializer.rb +2 -46
  64. data/lib/radiant/setup.rb +11 -21
  65. data/lib/task_support.rb +8 -14
  66. data/lib/tasks/framework.rake +10 -17
  67. data/lib/tasks/prototype.rake +3 -3
  68. data/lib/tasks/release.rake +0 -1
  69. data/public/javascripts/admin/application.js +1 -1
  70. data/public/javascripts/admin/popup.js +7 -7
  71. data/public/javascripts/admin/tabcontrol.js +0 -1
  72. data/public/javascripts/admin/utility.js +2 -3
  73. data/public/stylesheets/admin/main.css +1213 -1
  74. data/public/stylesheets/admin/overrides.css +1 -0
  75. data/public/stylesheets/sass/admin/main.sass +20 -24
  76. data/public/stylesheets/sass/admin/modules/_links.sass +3 -6
  77. data/public/stylesheets/sass/admin/modules/_opacity.sass +2 -2
  78. data/public/stylesheets/sass/admin/modules/_rounded.sass +3 -3
  79. data/public/stylesheets/sass/admin/modules/_shadow.sass +2 -5
  80. data/public/stylesheets/sass/admin/partials/_actions.sass +38 -53
  81. data/public/stylesheets/sass/admin/partials/_avatars.sass +2 -2
  82. data/public/stylesheets/sass/admin/partials/_base.sass +58 -6
  83. data/public/stylesheets/sass/admin/partials/_content.sass +182 -10
  84. data/public/stylesheets/sass/admin/partials/_dateinput.sass +5 -5
  85. data/public/stylesheets/sass/admin/partials/_deprecated.sass +1 -1
  86. data/public/stylesheets/sass/admin/partials/_forms.sass +25 -26
  87. data/public/stylesheets/sass/admin/partials/_header.sass +9 -9
  88. data/public/stylesheets/sass/admin/partials/_popup.sass +1 -1
  89. data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +3 -4
  90. data/radiantcms-couchrest_model.gemspec +3673 -0
  91. data/rerun.txt +1 -0
  92. data/spec/controllers/admin/export_controller_spec.rb +16 -0
  93. data/spec/controllers/admin/pages_controller_spec.rb +6 -35
  94. data/spec/controllers/admin/preferences_controller_spec.rb +1 -1
  95. data/spec/datasets/config_dataset.rb +0 -1
  96. data/spec/datasets/home_page_dataset.rb +3 -1
  97. data/spec/datasets/pages_dataset.rb +1 -1
  98. data/spec/fixtures/radiant_config.yml +2 -2
  99. data/spec/generators/extension_generator_spec.rb +8 -28
  100. data/spec/generators/instance_generator_spec.rb +3 -10
  101. data/spec/helpers/admin/node_helper_spec.rb +0 -1
  102. data/spec/helpers/admin/references_helper_spec.rb +1 -10
  103. data/spec/helpers/application_helper_spec.rb +2 -7
  104. data/spec/lib/radiant/admin_ui_spec.rb +10 -11
  105. data/spec/lib/radiant/extension_spec.rb +3 -3
  106. data/spec/lib/task_support_spec.rb +0 -6
  107. data/spec/models/env_dump_page_spec.rb +18 -0
  108. data/spec/models/file_not_found_page_spec.rb +11 -15
  109. data/spec/models/page_spec.rb +166 -209
  110. data/spec/models/radiant/config_spec.rb +3 -38
  111. data/spec/models/radiant/exporter_spec.rb +25 -0
  112. data/spec/models/standard_tags_spec.rb +142 -132
  113. data/spec/models/status_spec.rb +0 -11
  114. data/spec/models/text_filter_spec.rb +2 -6
  115. data/test/fixtures/extensions/basic/basic_extension.rb +6 -1
  116. data/vendor/extensions/archive/README +29 -0
  117. data/vendor/extensions/archive/Rakefile +120 -0
  118. data/vendor/extensions/archive/app/models/archive_day_index_page.rb +28 -0
  119. data/vendor/extensions/archive/app/models/archive_finder.rb +60 -0
  120. data/vendor/extensions/archive/app/models/archive_month_index_page.rb +28 -0
  121. data/vendor/extensions/archive/app/models/archive_page.rb +36 -0
  122. data/vendor/extensions/archive/app/models/archive_year_index_page.rb +28 -0
  123. data/vendor/extensions/archive/archive_extension.rb +19 -0
  124. data/vendor/extensions/archive/lib/archive_index_tags_and_methods.rb +57 -0
  125. data/vendor/extensions/archive/lib/tasks/archive_extension_tasks.rake +28 -0
  126. data/vendor/extensions/archive/spec/datasets/archive_dataset.rb +51 -0
  127. data/vendor/extensions/archive/spec/models/archive_day_index_page_spec.rb +20 -0
  128. data/vendor/extensions/archive/spec/models/archive_month_index_page_spec.rb +20 -0
  129. data/vendor/extensions/archive/spec/models/archive_page_spec.rb +33 -0
  130. data/vendor/extensions/archive/spec/models/archive_year_index_page_spec.rb +20 -0
  131. data/vendor/extensions/archive/spec/spec.opts +6 -0
  132. data/vendor/extensions/archive/spec/spec_helper.rb +36 -0
  133. data/vendor/extensions/archive/test/fixtures/pages.yml +397 -0
  134. data/vendor/extensions/archive/test/functional/archive_extension_test.rb +16 -0
  135. data/vendor/extensions/archive/test/helpers/archive_index_test_helper.rb +37 -0
  136. data/vendor/extensions/archive/test/test_helper.rb +26 -0
  137. data/vendor/extensions/archive/test/unit/archive_day_index_page_test.rb +22 -0
  138. data/vendor/extensions/archive/test/unit/archive_month_index_page_test.rb +22 -0
  139. data/vendor/extensions/archive/test/unit/archive_page_test.rb +40 -0
  140. data/vendor/extensions/archive/test/unit/archive_year_index_page_test.rb +22 -0
  141. data/vendor/extensions/dutch_language_pack/README +3 -0
  142. data/vendor/extensions/dutch_language_pack/Rakefile +123 -0
  143. data/vendor/extensions/dutch_language_pack/config/locales/nl.yml +187 -0
  144. data/vendor/extensions/dutch_language_pack/config/locales/nl_available_tags.yml +553 -0
  145. data/vendor/extensions/dutch_language_pack/dutch_language_pack_extension.rb +9 -0
  146. data/vendor/extensions/dutch_language_pack/lib/tasks/i18n_nl_extension_tasks.rake +28 -0
  147. data/vendor/extensions/french_language_pack/README +3 -0
  148. data/vendor/extensions/french_language_pack/Rakefile +123 -0
  149. data/vendor/extensions/french_language_pack/config/locales/fr.yml +190 -0
  150. data/vendor/extensions/french_language_pack/config/locales/fr_available_tags.yml +553 -0
  151. data/vendor/extensions/french_language_pack/french_language_pack_extension.rb +9 -0
  152. data/vendor/extensions/french_language_pack/lib/tasks/i18n_fr_extension_tasks.rake +28 -0
  153. data/vendor/extensions/german_language_pack/README +4 -0
  154. data/vendor/extensions/german_language_pack/Rakefile +123 -0
  155. data/vendor/extensions/german_language_pack/config/locales/de.yml +186 -0
  156. data/vendor/extensions/german_language_pack/config/locales/de_available_tags.yml +624 -0
  157. data/vendor/extensions/german_language_pack/german_language_pack_extension.rb +9 -0
  158. data/vendor/extensions/german_language_pack/lib/tasks/i18n_de_extension_tasks.rake +28 -0
  159. data/vendor/extensions/italian_language_pack/README +3 -0
  160. data/vendor/extensions/italian_language_pack/Rakefile +123 -0
  161. data/vendor/extensions/italian_language_pack/config/locales/it.yml +184 -0
  162. data/vendor/extensions/italian_language_pack/config/locales/it_available_tags.yml +553 -0
  163. data/vendor/extensions/italian_language_pack/italian_language_pack_extension.rb +8 -0
  164. data/vendor/extensions/italian_language_pack/lib/tasks/i18n_it_extension_tasks.rake +28 -0
  165. data/vendor/extensions/japanese_language_pack/README +3 -0
  166. data/vendor/extensions/japanese_language_pack/Rakefile +123 -0
  167. data/vendor/extensions/japanese_language_pack/config/locales/ja.yml +184 -0
  168. data/vendor/extensions/japanese_language_pack/config/locales/ja_available_tags.yml +553 -0
  169. data/vendor/extensions/japanese_language_pack/japanese_language_pack_extension.rb +9 -0
  170. data/vendor/extensions/japanese_language_pack/lib/tasks/i18n_ja_extension_tasks.rake +28 -0
  171. data/vendor/extensions/markdown_filter/README +1 -0
  172. data/vendor/extensions/markdown_filter/Rakefile +120 -0
  173. data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +14 -0
  174. data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +18 -0
  175. data/vendor/extensions/markdown_filter/lib/tasks/markdown_filter_extension_tasks.rake +28 -0
  176. data/vendor/extensions/markdown_filter/markdown.html +123 -0
  177. data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +18 -0
  178. data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +22 -0
  179. data/vendor/extensions/markdown_filter/spec/spec.opts +6 -0
  180. data/vendor/extensions/markdown_filter/spec/spec_helper.rb +36 -0
  181. data/vendor/extensions/markdown_filter/test/test_helper.rb +19 -0
  182. data/vendor/extensions/markdown_filter/test/unit/markdown_filter_test.rb +18 -0
  183. data/vendor/extensions/markdown_filter/vendor/kramdown/AUTHORS +1 -0
  184. data/vendor/extensions/markdown_filter/vendor/kramdown/CONTRIBUTERS +4 -0
  185. data/vendor/extensions/markdown_filter/vendor/kramdown/COPYING +24 -0
  186. data/vendor/extensions/markdown_filter/vendor/kramdown/ChangeLog +3956 -0
  187. data/vendor/extensions/markdown_filter/vendor/kramdown/GPL +674 -0
  188. data/vendor/extensions/markdown_filter/vendor/kramdown/README +30 -0
  189. data/vendor/extensions/markdown_filter/vendor/kramdown/Rakefile +342 -0
  190. data/vendor/extensions/markdown_filter/vendor/kramdown/VERSION +1 -0
  191. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/benchmark.rb +34 -0
  192. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/generate_data.rb +112 -0
  193. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-jruby-1.4.0.dat +7 -0
  194. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.6.dat +7 -0
  195. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.7.dat +7 -0
  196. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.1p243.dat +7 -0
  197. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.2dev.dat +7 -0
  198. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdbasics.text +306 -0
  199. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdsyntax.text +888 -0
  200. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-jruby-1.4.0.dat +7 -0
  201. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.6.dat +7 -0
  202. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.7.dat +7 -0
  203. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.1p243.dat +7 -0
  204. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.2dev.dat +7 -0
  205. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/testing.sh +9 -0
  206. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/timing.sh +10 -0
  207. data/vendor/extensions/markdown_filter/vendor/kramdown/bin/kramdown +78 -0
  208. data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.html +9 -0
  209. data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.latex +43 -0
  210. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.less.css +510 -0
  211. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.template +71 -0
  212. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/documentation.page +72 -0
  213. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/index.page +63 -0
  214. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/installation.page +90 -0
  215. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/links.markdown +6 -0
  216. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.feed +10 -0
  217. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.page +28 -0
  218. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/quickref.page +564 -0
  219. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/syntax.page +1521 -0
  220. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/tests.page +51 -0
  221. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/virtual +2 -0
  222. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown.rb +23 -0
  223. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/compatibility.rb +34 -0
  224. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter.rb +41 -0
  225. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/base.rb +111 -0
  226. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/html.rb +397 -0
  227. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/latex.rb +555 -0
  228. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/document.rb +164 -0
  229. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/error.rb +27 -0
  230. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/options.rb +282 -0
  231. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser.rb +39 -0
  232. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/base.rb +95 -0
  233. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/html.rb +387 -0
  234. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown.rb +301 -0
  235. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/abbreviation.rb +65 -0
  236. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/attribute_list.rb +103 -0
  237. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/autolink.rb +47 -0
  238. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blank_line.rb +43 -0
  239. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blockquote.rb +42 -0
  240. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codeblock.rb +58 -0
  241. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codespan.rb +57 -0
  242. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/emphasis.rb +70 -0
  243. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/eob.rb +39 -0
  244. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/escaped_chars.rb +38 -0
  245. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/extension.rb +101 -0
  246. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/footnote.rb +73 -0
  247. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/header.rb +66 -0
  248. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/horizontal_rule.rb +39 -0
  249. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html.rb +173 -0
  250. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html_entity.rb +38 -0
  251. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/line_break.rb +38 -0
  252. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/link.rb +153 -0
  253. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/list.rb +228 -0
  254. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/math.rb +53 -0
  255. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/paragraph.rb +44 -0
  256. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/smart_quotes.rb +214 -0
  257. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/table.rb +126 -0
  258. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/typographic_symbol.rb +52 -0
  259. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/version.rb +28 -0
  260. data/vendor/extensions/markdown_filter/vendor/kramdown/man/man1/kramdown.1 +222 -0
  261. data/vendor/extensions/markdown_filter/vendor/kramdown/setup.rb +1585 -0
  262. data/vendor/extensions/markdown_filter/vendor/kramdown/test/run_tests.rb +59 -0
  263. data/vendor/extensions/markdown_filter/vendor/kramdown/test/test_files.rb +100 -0
  264. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.html +1 -0
  265. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.text +3 -0
  266. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.html +1 -0
  267. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.text +6 -0
  268. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.html +1 -0
  269. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.text +3 -0
  270. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.html +1 -0
  271. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.text +3 -0
  272. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.html +2 -0
  273. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.text +5 -0
  274. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.html +18 -0
  275. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.text +19 -0
  276. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
  277. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
  278. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.html +1 -0
  279. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.text +1 -0
  280. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.html +4 -0
  281. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.text +4 -0
  282. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.html +34 -0
  283. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.text +32 -0
  284. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
  285. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
  286. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.html +31 -0
  287. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.text +36 -0
  288. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
  289. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
  290. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.html +3 -0
  291. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.options +2 -0
  292. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.text +3 -0
  293. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.html +17 -0
  294. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.options +1 -0
  295. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.text +19 -0
  296. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.html +25 -0
  297. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.text +14 -0
  298. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.html +9 -0
  299. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.text +5 -0
  300. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
  301. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
  302. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.html +8 -0
  303. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.text +4 -0
  304. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
  305. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
  306. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.html +4 -0
  307. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.text +4 -0
  308. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
  309. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
  310. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.html +13 -0
  311. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.text +10 -0
  312. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
  313. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
  314. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.html +3 -0
  315. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.text +3 -0
  316. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
  317. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.text +12 -0
  318. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
  319. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
  320. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.html +7 -0
  321. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.text +7 -0
  322. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.html +19 -0
  323. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.text +19 -0
  324. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.html +3 -0
  325. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.text +3 -0
  326. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.html +3 -0
  327. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.text +3 -0
  328. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.html +17 -0
  329. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.text +17 -0
  330. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.html +9 -0
  331. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.text +5 -0
  332. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.html +9 -0
  333. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.text +5 -0
  334. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.html +38 -0
  335. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.text +25 -0
  336. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.html +117 -0
  337. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.text +66 -0
  338. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.html +17 -0
  339. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.text +7 -0
  340. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.html +39 -0
  341. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.text +18 -0
  342. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.html +19 -0
  343. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.text +13 -0
  344. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.html +61 -0
  345. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.text +43 -0
  346. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.html +3 -0
  347. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.text +1 -0
  348. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.html +78 -0
  349. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.text +48 -0
  350. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.html +18 -0
  351. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.text +15 -0
  352. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.html +6 -0
  353. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.options +1 -0
  354. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.text +6 -0
  355. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.html +14 -0
  356. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.options +1 -0
  357. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.text +14 -0
  358. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.html +1 -0
  359. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.options +1 -0
  360. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.text +1 -0
  361. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
  362. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
  363. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
  364. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.html +10 -0
  365. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.text +9 -0
  366. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.html +7 -0
  367. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.text +8 -0
  368. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.html +1 -0
  369. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.text +1 -0
  370. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.html +1 -0
  371. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.text +1 -0
  372. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.html +6 -0
  373. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.options +2 -0
  374. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.text +6 -0
  375. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
  376. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
  377. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
  378. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
  379. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
  380. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
  381. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/options +1 -0
  382. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
  383. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
  384. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.html +13 -0
  385. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
  386. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.html +10 -0
  387. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.text +14 -0
  388. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.html +1 -0
  389. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.text +1 -0
  390. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.html +3 -0
  391. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.text +5 -0
  392. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.html +5 -0
  393. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.text +5 -0
  394. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.html +38 -0
  395. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.text +38 -0
  396. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.html +24 -0
  397. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.text +24 -0
  398. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.html +30 -0
  399. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.options +1 -0
  400. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.text +29 -0
  401. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.html +12 -0
  402. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.options +1 -0
  403. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.text +9 -0
  404. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.html +21 -0
  405. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.options +1 -0
  406. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.text +17 -0
  407. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.html +13 -0
  408. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.text +12 -0
  409. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.html +62 -0
  410. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.options +1 -0
  411. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.text +57 -0
  412. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.html +2 -0
  413. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.text +8 -0
  414. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.html +1 -0
  415. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.options +1 -0
  416. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.text +2 -0
  417. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.html +25 -0
  418. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.text +34 -0
  419. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.html +5 -0
  420. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.text +11 -0
  421. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.html +4 -0
  422. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.text +8 -0
  423. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.html +6 -0
  424. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.text +11 -0
  425. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.html +24 -0
  426. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.text +27 -0
  427. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.html +10 -0
  428. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.text +5 -0
  429. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.html +7 -0
  430. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.text +7 -0
  431. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.html +1 -0
  432. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.text +1 -0
  433. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.html +13 -0
  434. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.text +10 -0
  435. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.html +2 -0
  436. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.text +2 -0
  437. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.html +10 -0
  438. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.text +6 -0
  439. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.html +8 -0
  440. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.text +5 -0
  441. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.html +8 -0
  442. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.text +7 -0
  443. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.html +4 -0
  444. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.text +2 -0
  445. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.html +3 -0
  446. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.text +4 -0
  447. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.html +38 -0
  448. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.text +24 -0
  449. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.html +3 -0
  450. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.text +3 -0
  451. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.html +65 -0
  452. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.text +25 -0
  453. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.html +103 -0
  454. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.text +32 -0
  455. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.html +3 -0
  456. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.text +3 -0
  457. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.html +61 -0
  458. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.text +16 -0
  459. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.html +19 -0
  460. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.text +18 -0
  461. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.html +46 -0
  462. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.text +28 -0
  463. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.html +3 -0
  464. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.text +3 -0
  465. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.html +5 -0
  466. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.text +5 -0
  467. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.html +12 -0
  468. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.text +14 -0
  469. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.html +40 -0
  470. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.text +42 -0
  471. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.html +8 -0
  472. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.text +22 -0
  473. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
  474. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
  475. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.html +32 -0
  476. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.text +42 -0
  477. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.html +3 -0
  478. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.text +3 -0
  479. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.html +9 -0
  480. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.text +9 -0
  481. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.html +38 -0
  482. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.text +33 -0
  483. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.html +46 -0
  484. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.text +46 -0
  485. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.html +5 -0
  486. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.text +5 -0
  487. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.html +1 -0
  488. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.text +1 -0
  489. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.html +16 -0
  490. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.text +16 -0
  491. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.html +14 -0
  492. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.latex +18 -0
  493. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.text +18 -0
  494. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.html +12 -0
  495. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.latex +6 -0
  496. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.options +1 -0
  497. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.text +4 -0
  498. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.html +46 -0
  499. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.latex +32 -0
  500. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.text +26 -0
  501. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.html +1 -0
  502. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.text +2 -0
  503. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.html +1 -0
  504. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.text +1 -0
  505. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.html +1 -0
  506. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.text +1 -0
  507. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.html +6 -0
  508. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.text +6 -0
  509. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.html +28 -0
  510. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.text +28 -0
  511. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.html +8 -0
  512. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.text +15 -0
  513. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.html +2 -0
  514. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.text +5 -0
  515. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.html +12 -0
  516. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.text +12 -0
  517. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.html +41 -0
  518. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.text +41 -0
  519. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.html +6 -0
  520. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.text +6 -0
  521. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.html +1 -0
  522. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.text +1 -0
  523. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.html +1 -0
  524. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.text +1 -0
  525. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.html +1 -0
  526. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.text +1 -0
  527. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.html +6 -0
  528. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.text +6 -0
  529. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.html +11 -0
  530. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.text +11 -0
  531. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.html +5 -0
  532. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.text +5 -0
  533. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.html +4 -0
  534. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.text +4 -0
  535. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.html +1 -0
  536. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.text +1 -0
  537. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.html +1 -0
  538. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.text +1 -0
  539. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.html +18 -0
  540. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.text +18 -0
  541. data/vendor/extensions/russian_language_pack/README +3 -0
  542. data/vendor/extensions/russian_language_pack/Rakefile +123 -0
  543. data/vendor/extensions/russian_language_pack/config/locales/ru.yml +180 -0
  544. data/vendor/extensions/russian_language_pack/config/locales/ru_available_tags.yml +553 -0
  545. data/vendor/extensions/russian_language_pack/lib/tasks/i18n_ru_extension_tasks.rake +28 -0
  546. data/vendor/extensions/russian_language_pack/russian_language_pack_extension.rb +9 -0
  547. data/vendor/extensions/smarty_pants_filter/README +1 -0
  548. data/vendor/extensions/smarty_pants_filter/Rakefile +136 -0
  549. data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_filter.rb +7 -0
  550. data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_tags.rb +18 -0
  551. data/vendor/extensions/smarty_pants_filter/lib/tasks/smarty_pants_filter_extension_tasks.rake +28 -0
  552. data/vendor/extensions/smarty_pants_filter/smarty_pants_filter_extension.rb +18 -0
  553. data/vendor/extensions/smarty_pants_filter/smartypants.html +47 -0
  554. data/vendor/extensions/smarty_pants_filter/spec/models/smarty_pants_filter_spec.rb +19 -0
  555. data/vendor/extensions/smarty_pants_filter/spec/spec.opts +6 -0
  556. data/vendor/extensions/smarty_pants_filter/spec/spec_helper.rb +36 -0
  557. data/vendor/extensions/smarty_pants_filter/test/test_helper.rb +19 -0
  558. data/vendor/extensions/smarty_pants_filter/test/unit/smarty_pants_filter_test.rb +14 -0
  559. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/README +114 -0
  560. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/Rakefile +84 -0
  561. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/install.rb +9 -0
  562. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/rubypants.rb +490 -0
  563. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/test_rubypants.rb +162 -0
  564. data/vendor/extensions/textile_filter/README +1 -0
  565. data/vendor/extensions/textile_filter/Rakefile +120 -0
  566. data/vendor/extensions/textile_filter/lib/tasks/textile_filter_extension_tasks.rake +0 -0
  567. data/vendor/extensions/textile_filter/lib/textile_filter.rb +6 -0
  568. data/vendor/extensions/textile_filter/lib/textile_tags.rb +24 -0
  569. data/vendor/extensions/textile_filter/spec/models/textile_filter_spec.rb +19 -0
  570. data/vendor/extensions/textile_filter/spec/spec.opts +6 -0
  571. data/vendor/extensions/textile_filter/spec/spec_helper.rb +36 -0
  572. data/vendor/extensions/textile_filter/test/test_helper.rb +19 -0
  573. data/vendor/extensions/textile_filter/test/unit/textile_filter_test.rb +13 -0
  574. data/vendor/extensions/textile_filter/textile.html +115 -0
  575. data/vendor/extensions/textile_filter/textile_filter_extension.rb +10 -0
  576. data/vendor/plugins/haml/README.md +154 -95
  577. data/vendor/plugins/haml/Rakefile +91 -104
  578. data/vendor/plugins/haml/TODO +20 -26
  579. data/vendor/plugins/haml/VERSION +1 -1
  580. data/vendor/plugins/haml/VERSION_NAME +1 -1
  581. data/vendor/plugins/haml/bin/css2sass +1 -7
  582. data/vendor/plugins/haml/doc-src/FAQ.md +4 -16
  583. data/vendor/plugins/haml/doc-src/HAML_CHANGELOG.md +1 -536
  584. data/vendor/plugins/haml/doc-src/HAML_REFERENCE.md +16 -176
  585. data/vendor/plugins/haml/doc-src/SASS_CHANGELOG.md +0 -1159
  586. data/vendor/plugins/haml/doc-src/SASS_REFERENCE.md +632 -1162
  587. data/vendor/plugins/haml/extra/haml-mode.el +34 -36
  588. data/vendor/plugins/haml/extra/sass-mode.el +9 -10
  589. data/vendor/plugins/haml/haml.gemspec +33 -8
  590. data/vendor/plugins/haml/lib/haml.rb +2 -5
  591. data/vendor/plugins/haml/lib/haml/buffer.rb +4 -22
  592. data/vendor/plugins/haml/lib/haml/engine.rb +4 -13
  593. data/vendor/plugins/haml/lib/haml/exec.rb +64 -456
  594. data/vendor/plugins/haml/lib/haml/filters.rb +1 -19
  595. data/vendor/plugins/haml/lib/haml/helpers.rb +19 -40
  596. data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +12 -38
  597. data/vendor/plugins/haml/lib/haml/helpers/xss_mods.rb +2 -13
  598. data/vendor/plugins/haml/lib/haml/html.rb +49 -209
  599. data/vendor/plugins/haml/lib/haml/precompiler.rb +89 -130
  600. data/vendor/plugins/haml/lib/haml/railtie.rb +13 -16
  601. data/vendor/plugins/haml/lib/haml/template.rb +12 -13
  602. data/vendor/plugins/haml/lib/haml/template/plugin.rb +6 -18
  603. data/vendor/plugins/haml/lib/haml/util.rb +44 -483
  604. data/vendor/plugins/haml/lib/haml/version.rb +2 -25
  605. data/vendor/plugins/haml/lib/sass.rb +2 -7
  606. data/vendor/plugins/haml/lib/sass/css.rb +196 -86
  607. data/vendor/plugins/haml/lib/sass/engine.rb +99 -304
  608. data/vendor/plugins/haml/lib/sass/environment.rb +3 -67
  609. data/vendor/plugins/haml/lib/sass/error.rb +25 -166
  610. data/vendor/plugins/haml/lib/sass/files.rb +38 -43
  611. data/vendor/plugins/haml/lib/sass/plugin.rb +150 -198
  612. data/vendor/plugins/haml/lib/sass/plugin/merb.rb +20 -8
  613. data/vendor/plugins/haml/lib/sass/plugin/rack.rb +20 -2
  614. data/vendor/plugins/haml/lib/sass/plugin/rails.rb +9 -16
  615. data/vendor/plugins/haml/lib/sass/repl.rb +1 -1
  616. data/vendor/plugins/haml/lib/sass/script.rb +31 -32
  617. data/vendor/plugins/haml/lib/sass/script/bool.rb +1 -2
  618. data/vendor/plugins/haml/lib/sass/script/color.rb +26 -295
  619. data/vendor/plugins/haml/lib/sass/script/funcall.rb +6 -33
  620. data/vendor/plugins/haml/lib/sass/script/functions.rb +33 -637
  621. data/vendor/plugins/haml/lib/sass/script/lexer.rb +57 -200
  622. data/vendor/plugins/haml/lib/sass/script/literal.rb +10 -69
  623. data/vendor/plugins/haml/lib/sass/script/node.rb +1 -99
  624. data/vendor/plugins/haml/lib/sass/script/number.rb +24 -64
  625. data/vendor/plugins/haml/lib/sass/script/operation.rb +3 -53
  626. data/vendor/plugins/haml/lib/sass/script/parser.rb +50 -229
  627. data/vendor/plugins/haml/lib/sass/script/string.rb +2 -57
  628. data/vendor/plugins/haml/lib/sass/script/unary_operation.rb +2 -25
  629. data/vendor/plugins/haml/lib/sass/script/variable.rb +5 -22
  630. data/vendor/plugins/haml/lib/sass/tree/comment_node.rb +27 -71
  631. data/vendor/plugins/haml/lib/sass/tree/debug_node.rb +2 -8
  632. data/vendor/plugins/haml/lib/sass/tree/directive_node.rb +37 -44
  633. data/vendor/plugins/haml/lib/sass/tree/for_node.rb +0 -19
  634. data/vendor/plugins/haml/lib/sass/tree/if_node.rb +0 -26
  635. data/vendor/plugins/haml/lib/sass/tree/import_node.rb +27 -64
  636. data/vendor/plugins/haml/lib/sass/tree/mixin_def_node.rb +0 -31
  637. data/vendor/plugins/haml/lib/sass/tree/mixin_node.rb +7 -82
  638. data/vendor/plugins/haml/lib/sass/tree/node.rb +77 -291
  639. data/vendor/plugins/haml/lib/sass/tree/prop_node.rb +58 -157
  640. data/vendor/plugins/haml/lib/sass/tree/rule_node.rb +137 -178
  641. data/vendor/plugins/haml/lib/sass/tree/variable_node.rb +5 -10
  642. data/vendor/plugins/haml/lib/sass/tree/while_node.rb +0 -17
  643. data/vendor/plugins/haml/test/benchmark.rb +5 -5
  644. data/vendor/plugins/haml/test/haml/engine_test.rb +19 -530
  645. data/vendor/plugins/haml/test/haml/helper_test.rb +7 -124
  646. data/vendor/plugins/haml/test/haml/html2haml_test.rb +66 -250
  647. data/vendor/plugins/haml/test/haml/results/filters.xhtml +1 -1
  648. data/vendor/plugins/haml/test/haml/results/helpers.xhtml +23 -0
  649. data/vendor/plugins/haml/test/haml/results/just_stuff.xhtml +0 -2
  650. data/vendor/plugins/haml/test/haml/rhtml/_av_partial_1.rhtml +12 -0
  651. data/vendor/plugins/haml/test/haml/rhtml/_av_partial_2.rhtml +8 -0
  652. data/vendor/plugins/haml/test/haml/rhtml/action_view.rhtml +62 -0
  653. data/vendor/plugins/haml/test/haml/rhtml/standard.rhtml +54 -0
  654. data/vendor/plugins/haml/test/haml/template_test.rb +3 -33
  655. data/vendor/plugins/haml/test/haml/templates/helpers.haml +66 -0
  656. data/vendor/plugins/haml/test/haml/templates/just_stuff.haml +0 -2
  657. data/vendor/plugins/haml/test/haml/util_test.rb +0 -161
  658. data/vendor/plugins/haml/test/linked_rails.rb +1 -22
  659. data/vendor/plugins/haml/test/sass/css2sass_test.rb +18 -130
  660. data/vendor/plugins/haml/test/sass/engine_test.rb +138 -1426
  661. data/vendor/plugins/haml/test/sass/functions_test.rb +47 -429
  662. data/vendor/plugins/haml/test/sass/more_results/more_import.css +1 -1
  663. data/vendor/plugins/haml/test/sass/more_templates/more_import.sass +3 -3
  664. data/vendor/plugins/haml/test/sass/plugin_test.rb +56 -246
  665. data/vendor/plugins/haml/test/sass/results/compact.css +1 -1
  666. data/vendor/plugins/haml/test/sass/results/complex.css +6 -5
  667. data/vendor/plugins/haml/test/sass/results/compressed.css +1 -1
  668. data/vendor/plugins/haml/test/sass/results/expanded.css +1 -1
  669. data/vendor/plugins/haml/test/sass/results/import.css +1 -3
  670. data/vendor/plugins/haml/test/sass/results/mixins.css +12 -12
  671. data/vendor/plugins/haml/test/sass/results/nested.css +1 -1
  672. data/vendor/plugins/haml/test/sass/results/parent_ref.css +4 -4
  673. data/vendor/plugins/haml/test/sass/results/script.css +4 -4
  674. data/vendor/plugins/haml/test/sass/script_test.rb +78 -281
  675. data/vendor/plugins/haml/test/sass/templates/alt.sass +2 -2
  676. data/vendor/plugins/haml/test/sass/templates/basic.sass +1 -1
  677. data/vendor/plugins/haml/test/sass/templates/bork.sass +2 -0
  678. data/vendor/plugins/haml/test/sass/templates/complex.sass +2 -0
  679. data/vendor/plugins/haml/test/sass/templates/import.sass +4 -5
  680. data/vendor/plugins/haml/test/sass/templates/importee.sass +3 -3
  681. data/vendor/plugins/haml/test/sass/templates/line_numbers.sass +1 -1
  682. data/vendor/plugins/haml/test/sass/templates/mixins.sass +2 -2
  683. data/vendor/plugins/haml/test/sass/templates/parent_ref.sass +2 -2
  684. data/vendor/plugins/haml/test/sass/templates/script.sass +69 -69
  685. data/vendor/plugins/haml/test/sass/templates/units.sass +10 -10
  686. data/vendor/plugins/haml/test/test_helper.rb +4 -52
  687. data/vendor/plugins/haml/yard/default/fulldoc/html/css/common.sass +1 -5
  688. metadata +2926 -2487
  689. data/vendor/rack-cache/CHANGES +0 -128
  690. data/vendor/rack-cache/COPYING +0 -18
  691. data/vendor/rack-cache/README +0 -110
  692. data/vendor/rack-cache/Rakefile +0 -137
  693. data/vendor/rack-cache/TODO +0 -31
  694. data/vendor/rack-cache/doc/configuration.markdown +0 -86
  695. data/vendor/rack-cache/doc/faq.markdown +0 -141
  696. data/vendor/rack-cache/doc/index.markdown +0 -118
  697. data/vendor/rack-cache/doc/layout.html.erb +0 -34
  698. data/vendor/rack-cache/doc/license.markdown +0 -24
  699. data/vendor/rack-cache/doc/rack-cache.css +0 -362
  700. data/vendor/rack-cache/doc/server.ru +0 -34
  701. data/vendor/rack-cache/doc/storage.markdown +0 -162
  702. data/vendor/rack-cache/example/sinatra/app.rb +0 -25
  703. data/vendor/rack-cache/example/sinatra/views/index.erb +0 -44
  704. data/vendor/rack-cache/lib/rack/cache.rb +0 -45
  705. data/vendor/rack-cache/lib/rack/cache/cachecontrol.rb +0 -193
  706. data/vendor/rack-cache/lib/rack/cache/context.rb +0 -233
  707. data/vendor/rack-cache/lib/rack/cache/entitystore.rb +0 -253
  708. data/vendor/rack-cache/lib/rack/cache/key.rb +0 -52
  709. data/vendor/rack-cache/lib/rack/cache/metastore.rb +0 -328
  710. data/vendor/rack-cache/lib/rack/cache/options.rb +0 -150
  711. data/vendor/rack-cache/lib/rack/cache/request.rb +0 -33
  712. data/vendor/rack-cache/lib/rack/cache/response.rb +0 -267
  713. data/vendor/rack-cache/lib/rack/cache/storage.rb +0 -49
  714. data/vendor/rack-cache/rack-cache.gemspec +0 -69
  715. data/vendor/rack-cache/test/cache_test.rb +0 -38
  716. data/vendor/rack-cache/test/cachecontrol_test.rb +0 -139
  717. data/vendor/rack-cache/test/context_test.rb +0 -727
  718. data/vendor/rack-cache/test/entitystore_test.rb +0 -189
  719. data/vendor/rack-cache/test/key_test.rb +0 -50
  720. data/vendor/rack-cache/test/metastore_test.rb +0 -263
  721. data/vendor/rack-cache/test/options_test.rb +0 -78
  722. data/vendor/rack-cache/test/pony.jpg +0 -0
  723. data/vendor/rack-cache/test/request_test.rb +0 -19
  724. data/vendor/rack-cache/test/response_test.rb +0 -178
  725. data/vendor/rack-cache/test/spec_setup.rb +0 -202
  726. data/vendor/rack-cache/test/storage_test.rb +0 -94
@@ -5,32 +5,11 @@ if File.exists?(linked_rails) && !$:.include?(linked_rails + '/activesupport/lib
5
5
  puts "[ using linked Rails ]"
6
6
  $:.unshift linked_rails + '/activesupport/lib'
7
7
  $:.unshift linked_rails + '/actionpack/lib'
8
- $:.unshift linked_rails + '/railties/lib'
9
8
  end
10
9
  require 'rubygems'
11
10
  require 'action_controller'
12
11
  require 'action_view'
13
12
 
14
- begin
15
- # Necessary for Rails 3
16
- require 'rails'
17
- rescue LoadError
18
- # Necessary for Rails 2.3.7
19
- require 'initializer'
20
- rescue LoadError
21
- end
22
-
23
- if defined?(Rails::Application) # Rails 3
24
- class TestApp < Rails::Application
25
- config.root = File.join(File.dirname(__FILE__), "../..")
26
- end
27
- Rails.application = TestApp
28
- elsif defined?(RAILS_ROOT)
29
- RAILS_ROOT.replace(File.join(File.dirname(__FILE__), "../.."))
30
- else
31
- RAILS_ROOT = File.join(File.dirname(__FILE__), "../..")
32
- end
33
-
34
13
  ActionController::Base.logger = Logger.new(nil)
35
14
 
36
15
  # Load plugins from test/plugins.
@@ -38,5 +17,5 @@ ActionController::Base.logger = Logger.new(nil)
38
17
  # since we don't want to load the entirety of Rails.
39
18
  Dir[File.dirname(__FILE__) + '/plugins/*'].each do |plugin|
40
19
  $: << plugin + '/lib'
41
- eval(File.read(plugin + '/init.rb'))
20
+ Object.new.instance_eval(File.read(plugin + '/init.rb'))
42
21
  end
@@ -24,10 +24,13 @@ SASS
24
24
  assert_equal(<<SASS, css2sass(<<CSS))
25
25
  li
26
26
  display: none
27
+
27
28
  a
28
29
  text-decoration: none
30
+
29
31
  span
30
32
  color: yellow
33
+
31
34
  &:hover
32
35
  text-decoration: underline
33
36
  SASS
@@ -54,9 +57,11 @@ CSS
54
57
  div .warning
55
58
  color: #d21a19
56
59
 
60
+
57
61
  span .debug
58
62
  cursor: crosshair
59
63
 
64
+
60
65
  div .debug
61
66
  cursor: default
62
67
  SASS
@@ -99,34 +104,27 @@ span.turkey {
99
104
  } /* just a line here */
100
105
  CSS
101
106
  sass = <<SASS
102
- /* comment
103
-
104
107
  elephant.rawr
105
108
  rampages: excessively
106
109
 
107
- /* actual multiline
108
- *comment
109
110
 
110
111
  span.turkey
111
112
  isdinner: true
112
113
 
114
+
113
115
  .turducken
114
- /* Sounds funny
115
- * doesn't it
116
116
  chimera: not_really
117
117
 
118
+
118
119
  #overhere
119
120
  bored: sorta
120
- /* it's for a good
121
- * cause
122
121
  better_than: thread_pools
123
122
 
123
+
124
124
  #one_more
125
125
  finally: srsly
126
-
127
- /* just a line here
128
126
  SASS
129
- assert_equal(sass, css2sass(css))
127
+ assert_equal(css2sass(css), sass)
130
128
  end
131
129
 
132
130
  def test_fold_commas
@@ -147,10 +145,12 @@ CSS
147
145
  .one
148
146
  color: green
149
147
 
148
+
150
149
  .two
151
150
  color: green
152
151
  color: red
153
152
 
153
+
154
154
  .three
155
155
  color: red
156
156
  SASS
@@ -168,15 +168,20 @@ CSS
168
168
  assert_equal(<<SASS, css2sass(<<CSS))
169
169
  hello
170
170
  parent: true
171
+
171
172
  there
172
173
  parent: false
174
+
173
175
  who
174
176
  hoo: false
177
+
175
178
  why
176
179
  y: true
180
+
177
181
  when
178
182
  wen: nao
179
183
 
184
+
180
185
  down_here
181
186
  yeah: true
182
187
  SASS
@@ -209,6 +214,7 @@ CSS
209
214
  #location-navigation-form .form-submit, #business-listing-form .form-submit, #detailTabs ul, #detailsEnhanced #addTags, #locationSearchList, #moreHoods
210
215
  display: none
211
216
 
217
+
212
218
  #navListLeft
213
219
  display: none
214
220
  SASS
@@ -229,6 +235,7 @@ CSS
229
235
  assert_equal(<<SASS, css2sass(<<CSS))
230
236
  \\:focus
231
237
  a: b
238
+
232
239
  \\:foo
233
240
  bar: baz
234
241
  SASS
@@ -237,125 +244,6 @@ SASS
237
244
  CSS
238
245
  end
239
246
 
240
- # Regressions
241
-
242
- def test_nesting_within_media
243
- assert_equal(<<SASS, css2sass(<<CSS))
244
- @media all
245
- .next .vevent
246
- padding-left: 0
247
- padding-right: 0
248
- SASS
249
- @media all {
250
- .next .vevent {
251
- padding-left: 0;
252
- padding-right: 0; } }
253
- CSS
254
- end
255
-
256
- def test_multiline_selector_within_media_and_with_child_selector
257
- assert_equal(<<SASS, css2sass(<<CSS))
258
- @media all
259
- foo bar, baz
260
- padding-left: 0
261
- padding-right: 0
262
- SASS
263
- @media all {
264
- foo bar,
265
- baz {
266
- padding-left: 0;
267
- padding-right: 0; } }
268
- CSS
269
- end
270
-
271
- # Error reporting
272
-
273
- def test_error_reporting
274
- css2sass("foo")
275
- assert(false, "Expected exception")
276
- rescue Sass::SyntaxError => err
277
- assert_equal(1, err.sass_line)
278
- assert_equal('Invalid CSS after "foo": expected "{", was ""', err.message)
279
- end
280
-
281
- def test_error_reporting_in_line
282
- css2sass("foo\nbar }\nbaz")
283
- assert(false, "Expected exception")
284
- rescue Sass::SyntaxError => err
285
- assert_equal(2, err.sass_line)
286
- assert_equal('Invalid CSS after "bar ": expected "{", was "}"', err.message)
287
- end
288
-
289
- def test_error_truncate_after
290
- css2sass("#{"a" * 16}foo")
291
- assert(false, "Expected exception")
292
- rescue Sass::SyntaxError => err
293
- assert_equal(1, err.sass_line)
294
- assert_equal('Invalid CSS after "...aaaaaaaaaaaafoo": expected "{", was ""', err.message)
295
- end
296
-
297
- def test_error_truncate_was
298
- css2sass("foo }foo#{"a" * 15}")
299
- assert(false, "Expected exception")
300
- rescue Sass::SyntaxError => err
301
- assert_equal(1, err.sass_line)
302
- assert_equal('Invalid CSS after "foo ": expected "{", was "}fooaaaaaaaaaaa..."', err.message)
303
- end
304
-
305
- def test_error_doesnt_truncate_after_when_elipsis_would_add_length
306
- css2sass("#{"a" * 15}foo")
307
- assert(false, "Expected exception")
308
- rescue Sass::SyntaxError => err
309
- assert_equal(1, err.sass_line)
310
- assert_equal('Invalid CSS after "aaaaaaaaaaaaaaafoo": expected "{", was ""', err.message)
311
- end
312
-
313
- def test_error_doesnt_truncate_was_when_elipsis_would_add_length
314
- css2sass("foo }foo#{"a" * 14}")
315
- assert(false, "Expected exception")
316
- rescue Sass::SyntaxError => err
317
- assert_equal(1, err.sass_line)
318
- assert_equal('Invalid CSS after "foo ": expected "{", was "}fooaaaaaaaaaaaaaa"', err.message)
319
- end
320
-
321
- def test_error_gets_rid_of_trailing_newline_for_after
322
- css2sass("foo \n ")
323
- assert(false, "Expected exception")
324
- rescue Sass::SyntaxError => err
325
- assert_equal(2, err.sass_line)
326
- assert_equal('Invalid CSS after "foo": expected "{", was ""', err.message)
327
- end
328
-
329
- def test_error_gets_rid_of_trailing_newline_for_was
330
- css2sass("foo \n }foo")
331
- assert(false, "Expected exception")
332
- rescue Sass::SyntaxError => err
333
- assert_equal(2, err.sass_line)
334
- assert_equal('Invalid CSS after "foo": expected "{", was "}foo"', err.message)
335
- end
336
-
337
- # Encodings
338
-
339
- unless Haml::Util.ruby1_8?
340
- def test_encoding_error
341
- css2sass("foo\nbar\nb\xFEaz".force_encoding("utf-8"))
342
- assert(false, "Expected exception")
343
- rescue Sass::SyntaxError => e
344
- assert_equal(3, e.sass_line)
345
- assert_equal('Invalid UTF-8 character "\xFE"', e.message)
346
- end
347
-
348
- def test_ascii_incompatible_encoding_error
349
- template = "foo\nbar\nb_z".encode("utf-16le")
350
- template[9] = "\xFE".force_encoding("utf-16le")
351
- css2sass(template)
352
- assert(false, "Expected exception")
353
- rescue Sass::SyntaxError => e
354
- assert_equal(3, e.sass_line)
355
- assert_equal('Invalid UTF-16LE character "\xFE"', e.message)
356
- end
357
- end
358
-
359
247
  private
360
248
 
361
249
  def css2sass(string, opts={})
@@ -1,29 +1,23 @@
1
1
  #!/usr/bin/env ruby
2
- # -*- coding: utf-8 -*-
3
2
  require File.dirname(__FILE__) + '/../test_helper'
4
3
  require 'sass/engine'
5
4
  require 'stringio'
6
5
 
7
- module Sass::Script::Functions::UserFunctions
8
- def option(name)
9
- Sass::Script::String.new(@options[name.value.to_sym].to_s)
10
- end
11
- end
12
-
13
6
  class SassEngineTest < Test::Unit::TestCase
14
7
  # A map of erroneous Sass documents to the error messages they should produce.
15
8
  # The error messages may be arrays;
16
9
  # if so, the second element should be the line number that should be reported for the error.
17
10
  # If this isn't provided, the tests will assume the line number should be the last line of the document.
18
11
  EXCEPTION_MAP = {
19
- "$a: 1 + " => 'Invalid CSS after "1 +": expected expression (e.g. 1px, bold), was ""',
20
- "$a: 1 + 2 +" => 'Invalid CSS after "1 + 2 +": expected expression (e.g. 1px, bold), was ""',
21
- "$a: 1 + 2 + %" => 'Invalid CSS after "1 + 2 + ": expected expression (e.g. 1px, bold), was "%"',
22
- "$a: foo(\"bar\"" => 'Invalid CSS after "foo("bar"": expected ")", was ""',
23
- "$a: 1 }" => 'Invalid CSS after "1 ": expected expression (e.g. 1px, bold), was "}"',
24
- "$a: 1 }foo\"" => 'Invalid CSS after "1 ": expected expression (e.g. 1px, bold), was "}foo""',
12
+ "!a = 1 + " => 'Expected expression, was end of text.',
13
+ "!a = 1 + 2 +" => 'Expected expression, was end of text.',
14
+ "!a = 1 + 2 + %" => 'Expected expression, was mod token.',
15
+ "!a = foo(\"bar\"" => 'Expected rparen token, was end of text.',
16
+ "!a = 1 }" => 'Unexpected end_interpolation token.',
17
+ "!a = 1 }foo\"" => 'Unexpected end_interpolation token.',
25
18
  ":" => 'Invalid property: ":".',
26
19
  ": a" => 'Invalid property: ": a".',
20
+ ":= a" => 'Invalid property: ":= a".',
27
21
  "a\n :b" => <<MSG,
28
22
  Invalid property: ":b" (no value).
29
23
  If ":b" should be a selector, use "\\:b" instead.
@@ -31,34 +25,36 @@ MSG
31
25
  "a\n b:" => 'Invalid property: "b:" (no value).',
32
26
  "a\n :b: c" => 'Invalid property: ":b: c".',
33
27
  "a\n :b:c d" => 'Invalid property: ":b:c d".',
34
- "a\n :b c;" => 'Invalid CSS after "c": expected expression (e.g. 1px, bold), was ";"',
35
- "a\n b: c;" => 'Invalid CSS after "c": expected expression (e.g. 1px, bold), was ";"',
36
- ".foo ^bar\n a: b" => ['Invalid CSS after ".foo ": expected selector, was "^bar"', 1],
37
- "a\n @extend .foo ^bar" => 'Invalid CSS after ".foo ": expected selector, was "^bar"',
38
- "a: b" => 'Properties aren\'t allowed at the root of a document.',
28
+ "a\n :b=c d" => 'Invalid property: ":b=c d".',
29
+ "a\n :b c;" => 'Invalid property: ":b c;" (no ";" required at end-of-line).',
30
+ "a\n b: c;" => 'Invalid property: "b: c;" (no ";" required at end-of-line).',
31
+ "a\n b : c" => 'Invalid property: "b : c".',
32
+ "a\n b=c: d" => 'Invalid property: "b=c: d".',
39
33
  ":a b" => 'Properties aren\'t allowed at the root of a document.',
34
+ "a:" => 'Properties aren\'t allowed at the root of a document.',
35
+ ":a" => <<MSG,
36
+ Properties aren't allowed at the root of a document.
37
+ If ":a" should be a selector, use "\\:a" instead.
38
+ MSG
40
39
  "!" => 'Invalid variable: "!".',
41
- "$a" => 'Invalid variable: "$a".',
40
+ "!a" => 'Invalid variable: "!a".',
42
41
  "! a" => 'Invalid variable: "! a".',
43
- "$a b" => 'Invalid variable: "$a b".',
44
- "$a: 1b + 2c" => "Incompatible units: 'c' and 'b'.",
45
- "$a: 1b < 2c" => "Incompatible units: 'c' and 'b'.",
46
- "$a: 1b > 2c" => "Incompatible units: 'c' and 'b'.",
47
- "$a: 1b <= 2c" => "Incompatible units: 'c' and 'b'.",
48
- "$a: 1b >= 2c" => "Incompatible units: 'c' and 'b'.",
49
- "a\n b: 1b * 2c" => "2b*c isn't a valid CSS value.",
50
- "a\n b: 1b % 2c" => "Cannot modulo by a number with units: 2c.",
51
- "$a: 2px + #ccc" => "Cannot add a number with units (2px) to a color (#cccccc).",
52
- "$a: #ccc + 2px" => "Cannot add a number with units (2px) to a color (#cccccc).",
42
+ "!a b" => 'Invalid variable: "!a b".',
43
+ "!a = 1b + 2c" => "Incompatible units: 'c' and 'b'.",
44
+ "!a = 1b < 2c" => "Incompatible units: 'c' and 'b'.",
45
+ "!a = 1b > 2c" => "Incompatible units: 'c' and 'b'.",
46
+ "!a = 1b <= 2c" => "Incompatible units: 'c' and 'b'.",
47
+ "!a = 1b >= 2c" => "Incompatible units: 'c' and 'b'.",
48
+ "a\n :b= 1b * 2c" => "2b*c isn't a valid CSS value.",
49
+ "a\n :b= 1b % 2c" => "Cannot modulo by a number with units: 2c.",
50
+ "!a = 2px + #ccc" => "Cannot add a number with units (2px) to a color (#cccccc).",
51
+ "!a = #ccc + 2px" => "Cannot add a number with units (2px) to a color (#cccccc).",
53
52
  "& a\n :b c" => ["Base-level rules cannot contain the parent-selector-referencing character '&'.", 1],
54
53
  "a\n :b\n c" => "Illegal nesting: Only properties may be nested beneath properties.",
55
54
  "a,\n :b c" => ["Rules can\'t end in commas.", 1],
56
55
  "a," => "Rules can\'t end in commas.",
57
- "a,\n$b: 1" => ["Rules can\'t end in commas.", 1],
58
- "$a: b\n :c d\n" => "Illegal nesting: Nothing may be nested beneath variable declarations.",
59
- "@import foo.sass" => "File to import not found or unreadable: foo.sass.",
60
- "a,\n$b: 1" => ["Rules can\'t end in commas.", 1],
61
- "$a: b\n :c d\n" => "Illegal nesting: Nothing may be nested beneath variable declarations.",
56
+ "a,\n!b = 1" => ["Rules can\'t end in commas.", 1],
57
+ "!a = b\n :c d\n" => "Illegal nesting: Nothing may be nested beneath variable declarations.",
62
58
  "@import foo.sass" => <<MSG,
63
59
  File to import not found or unreadable: foo.sass.
64
60
  Load paths:
@@ -68,10 +64,8 @@ MSG
68
64
  "@import templates/basic\n foo" => "Illegal nesting: Nothing may be nested beneath import directives.",
69
65
  "foo\n @import templates/basic" => "Import directives may only be used at the root of a document.",
70
66
  "foo\n @import #{File.dirname(__FILE__)}/templates/basic" => "Import directives may only be used at the root of a document.",
71
- '$foo: "bar" "baz" !' => %Q{Invalid CSS after ""bar" "baz" ": expected expression (e.g. 1px, bold), was "!"},
67
+ %Q{!foo = "bar" "baz" !} => %Q{Syntax error in '"bar" "baz" !' at character 20.},
72
68
  "=foo\n :color red\n.bar\n +bang" => "Undefined mixin 'bang'.",
73
- "=foo\n :color red\n.bar\n +bang_bop" => "Undefined mixin 'bang_bop'.",
74
- "=foo\n :color red\n.bar\n +bang-bop" => "Undefined mixin 'bang-bop'.",
75
69
  ".bar\n =foo\n :color red\n" => ["Mixins may only be defined at the root of a document.", 2],
76
70
  "=foo\n :color red\n.bar\n +foo\n :color red" => "Illegal nesting: Nothing may be nested beneath mixin directives.",
77
71
  " a\n b: c" => ["Indenting at the beginning of the document is illegal.", 1],
@@ -84,35 +78,29 @@ MSG
84
78
  "a\n b: c\na\n d: e" => ["The line was indented 2 levels deeper than the previous line.", 4],
85
79
  "a\n b: c\n a\n d: e" => ["The line was indented 3 levels deeper than the previous line.", 4],
86
80
  "a\n \tb: c" => ["Indentation can't use both tabs and spaces.", 2],
87
- "=a(" => 'Invalid CSS after "(": expected variable (e.g. $foo), was ""',
88
- "=a(b)" => 'Invalid CSS after "(": expected variable (e.g. $foo), was "b)"',
89
- "=a(,)" => 'Invalid CSS after "(": expected variable (e.g. $foo), was ",)"',
90
- "=a($)" => 'Invalid CSS after "(": expected variable (e.g. $foo), was "$)"',
91
- "=a($foo bar)" => 'Invalid CSS after "($foo ": expected ")", was "bar)"',
81
+ "=a(" => 'Expected rparen token, was end of text.',
82
+ "=a(b)" => 'Expected rparen token, was ident token.',
83
+ "=a(,)" => "Expected rparen token, was comma token.",
84
+ "=a(!)" => "Syntax error in '(!)' at character 4.",
85
+ "=a(!foo bar)" => "Expected rparen token, was ident token.",
92
86
  "=foo\n bar: baz\n+foo" => ["Properties aren't allowed at the root of a document.", 2],
93
- "a-\#{$b\n c: d" => ['Invalid CSS after "a-#{$b": expected "}", was ""', 1],
94
- "=a($b = 1, $c)" => "Required argument $c must come before any optional arguments.",
95
- "=a($b = 1)\n a: $b\ndiv\n +a(1,2)" => "Mixin a takes 1 argument but 2 were passed.",
96
- "=a($b)\n a: $b\ndiv\n +a" => "Mixin a is missing parameter $b.",
87
+ "a-\#{!b\n c: d" => ["Expected end_interpolation token, was end of text.", 1],
88
+ "=a(!b = 1, !c)" => "Required argument !c must come before any optional arguments.",
89
+ "=a(!b = 1)\n :a= !b\ndiv\n +a(1,2)" => "Mixin a takes 1 argument but 2 were passed.",
90
+ "=a(!b)\n :a= !b\ndiv\n +a" => "Mixin a is missing parameter !b.",
97
91
  "@else\n a\n b: c" => ["@else must come after @if.", 1],
98
92
  "@if false\n@else foo" => "Invalid else directive '@else foo': expected 'if <expr>'.",
99
93
  "@if false\n@else if " => "Invalid else directive '@else if': expected 'if <expr>'.",
100
- "a\n !b: 12\nc\n d: !b" => 'Undefined variable: "$b".',
101
- "a\n $b: 12\nc\n d: $b" => 'Undefined variable: "$b".',
102
- "=foo\n $b: 12\nc\n +foo\n d: $b" => 'Undefined variable: "$b".',
103
- "c\n d: $b-foo" => 'Undefined variable: "$b-foo".',
104
- "c\n d: $b_foo" => 'Undefined variable: "$b_foo".',
105
- '@for $a from "foo" to 1' => '"foo" is not an integer.',
106
- '@for $a from 1 to "2"' => '"2" is not an integer.',
107
- '@for $a from 1 to "foo"' => '"foo" is not an integer.',
108
- '@for $a from 1 to 1.232323' => '1.232 is not an integer.',
109
- '@for $a from 1px to 3em' => "Incompatible units: 'em' and 'px'.",
94
+ "a\n !b = 12\nc\n d = !b" => 'Undefined variable: "!b".',
95
+ "=foo\n !b = 12\nc\n +foo\n d = !b" => 'Undefined variable: "!b".',
96
+ '@for !a from "foo" to 1' => '"foo" is not an integer.',
97
+ '@for !a from 1 to "2"' => '"2" is not an integer.',
98
+ '@for !a from 1 to "foo"' => '"foo" is not an integer.',
99
+ '@for !a from 1 to 1.232323' => '1.232 is not an integer.',
100
+ '@for !a from 1px to 3em' => "Incompatible units: 'em' and 'px'.",
110
101
  '@if' => "Invalid if directive '@if': expected expression.",
111
102
  '@while' => "Invalid while directive '@while': expected expression.",
112
103
  '@debug' => "Invalid debug directive '@debug': expected expression.",
113
- %Q{@debug "a message"\n "nested message"} => "Illegal nesting: Nothing may be nested beneath debug directives.",
114
- '@warn' => "Invalid warn directive '@warn': expected expression.",
115
- %Q{@warn "a message"\n "nested message"} => "Illegal nesting: Nothing may be nested beneath warn directives.",
116
104
  "/* foo\n bar\n baz" => "Inconsistent indentation: previous line was indented by 4 spaces, but this line was indented by 2 spaces.",
117
105
 
118
106
  # Regression tests
@@ -206,297 +194,21 @@ SASS
206
194
  end
207
195
 
208
196
  def test_imported_exception
209
- [1, 2, 3, 4].each do |i|
197
+ [nil, 2].each do |i|
210
198
  begin
211
199
  Sass::Engine.new("@import bork#{i}", :load_paths => [File.dirname(__FILE__) + '/templates/']).render
212
200
  rescue Sass::SyntaxError => err
213
201
  assert_equal(2, err.sass_line)
214
- assert_match(/(\/|^)bork#{i}\.sass$/, err.sass_filename)
215
-
216
- assert_hash_has(err.sass_backtrace.first,
217
- :filename => err.sass_filename, :line => err.sass_line)
218
-
219
- assert_nil(err.sass_backtrace[1][:filename])
220
- assert_equal(1, err.sass_backtrace[1][:line])
221
-
222
- assert_match(/(\/|^)bork#{i}\.sass:2$/, err.backtrace.first)
223
- assert_equal("(sass):1", err.backtrace[1])
224
- else
225
- assert(false, "Exception not raised for imported template: bork#{i}")
226
- end
227
- end
228
- end
229
-
230
- def test_double_imported_exception
231
- [1, 2, 3, 4].each do |i|
232
- begin
233
- Sass::Engine.new("@import nested_bork#{i}", :load_paths => [File.dirname(__FILE__) + '/templates/']).render
234
- rescue Sass::SyntaxError => err
235
- assert_equal(2, err.sass_line)
236
- assert_match(/(\/|^)bork#{i}\.sass$/, err.sass_filename)
237
-
238
- assert_hash_has(err.sass_backtrace.first,
239
- :filename => err.sass_filename, :line => err.sass_line)
240
-
241
- assert_match(/(\/|^)nested_bork#{i}\.sass$/, err.sass_backtrace[1][:filename])
242
- assert_equal(2, err.sass_backtrace[1][:line])
243
-
244
- assert_nil(err.sass_backtrace[2][:filename])
245
- assert_equal(1, err.sass_backtrace[2][:line])
246
-
247
- assert_match(/(\/|^)bork#{i}\.sass:2$/, err.backtrace.first)
248
- assert_match(/(\/|^)nested_bork#{i}\.sass:2$/, err.backtrace[1])
249
- assert_equal("(sass):1", err.backtrace[2])
202
+ assert_match(/bork#{i}\.sass$/, err.sass_filename)
250
203
  else
251
204
  assert(false, "Exception not raised for imported template: bork#{i}")
252
205
  end
253
206
  end
254
207
  end
255
208
 
256
- def test_mixin_exception
257
- render(<<SASS)
258
- =error-mixin($a)
259
- color: $a * 1em * 1px
260
-
261
- =outer-mixin($a)
262
- +error-mixin($a)
263
-
264
- .error
265
- +outer-mixin(12)
266
- SASS
267
- assert(false, "Exception not raised")
268
- rescue Sass::SyntaxError => err
269
- assert_equal(2, err.sass_line)
270
- assert_equal(filename_for_test, err.sass_filename)
271
- assert_equal("error-mixin", err.sass_mixin)
272
-
273
- assert_hash_has(err.sass_backtrace.first, :line => err.sass_line,
274
- :filename => err.sass_filename, :mixin => err.sass_mixin)
275
- assert_hash_has(err.sass_backtrace[1], :line => 5,
276
- :filename => filename_for_test, :mixin => "outer-mixin")
277
- assert_hash_has(err.sass_backtrace[2], :line => 8,
278
- :filename => filename_for_test, :mixin => nil)
279
-
280
- assert_equal("#{filename_for_test}:2:in `error-mixin'", err.backtrace.first)
281
- assert_equal("#{filename_for_test}:5:in `outer-mixin'", err.backtrace[1])
282
- assert_equal("#{filename_for_test}:8", err.backtrace[2])
283
- end
284
-
285
- def test_mixin_callsite_exception
286
- render(<<SASS)
287
- =one-arg-mixin($a)
288
- color: $a
289
-
290
- =outer-mixin($a)
291
- +one-arg-mixin($a, 12)
292
-
293
- .error
294
- +outer-mixin(12)
295
- SASS
296
- assert(false, "Exception not raised")
297
- rescue Sass::SyntaxError => err
298
- assert_hash_has(err.sass_backtrace.first, :line => 5,
299
- :filename => filename_for_test, :mixin => "one-arg-mixin")
300
- assert_hash_has(err.sass_backtrace[1], :line => 5,
301
- :filename => filename_for_test, :mixin => "outer-mixin")
302
- assert_hash_has(err.sass_backtrace[2], :line => 8,
303
- :filename => filename_for_test, :mixin => nil)
304
- end
305
-
306
- def test_mixin_exception_cssize
307
- render(<<SASS)
308
- =parent-ref-mixin
309
- & foo
310
- a: b
311
-
312
- =outer-mixin
313
- +parent-ref-mixin
314
-
315
- +outer-mixin
316
- SASS
317
- assert(false, "Exception not raised")
318
- rescue Sass::SyntaxError => err
319
- assert_hash_has(err.sass_backtrace.first, :line => 2,
320
- :filename => filename_for_test, :mixin => "parent-ref-mixin")
321
- assert_hash_has(err.sass_backtrace[1], :line => 6,
322
- :filename => filename_for_test, :mixin => "outer-mixin")
323
- assert_hash_has(err.sass_backtrace[2], :line => 8,
324
- :filename => filename_for_test, :mixin => nil)
325
- end
326
-
327
- def test_mixin_and_import_exception
328
- Sass::Engine.new("@import nested_mixin_bork", :load_paths => [File.dirname(__FILE__) + '/templates/']).render
329
- assert(false, "Exception not raised")
330
- rescue Sass::SyntaxError => err
331
- assert_match(/(\/|^)nested_mixin_bork\.sass$/, err.sass_backtrace.first[:filename])
332
- assert_hash_has(err.sass_backtrace.first, :mixin => "error-mixin", :line => 4)
333
-
334
- assert_match(/(\/|^)mixin_bork\.sass$/, err.sass_backtrace[1][:filename])
335
- assert_hash_has(err.sass_backtrace[1], :mixin => "outer-mixin", :line => 2)
336
-
337
- assert_match(/(\/|^)mixin_bork\.sass$/, err.sass_backtrace[2][:filename])
338
- assert_hash_has(err.sass_backtrace[2], :mixin => nil, :line => 5)
339
-
340
- assert_match(/(\/|^)nested_mixin_bork\.sass$/, err.sass_backtrace[3][:filename])
341
- assert_hash_has(err.sass_backtrace[3], :mixin => nil, :line => 6)
342
-
343
- assert_hash_has(err.sass_backtrace[4], :filename => nil, :mixin => nil, :line => 1)
344
- end
345
-
346
- def test_basic_mixin_loop_exception
347
- render <<SASS
348
- @mixin foo
349
- @include foo
350
- @include foo
351
- SASS
352
- assert(false, "Exception not raised")
353
- rescue Sass::SyntaxError => err
354
- assert_equal("An @include loop has been found: foo includes itself", err.message)
355
- assert_hash_has(err.sass_backtrace[0], :mixin => "foo", :line => 2)
356
- end
357
-
358
- def test_double_mixin_loop_exception
359
- render <<SASS
360
- @mixin foo
361
- @include bar
362
- @mixin bar
363
- @include foo
364
- @include foo
365
- SASS
366
- assert(false, "Exception not raised")
367
- rescue Sass::SyntaxError => err
368
- assert_equal(<<MESSAGE.rstrip, err.message)
369
- An @include loop has been found:
370
- foo includes bar
371
- bar includes foo
372
- MESSAGE
373
- assert_hash_has(err.sass_backtrace[0], :mixin => "bar", :line => 4)
374
- assert_hash_has(err.sass_backtrace[1], :mixin => "foo", :line => 2)
375
- end
376
-
377
- def test_deep_mixin_loop_exception
378
- render <<SASS
379
- @mixin foo
380
- @include bar
381
-
382
- @mixin bar
383
- @include baz
384
-
385
- @mixin baz
386
- @include foo
387
-
388
- @include foo
389
- SASS
390
- assert(false, "Exception not raised")
391
- rescue Sass::SyntaxError => err
392
- assert_equal(<<MESSAGE.rstrip, err.message)
393
- An @include loop has been found:
394
- foo includes bar
395
- bar includes baz
396
- baz includes foo
397
- MESSAGE
398
- assert_hash_has(err.sass_backtrace[0], :mixin => "baz", :line => 8)
399
- assert_hash_has(err.sass_backtrace[1], :mixin => "bar", :line => 5)
400
- assert_hash_has(err.sass_backtrace[2], :mixin => "foo", :line => 2)
401
- end
402
-
403
- def test_exception_css_with_offset
404
- opts = {:full_exception => true, :line => 362}
405
- render(("a\n b: c\n" * 10) + "d\n e:\n" + ("f\n g: h\n" * 10), opts)
406
- rescue Sass::SyntaxError => e
407
- assert_equal(<<CSS, Sass::SyntaxError.exception_to_css(e, opts).split("\n")[0..15].join("\n"))
408
- /*
409
- Syntax error: Invalid property: "e:" (no value).
410
- on line 383 of test_exception_css_with_offset_inline.sass
411
-
412
- 378: a
413
- 379: b: c
414
- 380: a
415
- 381: b: c
416
- 382: d
417
- 383: e:
418
- 384: f
419
- 385: g: h
420
- 386: f
421
- 387: g: h
422
- 388: f
423
- CSS
424
- else
425
- assert(false, "Exception not raised for test_exception_css_with_offset")
426
- end
427
-
428
- def test_exception_css_with_mixins
429
- opts = {:full_exception => true}
430
- render(<<SASS, opts)
431
- =error-mixin($a)
432
- color: $a * 1em * 1px
433
-
434
- =outer-mixin($a)
435
- +error-mixin($a)
436
-
437
- .error
438
- +outer-mixin(12)
439
- SASS
440
- rescue Sass::SyntaxError => e
441
- assert_equal(<<CSS, Sass::SyntaxError.exception_to_css(e, opts).split("\n")[0..13].join("\n"))
442
- /*
443
- Syntax error: 12em*px isn't a valid CSS value.
444
- on line 2 of test_exception_css_with_mixins_inline.sass, in `error-mixin'
445
- from line 5 of test_exception_css_with_mixins_inline.sass, in `outer-mixin'
446
- from line 8 of test_exception_css_with_mixins_inline.sass
447
-
448
- 1: =error-mixin($a)
449
- 2: color: $a * 1em * 1px
450
- 3:
451
- 4: =outer-mixin($a)
452
- 5: +error-mixin($a)
453
- 6:
454
- 7: .error
455
- CSS
456
- else
457
- assert(false, "Exception not raised")
458
- end
459
-
460
- def test_cssize_exception_css
461
- opts = {:full_exception => true}
462
- render(<<SASS, opts)
463
- .filler
464
- stuff: "stuff!"
465
-
466
- a: b
467
-
468
- .more.filler
469
- a: b
470
- SASS
471
- rescue Sass::SyntaxError => e
472
- assert_equal(<<CSS, Sass::SyntaxError.exception_to_css(e, opts).split("\n")[0..11].join("\n"))
473
- /*
474
- Syntax error: Properties aren't allowed at the root of a document.
475
- on line 4 of test_cssize_exception_css_inline.sass
476
-
477
- 1: .filler
478
- 2: stuff: "stuff!"
479
- 3:
480
- 4: a: b
481
- 5:
482
- 6: .more.filler
483
- 7: a: b
484
- CSS
485
- else
486
- assert(false, "Exception not raised")
487
- end
488
-
489
209
  def test_css_import
490
- assert_equal("@import url(./fonts.css);\n", render("@import \"./fonts.css\""))
491
- end
492
-
493
- def test_http_import
494
- assert_equal("@import url(http://fonts.googleapis.com/css?family=Droid+Sans);\n",
495
- render("@import \"http://fonts.googleapis.com/css?family=Droid+Sans\""))
496
- end
497
-
498
- def test_url_import
499
- assert_equal("@import url(fonts.sass);\n", render("@import url(fonts.sass)"))
210
+ assert_equal("@import url(./fonts.css) screen;\n", render("@import url(./fonts.css) screen"))
211
+ assert_equal("@import \"./fonts.css\" screen;\n", render("@import \"./fonts.css\" screen"))
500
212
  end
501
213
 
502
214
  def test_sass_import
@@ -507,7 +219,7 @@ CSS
507
219
 
508
220
  def test_nonexistent_extensionless_import
509
221
  assert_warning(<<WARN) do
510
- WARNING: Neither nonexistent.sass nor .scss found. Using nonexistent.css instead.
222
+ WARNING: nonexistent.sass not found. Using nonexistent.css instead.
511
223
  This behavior is deprecated and will be removed in a future version.
512
224
  If you really need nonexistent.css, import it explicitly.
513
225
  WARN
@@ -529,24 +241,18 @@ WARN
529
241
  end
530
242
 
531
243
  def test_default_function
532
- assert_equal(<<CSS, render(<<SASS))
533
- foo {
534
- bar: url("foo.png"); }
535
- CSS
536
- foo
537
- bar: url("foo.png")
538
- SASS
539
- assert_equal("foo {\n bar: url(); }\n", render("foo\n bar: url()\n"));
244
+ assert_equal("foo {\n bar: url(foo.png); }\n", render(%Q{foo\n bar = url("foo.png")\n}));
245
+ assert_equal("foo {\n bar: url(); }\n", render("foo\n bar = url()\n"));
540
246
  end
541
247
 
542
248
  def test_string_minus
543
- assert_equal("foo {\n bar: baz-boom-bat; }\n", render(%Q{foo\n bar: baz-boom-bat}))
544
- assert_equal("foo {\n bar: -baz-boom; }\n", render(%Q{foo\n bar: -baz-boom}))
249
+ assert_equal("foo {\n bar: baz-boom-bat; }\n", render(%Q{foo\n bar = "baz"-"boom"-"bat"}))
250
+ assert_equal("foo {\n bar: -baz-boom; }\n", render(%Q{foo\n bar = -"baz"-"boom"}))
545
251
  end
546
252
 
547
253
  def test_string_div
548
- assert_equal("foo {\n bar: baz/boom/bat; }\n", render(%Q{foo\n bar: baz/boom/bat}))
549
- assert_equal("foo {\n bar: /baz/boom; }\n", render(%Q{foo\n bar: /baz/boom}))
254
+ assert_equal("foo {\n bar: baz/boom/bat; }\n", render(%Q{foo\n bar = "baz"/"boom"/"bat"}))
255
+ assert_equal("foo {\n bar: /baz/boom; }\n", render(%Q{foo\n bar = /"baz"/"boom"}))
550
256
  end
551
257
 
552
258
  def test_basic_multiline_selector
@@ -660,40 +366,6 @@ END
660
366
  assert_equal("@a{b:c;#d{e:f}g:h}\n", render(to_render, :style => :compressed))
661
367
  end
662
368
 
663
- def test_property_hacks
664
- assert_equal(<<CSS, render(<<SASS))
665
- foo {
666
- _name: val;
667
- *name: val;
668
- #name: val;
669
- .name: val;
670
- name/**/: val;
671
- name/*\\**/: val;
672
- name: val; }
673
- CSS
674
- foo
675
- _name: val
676
- *name: val
677
- #name: val
678
- .name: val
679
- name/**/: val
680
- name/*\\**/: val
681
- name: val
682
- SASS
683
- end
684
-
685
- def test_properties_with_space_after_colon
686
- assert_equal <<CSS, render(<<SASS)
687
- foo {
688
- bar: baz;
689
- bizz: bap; }
690
- CSS
691
- foo
692
- bar : baz
693
- bizz : bap
694
- SASS
695
- end
696
-
697
369
  def test_line_annotations
698
370
  assert_equal(<<CSS, render(<<SASS, :line_comments => true, :style => :compact))
699
371
  /* line 2, test_line_annotations_inline.sass */
@@ -742,85 +414,6 @@ SASS
742
414
  renders_correctly "line_numbers", :line_comments => true, :load_paths => [File.dirname(__FILE__) + "/templates"]
743
415
  end
744
416
 
745
- def test_debug_info
746
- esc_file_name = Sass::SCSS::RX.escape_ident(Haml::Util.scope("test_debug_info_inline.sass"))
747
-
748
- assert_equal(<<CSS, render(<<SASS, :debug_info => true, :style => :compact))
749
- @media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\000032}}
750
- foo bar { foo: bar; }
751
- @media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\000035}}
752
- foo baz { blip: blop; }
753
-
754
- @media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\000039}}
755
- floodle { flop: blop; }
756
-
757
- @media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\0000318}}
758
- bup { mix: on; }
759
- @media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\0000315}}
760
- bup mixin { moop: mup; }
761
-
762
- @media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\0000322}}
763
- bip hop, skip hop { a: b; }
764
- CSS
765
- foo
766
- bar
767
- foo: bar
768
-
769
- baz
770
- blip: blop
771
-
772
-
773
- floodle
774
-
775
- flop: blop
776
-
777
- =mxn
778
- mix: on
779
- mixin
780
- moop: mup
781
-
782
- bup
783
- +mxn
784
-
785
- bip, skip
786
- hop
787
- a: b
788
- SASS
789
- end
790
-
791
- def test_debug_info_without_filename
792
- assert_equal(<<CSS, Sass::Engine.new(<<SASS, :debug_info => true).render)
793
- @media -sass-debug-info{filename{font-family:}line{font-family:\\000031}}
794
- foo {
795
- a: b; }
796
- CSS
797
- foo
798
- a: b
799
- SASS
800
- end
801
-
802
- def test_debug_info_with_compressed
803
- assert_equal(<<CSS, render(<<SASS, :debug_info => true, :style => :compressed))
804
- foo{a:b}
805
- CSS
806
- foo
807
- a: b
808
- SASS
809
- end
810
-
811
- def test_debug_info_with_line_annotations
812
- esc_file_name = Sass::SCSS::RX.escape_ident(Haml::Util.scope("test_debug_info_with_line_annotations_inline.sass"))
813
-
814
- assert_equal(<<CSS, render(<<SASS, :debug_info => true, :line_comments => true))
815
- @media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\000031}}
816
- foo {
817
- a: b; }
818
- CSS
819
- foo
820
- a: b
821
- SASS
822
- end
823
-
824
417
  def test_empty_first_line
825
418
  assert_equal("#a {\n b: c; }\n", render("#a\n\n b: c"))
826
419
  end
@@ -834,124 +427,15 @@ SASS
834
427
  assert_equal("foo {\n a: b;\n c: d;\n e: f; }\n", render("foo\r a: b\r\n c: d\n\r e: f"))
835
428
  end
836
429
 
837
- def test_property_with_content_and_nested_props
838
- assert_equal(<<CSS, render(<<SASS))
839
- foo {
840
- a: b;
841
- a-c: d;
842
- a-c-e: f; }
843
- CSS
844
- foo
845
- a: b
846
- c: d
847
- e: f
848
- SASS
849
-
850
- assert_equal(<<CSS, render(<<SASS))
851
- foo {
852
- a: b;
853
- a-c-e: f; }
854
- CSS
855
- foo
856
- a: b
857
- c:
858
- e: f
859
- SASS
860
- end
861
-
862
- def test_equals_warning_for_properties
863
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
864
- DEPRECATION WARNING:
865
- On line 3, character 3 of 'test_equals_warning_for_properties_inline.sass'
866
- Setting properties with = has been deprecated and will be removed in version 3.2.
867
- Use "a: $var" instead.
868
-
869
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
870
- WARN
871
- foo {
872
- a: 2px 3px; }
873
- CSS
874
- $var: 2px 3px
875
- foo
876
- a = $var
877
- SASS
878
- end
879
-
880
- def test_equals_warning_for_dynamic_properties
881
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
882
- DEPRECATION WARNING:
883
- On line 4, character 3 of 'test_equals_warning_for_dynamic_properties_inline.sass'
884
- Setting properties with = has been deprecated and will be removed in version 3.2.
885
- Use "a-\#{$i}: $var" instead.
886
-
887
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
888
- WARN
889
- foo {
890
- a-12: 2px 3px; }
891
- CSS
892
- $var: 2px 3px
893
- $i: 12
894
- foo
895
- a-\#{$i} = $var
896
- SASS
897
- end
898
-
899
- def test_equals_warning_for_property_with_string
900
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
901
- DEPRECATION WARNING:
902
- On line 2, character 3 of 'test_equals_warning_for_property_with_string_inline.sass'
903
- Setting properties with = has been deprecated and will be removed in version 3.2.
904
- Use "a: foo" instead.
905
-
906
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
907
- WARN
908
- foo {
909
- a: foo; }
910
- CSS
911
- foo
912
- a = "foo"
913
- SASS
914
- end
915
-
916
- def test_equals_warning_for_property_with_division
917
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
918
- DEPRECATION WARNING:
919
- On line 2, character 3 of 'test_equals_warning_for_property_with_division_inline.sass'
920
- Setting properties with = has been deprecated and will be removed in version 3.2.
921
- Use "a: (1px / 2px)" instead.
922
-
923
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
924
- WARN
925
- foo {
926
- a: 0.5; }
927
- CSS
928
- foo
929
- a = 1px/2px
930
- SASS
931
- end
932
-
933
- def test_guarded_assign
934
- assert_equal("foo {\n a: b; }\n", render(%Q{$foo: b\n$foo: c !default\nfoo\n a: $foo}))
935
- assert_equal("foo {\n a: b; }\n", render(%Q{$foo: b !default\nfoo\n a: $foo}))
430
+ def test_or_eq
431
+ assert_equal("foo {\n a: b; }\n", render(%Q{!foo = "b"\n!foo ||= "c"\nfoo\n a = !foo}))
432
+ assert_equal("foo {\n a: b; }\n", render(%Q{!foo ||= "b"\nfoo\n a = !foo}))
936
433
  end
937
434
 
938
435
  def test_mixins
939
436
  renders_correctly "mixins", { :style => :expanded }
940
437
  end
941
438
 
942
- def test_directive_style_mixins
943
- assert_equal <<CSS, render(<<SASS)
944
- bar {
945
- prop: baz; }
946
- CSS
947
- @mixin foo($arg)
948
- prop: $arg
949
-
950
- bar
951
- @include foo(baz)
952
- SASS
953
- end
954
-
955
439
  def test_mixins_dont_interfere_with_sibling_combinator
956
440
  assert_equal("foo + bar {\n a: b; }\nfoo + baz {\n c: d; }\n",
957
441
  render("foo\n +\n bar\n a: b\n baz\n c: d"))
@@ -959,33 +443,33 @@ SASS
959
443
 
960
444
  def test_mixin_args
961
445
  assert_equal("blat {\n baz: hi; }\n", render(<<SASS))
962
- =foo($bar)
963
- baz: $bar
446
+ =foo(!bar)
447
+ baz = !bar
964
448
  blat
965
- +foo(hi)
449
+ +foo(\"hi\")
966
450
  SASS
967
451
  assert_equal("blat {\n baz: 3; }\n", render(<<SASS))
968
- =foo($a, $b)
969
- baz: $a + $b
452
+ =foo(!a, !b)
453
+ baz = !a + !b
970
454
  blat
971
455
  +foo(1, 2)
972
456
  SASS
973
457
  assert_equal("blat {\n baz: 4;\n baz: 3;\n baz: 5;\n bang: 3; }\n", render(<<SASS))
974
- =foo($c: (6 + 4) / 2)
975
- baz: $c
976
- $c: 3
458
+ =foo(!c = (6 + 4) / 2)
459
+ baz = !c
460
+ !c = 3
977
461
  blat
978
- +foo($c + 1)
979
- +foo(($c + 3)/2)
462
+ +foo(!c + 1)
463
+ +foo((!c + 3)/2)
980
464
  +foo
981
- bang: $c
465
+ bang = !c
982
466
  SASS
983
467
  end
984
468
 
985
469
  def test_default_values_for_mixin_arguments
986
470
  assert_equal("white {\n color: white; }\n\nblack {\n color: black; }\n", render(<<SASS))
987
- =foo($a: #FFF)
988
- :color $a
471
+ =foo(!a = #FFF)
472
+ :color= !a
989
473
  white
990
474
  +foo
991
475
  black
@@ -1007,11 +491,11 @@ three {
1007
491
  padding: 2px;
1008
492
  margin: 3px; }
1009
493
  CSS
1010
- $a: 5px
1011
- =foo($a, $b: 1px, $c: 3px + $b)
1012
- :color $a
1013
- :padding $b
1014
- :margin $c
494
+ !a = 5px
495
+ =foo(!a, !b = 1px, !c = 3px + !b)
496
+ :color= !a
497
+ :padding= !b
498
+ :margin= !c
1015
499
  one
1016
500
  +foo(#fff)
1017
501
  two
@@ -1021,87 +505,23 @@ three
1021
505
  SASS
1022
506
  end
1023
507
 
1024
- def test_hyphen_underscore_insensitive_mixins
1025
- assert_equal(<<CSS, render(<<SASS))
1026
- a {
1027
- b: 12;
1028
- c: foo; }
1029
- CSS
1030
- =mixin-hyphen
1031
- b: 12
1032
-
1033
- =mixin_under
1034
- c: foo
1035
-
1036
- a
1037
- +mixin_hyphen
1038
- +mixin-under
1039
- SASS
1040
- end
1041
-
1042
- def test_equals_warning_for_mixin_args
1043
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
1044
- DEPRECATION WARNING:
1045
- On line 1, character 10 of 'test_equals_warning_for_mixin_args_inline.sass'
1046
- Setting mixin argument defaults with = has been deprecated and will be removed in version 3.2.
1047
- Use "$arg: 1px" instead.
1048
-
1049
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
1050
- WARN
1051
- bar {
1052
- a: 1px; }
1053
- CSS
1054
- =foo($arg = 1px)
1055
- a: $arg
1056
-
1057
- bar
1058
- +foo
1059
- SASS
1060
- end
1061
-
1062
- def test_css_identifier_mixin
1063
- assert_equal(<<CSS, render(<<SASS))
1064
- a {
1065
- foo: 12; }
1066
- CSS
1067
- =\\{foo\\(12\\)($a)
1068
- foo: $a
1069
-
1070
- a
1071
- +\\{foo\\(12\\)(12)
1072
- SASS
1073
- end
1074
-
1075
508
  def test_interpolation
1076
509
  assert_equal("a-1 {\n b-2-3: c-3; }\n", render(<<SASS))
1077
- $a: 1
1078
- $b: 2
1079
- $c: 3
1080
- a-\#{$a}
1081
- b-\#{$b}-\#{$c}: c-\#{$a + $b}
1082
- SASS
1083
- end
1084
-
1085
- def test_complex_property_interpolation
1086
- assert_equal(<<CSS, render(<<SASS))
1087
- a-1 {
1088
- b-2 3-fizzap18: c-3; }
1089
- CSS
1090
- $a: 1
1091
- $b: 2
1092
- $c: 3
1093
- a-\#{$a}
1094
- b-\#{$b $c}-\#{fizzap + ($c + 15)}: c-\#{$a + $b}
510
+ !a = 1
511
+ !b = 2
512
+ !c = 3
513
+ a-\#{!a}
514
+ b-\#{!b}-\#{!c}: c-\#{!a + !b}
1095
515
  SASS
1096
516
  end
1097
517
 
1098
518
  def test_if_directive
1099
519
  assert_equal("a {\n b: 1; }\n", render(<<SASS))
1100
- $var: true
520
+ !var = true
1101
521
  a
1102
- @if $var
522
+ @if !var
1103
523
  b: 1
1104
- @if not $var
524
+ @if not !var
1105
525
  b: 2
1106
526
  SASS
1107
527
  end
@@ -1109,16 +529,16 @@ SASS
1109
529
  def test_for
1110
530
  assert_equal(<<CSS, render(<<SASS))
1111
531
  a-0 {
1112
- two-i: 0; }
532
+ 2i: 0; }
1113
533
 
1114
534
  a-1 {
1115
- two-i: 2; }
535
+ 2i: 2; }
1116
536
 
1117
537
  a-2 {
1118
- two-i: 4; }
538
+ 2i: 4; }
1119
539
 
1120
540
  a-3 {
1121
- two-i: 6; }
541
+ 2i: 6; }
1122
542
 
1123
543
  b-1 {
1124
544
  j-1: 0; }
@@ -1132,38 +552,14 @@ b-3 {
1132
552
  b-4 {
1133
553
  j-1: 3; }
1134
554
  CSS
1135
- $a: 3
1136
- @for $i from 0 to $a + 1
1137
- a-\#{$i}
1138
- two-i: 2 * $i
1139
-
1140
- @for $j from 1 through 4
1141
- b-\#{$j}
1142
- j-1: $j - 1
1143
- SASS
1144
- end
1145
-
1146
- def test_for_with_bang_var
1147
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
1148
- DEPRECATION WARNING:
1149
- On line 1, character 6 of 'test_for_with_bang_var_inline.sass'
1150
- Variables with ! have been deprecated and will be removed in version 3.2.
1151
- Use "$bar" instead.
1152
-
1153
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
1154
- WARN
1155
- a-0 {
1156
- b: c; }
1157
-
1158
- a-1 {
1159
- b: c; }
555
+ !a = 3
556
+ @for !i from 0 to !a + 1
557
+ a-\#{!i}
558
+ 2i = 2 * !i
1160
559
 
1161
- a-2 {
1162
- b: c; }
1163
- CSS
1164
- @for !bar from 0 to 3
1165
- a-\#{$bar}
1166
- b: c
560
+ @for !j from 1 through 4
561
+ b-\#{!j}
562
+ j-1 = !j - 1
1167
563
  SASS
1168
564
  end
1169
565
 
@@ -1184,11 +580,11 @@ a-2 {
1184
580
  a-1 {
1185
581
  blooble: gloop; }
1186
582
  CSS
1187
- $a: 5
1188
- @while $a != 0
1189
- a-\#{$a}
583
+ !a = 5
584
+ @while !a != 0
585
+ a-\#{!a}
1190
586
  blooble: gloop
1191
- $a: $a - 1
587
+ !a = !a - 1
1192
588
  SASS
1193
589
  end
1194
590
 
@@ -1238,83 +634,11 @@ a {
1238
634
  b: 1;
1239
635
  c: 2; }
1240
636
  CSS
1241
- $a: 1
637
+ !a = 1
1242
638
  a
1243
- b: $a
1244
- $a: 2
1245
- c: $a
1246
- SASS
1247
- end
1248
-
1249
- def test_bang_variables
1250
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
1251
- DEPRECATION WARNING:
1252
- On line 1, character 1 of 'test_bang_variables_inline.sass'
1253
- Variables with ! have been deprecated and will be removed in version 3.2.
1254
- Use "$bang-var" instead.
1255
-
1256
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
1257
- WARN
1258
- foo {
1259
- a: 1px; }
1260
- CSS
1261
- !bang-var: 1px
1262
- foo
1263
- a: $bang-var
1264
- SASS
1265
-
1266
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
1267
- DEPRECATION WARNING:
1268
- On line 3, character 6 of 'test_bang_variables_inline.sass'
1269
- Variables with ! have been deprecated and will be removed in version 3.2.
1270
- Use "$dollar-var" instead.
1271
-
1272
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
1273
- WARN
1274
- foo {
1275
- a: 1px; }
1276
- CSS
1277
- $dollar-var: 1px
1278
- foo
1279
- a: !dollar-var
1280
- SASS
1281
- end
1282
-
1283
- def test_equals_warning_for_variables
1284
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
1285
- DEPRECATION WARNING:
1286
- On line 2, character 1 of 'test_equals_warning_for_variables_inline.sass'
1287
- Setting variables with = has been deprecated and will be removed in version 3.2.
1288
- Use "$equals-var: 2px 3px" instead.
1289
-
1290
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
1291
- WARN
1292
- foo {
1293
- a: 2px 3px; }
1294
- CSS
1295
-
1296
- $equals-var = 2px 3px
1297
- foo
1298
- a: $equals-var
1299
- SASS
1300
- end
1301
-
1302
- def test_equals_warning_for_guarded_variables
1303
- assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
1304
- DEPRECATION WARNING:
1305
- On line 2, character 1 of 'test_equals_warning_for_guarded_variables_inline.sass'
1306
- Setting variable defaults with ||= has been deprecated and will be removed in version 3.2.
1307
- Use "$equals-var: 2px 3px !default" instead.
1308
-
1309
- You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
1310
- WARN
1311
- foo {
1312
- a: 2px 3px; }
1313
- CSS
1314
-
1315
- $equals-var ||= 2px 3px
1316
- foo
1317
- a: $equals-var
639
+ b = !a
640
+ !a = 2
641
+ c = !a
1318
642
  SASS
1319
643
  end
1320
644
 
@@ -1328,69 +652,23 @@ a {
1328
652
  b {
1329
653
  d: 17; }
1330
654
  CSS
1331
- $i: 12
655
+ !i = 12
1332
656
  a
1333
- @for $i from 1 through 2
1334
- b-\#{$i}: c
1335
- d: $i
657
+ @for !i from 1 through 2
658
+ b-\#{!i}: c
659
+ d = !i
1336
660
 
1337
661
  =foo
1338
- $i: 17
662
+ !i = 17
1339
663
 
1340
664
  b
1341
665
  +foo
1342
- d: $i
1343
- SASS
1344
- end
1345
-
1346
- def test_hyphen_underscore_insensitive_variables
1347
- assert_equal(<<CSS, render(<<SASS))
1348
- a {
1349
- b: c; }
1350
-
1351
- d {
1352
- e: 13;
1353
- f: foobar; }
1354
- CSS
1355
- $var-hyphen: 12
1356
- $var_under: foo
1357
-
1358
- a
1359
- $var_hyphen: 1 + $var_hyphen
1360
- $var-under: $var-under + bar
1361
- b: c
1362
-
1363
- d
1364
- e: $var-hyphen
1365
- f: $var_under
1366
- SASS
1367
- end
1368
-
1369
- def test_css_identifier_variable
1370
- assert_equal(<<CSS, render(<<SASS))
1371
- a {
1372
- b: 12; }
1373
- CSS
1374
- $\\{foo\\(12\\): 12
1375
-
1376
- a
1377
- b: $\\{foo\\(12\\)
1378
- SASS
1379
- end
1380
-
1381
- def test_important
1382
- assert_equal(<<CSS, render(<<SASS))
1383
- a {
1384
- b: 12px !important; }
1385
- CSS
1386
- $foo: 12px
1387
- a
1388
- b: $foo !important
666
+ d = !i
1389
667
  SASS
1390
668
  end
1391
669
 
1392
670
  def test_argument_error
1393
- assert_raise(Sass::SyntaxError) { render("a\n b: hsl(1)") }
671
+ assert_raise(Sass::SyntaxError) { render("a\n b = hsl(1)") }
1394
672
  end
1395
673
 
1396
674
  def test_comments_at_the_top_of_a_document
@@ -1419,30 +697,6 @@ foo {
1419
697
  CSS
1420
698
  end
1421
699
 
1422
- def test_loud_comments_with_starred_lines
1423
- assert_equal(<<CSS, render(<<SASS))
1424
- /* This is a comment that
1425
- * continues to the second line.
1426
- * And even to the third! */
1427
- CSS
1428
- /* This is a comment that
1429
- * continues to the second line.
1430
- * And even to the third!
1431
- SASS
1432
- end
1433
-
1434
- def test_loud_comments_with_no_space_after_starred_lines
1435
- assert_equal(<<CSS, render(<<SASS))
1436
- /*bip bop
1437
- *beep boop
1438
- *bap blimp */
1439
- CSS
1440
- /*bip bop
1441
- *beep boop
1442
- *bap blimp
1443
- SASS
1444
- end
1445
-
1446
700
  def test_comment_indentation_at_beginning_of_doc
1447
701
  assert_equal <<CSS, render(<<SASS)
1448
702
  /* foo
@@ -1473,35 +727,9 @@ foo
1473
727
  SASS
1474
728
  end
1475
729
 
1476
- def test_loud_comment_with_close
1477
- assert_equal <<CSS, render(<<SASS)
1478
- foo {
1479
- /* foo
1480
- * bar */ }
1481
- CSS
1482
- foo
1483
- /* foo
1484
- bar */
1485
- SASS
1486
- end
1487
-
1488
- def test_loud_comment_with_separate_line_close
1489
- assert_equal <<CSS, render(<<SASS)
1490
- foo {
1491
- /* foo
1492
- * bar
1493
- */ }
1494
- CSS
1495
- foo
1496
- /* foo
1497
- * bar
1498
- */
1499
- SASS
1500
- end
1501
-
1502
730
  def test_attribute_selector_with_spaces
1503
731
  assert_equal(<<CSS, render(<<SASS))
1504
- a b[foo=bar] {
732
+ a b[foo = bar] {
1505
733
  c: d; }
1506
734
  CSS
1507
735
  a
@@ -1546,7 +774,25 @@ SASS
1546
774
  def test_empty_selector_warning
1547
775
  assert_warning(<<END) {render("foo bar")}
1548
776
  WARNING on line 1 of test_empty_selector_warning_inline.sass:
1549
- This selector doesn't have any properties and will not be rendered.
777
+ Selector "foo bar" doesn't have any properties and will not be rendered.
778
+ END
779
+
780
+ assert_warning(<<END) {render(<<SASS)}
781
+ WARNING on line 3 of test_empty_selector_warning_inline.sass:
782
+ Selector
783
+ foo, bar, baz,
784
+ bang, bip, bop
785
+ doesn't have any properties and will not be rendered.
786
+ END
787
+
788
+
789
+ foo, bar, baz,
790
+ bang, bip, bop
791
+ SASS
792
+
793
+ assert_warning(<<END) {render("foo bar", :filename => nil)}
794
+ WARNING on line 1:
795
+ Selector "foo bar" doesn't have any properties and will not be rendered.
1550
796
  END
1551
797
  end
1552
798
 
@@ -1581,356 +827,6 @@ foo
1581
827
  SASS
1582
828
  end
1583
829
 
1584
- def test_interpolation_in_raw_functions
1585
- assert_equal(<<CSS, render(<<SASS))
1586
- foo {
1587
- filter: progid:Microsoft.foo.bar.Baz(flip=foobar, bang=#00ff00cc); }
1588
- CSS
1589
- foo
1590
- filter: progid:Microsoft.foo.bar.Baz(flip=\#{foo + bar}, bang=#00ff00cc)
1591
- SASS
1592
- end
1593
-
1594
- # SassScript string behavior
1595
-
1596
- def test_plus_preserves_quotedness
1597
- assert_equal(<<CSS, render(<<SASS))
1598
- foo {
1599
- a: "foo1";
1600
- b: "1foo";
1601
- c: foo1;
1602
- d: 1foo;
1603
- e: "foobar";
1604
- f: foobar; }
1605
- CSS
1606
- foo
1607
- a: "foo" + 1
1608
- b: 1 + "foo"
1609
- c: foo + 1
1610
- d: 1 + foo
1611
- e: "foo" + bar
1612
- f: foo + "bar"
1613
- SASS
1614
- end
1615
-
1616
- def test_colon_properties_preserve_quotedness
1617
- assert_equal(<<CSS, render(<<SASS))
1618
- foo {
1619
- a: "foo";
1620
- b: bar;
1621
- c: "foo" bar;
1622
- d: foo, "bar"; }
1623
- CSS
1624
- foo
1625
- a: "foo"
1626
- b: bar
1627
- c: "foo" bar
1628
- d: foo, "bar"
1629
- SASS
1630
- end
1631
-
1632
- def test_colon_variables_preserve_quotedness
1633
- assert_equal(<<CSS, render(<<SASS))
1634
- foo {
1635
- a: "foo";
1636
- b: bar; }
1637
- CSS
1638
- $a: "foo"
1639
- $b: bar
1640
-
1641
- foo
1642
- a: $a
1643
- b: $b
1644
- SASS
1645
- end
1646
-
1647
- def test_colon_args_preserve_quotedness
1648
- assert_equal(<<CSS, render(<<SASS))
1649
- foo {
1650
- a: "foo";
1651
- b: bar;
1652
- c: "foo" bar;
1653
- d: foo, "bar"; }
1654
- CSS
1655
- =foo($a: "foo", $b: bar, $c: "foo" bar, $d: (foo, "bar"))
1656
- foo
1657
- a: $a
1658
- b: $b
1659
- c: $c
1660
- d: $d
1661
-
1662
- +foo
1663
- SASS
1664
- end
1665
-
1666
- def test_interpolation_unquotes_strings
1667
- assert_equal(<<CSS, render(<<SASS))
1668
- .foo-bar {
1669
- a: b; }
1670
- CSS
1671
- .foo-\#{"bar"}
1672
- a: b
1673
- SASS
1674
-
1675
- assert_equal(<<CSS, render(<<SASS))
1676
- .foo {
1677
- a: b c; }
1678
- CSS
1679
- .foo
1680
- a: b \#{"c"}
1681
- SASS
1682
- end
1683
-
1684
- def test_interpolation_unquotes_strings_in_vars
1685
- assert_equal(<<CSS, render(<<SASS))
1686
- .foo-bar {
1687
- a: b; }
1688
- CSS
1689
- $var: "bar"
1690
-
1691
- .foo-\#{$var}
1692
- a: b
1693
- SASS
1694
- end
1695
-
1696
- def test_interpolation_doesnt_deep_unquote_strings
1697
- assert_equal(<<CSS, render(<<SASS))
1698
- .foo- "bar" "baz" {
1699
- a: b; }
1700
- CSS
1701
- .foo-\#{"bar" "baz"}
1702
- a: b
1703
- SASS
1704
- end
1705
-
1706
- # Deprecated equals behavior
1707
-
1708
- def test_equals_properties_unquote_strings
1709
- silence_warnings do
1710
- assert_equal(<<CSS, render(<<SASS))
1711
- foo {
1712
- a: foo;
1713
- b: bar;
1714
- c: foo bar;
1715
- d: foo, bar baz;
1716
- e: foo bar, bar; }
1717
- CSS
1718
- foo
1719
- a= "foo"
1720
- b= bar
1721
- c= "foo" bar
1722
- d= foo, "bar baz"
1723
- e= "foo bar", bar
1724
- SASS
1725
- end
1726
- end
1727
-
1728
- def test_equals_properties_unquote_value
1729
- silence_warnings do
1730
- assert_equal(<<CSS, render(<<SASS))
1731
- foo {
1732
- a: foo; }
1733
- CSS
1734
- $var: "foo"
1735
-
1736
- foo
1737
- a= $var
1738
- SASS
1739
- end
1740
- end
1741
-
1742
- def test_equals_properties_deep_unquote_vars
1743
- silence_warnings do
1744
- assert_equal(<<CSS, render(<<SASS))
1745
- foo {
1746
- a: foo bar;
1747
- b: bar foo; }
1748
- CSS
1749
- $var: "foo"
1750
-
1751
- foo
1752
- a= $var "bar"
1753
- b= "bar" $var
1754
- SASS
1755
- end
1756
- end
1757
-
1758
- def test_equals_vars_unquote_strings
1759
- silence_warnings do
1760
- assert_equal(<<CSS, render(<<SASS))
1761
- foo {
1762
- a: foo;
1763
- b: bar;
1764
- c: foo bar;
1765
- d: foo, bar; }
1766
- CSS
1767
- $a = "foo"
1768
- $b = bar
1769
- $c = "foo" bar
1770
- $d = foo, "bar"
1771
-
1772
- foo
1773
- a: $a
1774
- b: $b
1775
- c: $c
1776
- d: $d
1777
- SASS
1778
- end
1779
- end
1780
-
1781
- def test_equals_vars_unquote_value
1782
- silence_warnings do
1783
- assert_equal(<<CSS, render(<<SASS))
1784
- foo {
1785
- a: foo; }
1786
- CSS
1787
- $var1: "foo"
1788
- $var2 = $var1
1789
-
1790
- foo
1791
- a: $var2
1792
- SASS
1793
- end
1794
- end
1795
-
1796
- def test_equals_vars_deep_unquote_vars
1797
- silence_warnings do
1798
- assert_equal(<<CSS, render(<<SASS))
1799
- foo {
1800
- a: foo bar;
1801
- b: bar foo; }
1802
- CSS
1803
- $var: "foo"
1804
- $a = $var "bar"
1805
- $b = "bar" $var
1806
-
1807
- foo
1808
- a: $a
1809
- b: $b
1810
- SASS
1811
- end
1812
- end
1813
-
1814
- def test_equals_args_unquote_strings
1815
- silence_warnings do
1816
- assert_equal(<<CSS, render(<<SASS))
1817
- foo {
1818
- a: foo;
1819
- b: bar;
1820
- c: foo bar;
1821
- d: foo, bar; }
1822
- CSS
1823
- =foo($a = "foo", $b = bar, $c = "foo" bar, $d = (foo, "bar"))
1824
- foo
1825
- a: $a
1826
- b: $b
1827
- c: $c
1828
- d: $d
1829
-
1830
- +foo
1831
- SASS
1832
- end
1833
- end
1834
-
1835
- def test_equals_args_unquote_value
1836
- silence_warnings do
1837
- assert_equal(<<CSS, render(<<SASS))
1838
- foo {
1839
- a: foo; }
1840
- CSS
1841
- $var1: "foo"
1842
-
1843
- =foo($var2 = $var1)
1844
- foo
1845
- a: $var2
1846
-
1847
- +foo
1848
- SASS
1849
- end
1850
- end
1851
-
1852
- def test_equals_args_deep_unquote_vars
1853
- silence_warnings do
1854
- assert_equal(<<CSS, render(<<SASS))
1855
- foo {
1856
- a: foo bar;
1857
- b: bar foo; }
1858
- CSS
1859
- $var: "foo"
1860
- =foo($a = $var "bar", $b = "bar" $var)
1861
- foo
1862
- a: $a
1863
- b: $b
1864
-
1865
- +foo
1866
- SASS
1867
- end
1868
- end
1869
-
1870
- def test_equals_properties_force_division
1871
- silence_warnings do
1872
- assert_equal(<<CSS, render(<<SASS))
1873
- foo {
1874
- a: 0.5; }
1875
- CSS
1876
- foo
1877
- a = 1px/2px
1878
- SASS
1879
- end
1880
- end
1881
-
1882
- def test_warn_directive
1883
- expected_warning = <<EXPECTATION
1884
- WARNING: this is a warning
1885
- on line 4 of test_warn_directive_inline.sass
1886
-
1887
- WARNING: this is a mixin warning
1888
- on line 2 of test_warn_directive_inline.sass, in `foo'
1889
- from line 7 of test_warn_directive_inline.sass
1890
- EXPECTATION
1891
- assert_warning expected_warning do
1892
- assert_equal <<CSS, render(<<SASS)
1893
- bar {
1894
- c: d; }
1895
- CSS
1896
- =foo
1897
- @warn "this is a mixin warning"
1898
-
1899
- @warn "this is a warning"
1900
- bar
1901
- c: d
1902
- +foo
1903
- SASS
1904
- end
1905
- end
1906
-
1907
- def test_warn_directive_when_quiet
1908
- assert_warning "" do
1909
- assert_equal <<CSS, render(<<SASS, :quiet => true)
1910
- CSS
1911
- @warn "this is a warning"
1912
- SASS
1913
- end
1914
- end
1915
-
1916
- def test_warn_with_imports
1917
- expected_warning = <<WARN
1918
- WARNING: In the main file
1919
- on line 1 of #{File.dirname(__FILE__)}/templates/warn.sass
1920
-
1921
- WARNING: Imported
1922
- on line 1 of #{File.dirname(__FILE__)}/templates/warn_imported.sass
1923
- from line 2 of #{File.dirname(__FILE__)}/templates/warn.sass
1924
-
1925
- WARNING: In an imported mixin
1926
- on line 4 of #{File.dirname(__FILE__)}/templates/warn_imported.sass, in `emits-a-warning'
1927
- from line 3 of #{File.dirname(__FILE__)}/templates/warn.sass
1928
- WARN
1929
- assert_warning expected_warning do
1930
- renders_correctly "warn", :style => :compact, :load_paths => [File.dirname(__FILE__) + "/templates"]
1931
- end
1932
- end
1933
-
1934
830
  # Regression tests
1935
831
 
1936
832
  def test_parens_in_mixins
@@ -1939,9 +835,9 @@ WARN
1939
835
  color: #01ff7f;
1940
836
  background-color: #000102; }
1941
837
  CSS
1942
- =foo($c1, $c2: rgb(0, 1, 2))
1943
- color: $c1
1944
- background-color: $c2
838
+ =foo(!c1, !c2 = rgb(0, 1, 2))
839
+ color = !c1
840
+ background-color = !c2
1945
841
 
1946
842
  .foo
1947
843
  +foo(rgb(1,255,127))
@@ -1966,7 +862,7 @@ SOURCE
1966
862
  RESULT
1967
863
  .box
1968
864
  :border
1969
- /* :color black
865
+ /*:color black
1970
866
  :style solid
1971
867
  SOURCE
1972
868
 
@@ -2046,191 +942,8 @@ a
2046
942
  SASS
2047
943
  end
2048
944
 
2049
- def test_options_available_in_environment
2050
- assert_equal(<<CSS, render(<<SASS))
2051
- a {
2052
- b: nested; }
2053
- CSS
2054
- a
2055
- b: option("style")
2056
- SASS
2057
- end
2058
-
2059
- def test_mixin_no_arg_error
2060
- assert_raise_message(Sass::SyntaxError, 'Invalid CSS after "($bar,": expected variable (e.g. $foo), was ")"') do
2061
- render(<<SASS)
2062
- =foo($bar,)
2063
- bip: bap
2064
- SASS
2065
- end
2066
- end
2067
-
2068
- def test_import_with_commas_in_url
2069
- assert_equal <<CSS, render(<<SASS)
2070
- @import url(foo.css?bar,baz);
2071
- CSS
2072
- @import url(foo.css?bar,baz)
2073
- SASS
2074
- end
2075
-
2076
- def test_function_output_with_comma
2077
- assert_equal <<CSS, render(<<SASS)
2078
- foo {
2079
- a: b(c), d(e); }
2080
- CSS
2081
- foo
2082
- a: b(c), d(e)
2083
- SASS
2084
- end
2085
-
2086
- def test_interpolation_with_comma
2087
- assert_equal <<CSS, render(<<SASS)
2088
- foo {
2089
- a: foo, bar; }
2090
- CSS
2091
- $foo: foo
2092
- foo
2093
- a: \#{$foo}, bar
2094
- SASS
2095
- end
2096
-
2097
- def test_string_interpolation_with_comma
2098
- assert_equal <<CSS, render(<<SASS)
2099
- foo {
2100
- a: "bip foo bap", bar; }
2101
- CSS
2102
- $foo: foo
2103
- foo
2104
- a: "bip \#{$foo} bap", bar
2105
- SASS
2106
- end
2107
-
2108
- # Encodings
2109
-
2110
- unless Haml::Util.ruby1_8?
2111
- def test_encoding_error
2112
- render("foo\nbar\nb\xFEaz".force_encoding("utf-8"))
2113
- assert(false, "Expected exception")
2114
- rescue Sass::SyntaxError => e
2115
- assert_equal(3, e.sass_line)
2116
- assert_equal('Invalid UTF-8 character "\xFE"', e.message)
2117
- end
2118
-
2119
- def test_ascii_incompatible_encoding_error
2120
- template = "foo\nbar\nb_z".encode("utf-16le")
2121
- template[9] = "\xFE".force_encoding("utf-16le")
2122
- render(template)
2123
- assert(false, "Expected exception")
2124
- rescue Sass::SyntaxError => e
2125
- assert_equal(3, e.sass_line)
2126
- assert_equal('Invalid UTF-16LE character "\xFE"', e.message)
2127
- end
2128
-
2129
- def test_same_charset_as_encoding
2130
- assert_renders_encoded(<<CSS, <<SASS)
2131
- @charset "UTF-8";
2132
- fóó {
2133
- a: b; }
2134
- CSS
2135
- @charset "utf-8"
2136
- fóó
2137
- a: b
2138
- SASS
2139
- end
2140
-
2141
- def test_different_charset_than_encoding
2142
- assert_renders_encoded(<<CSS.force_encoding("IBM866"), <<SASS)
2143
- @charset "IBM866";
2144
- fóó {
2145
- a: b; }
2146
- CSS
2147
- @charset "ibm866"
2148
- fóó
2149
- a: b
2150
- SASS
2151
- end
2152
-
2153
- def test_different_encoding_than_system
2154
- assert_renders_encoded(<<CSS.encode("IBM866"), <<SASS.encode("IBM866"))
2155
- @charset "IBM866";
2156
- тАЬ {
2157
- a: b; }
2158
- CSS
2159
- тАЬ
2160
- a: b
2161
- SASS
2162
- end
2163
-
2164
- def test_multibyte_charset
2165
- assert_renders_encoded(<<CSS.encode("UTF-16LE"), <<SASS.encode("UTF-16LE").force_encoding("UTF-8"))
2166
- @charset "UTF-16LE";
2167
- fóó {
2168
- a: b; }
2169
- CSS
2170
- @charset "utf-16le"
2171
- fóó
2172
- a: b
2173
- SASS
2174
- end
2175
-
2176
- def test_multibyte_charset_without_endian_specifier
2177
- assert_renders_encoded(<<CSS.encode("UTF-32BE"), <<SASS.encode("UTF-32BE").force_encoding("UTF-8"))
2178
- @charset "UTF-32BE";
2179
- fóó {
2180
- a: b; }
2181
- CSS
2182
- @charset "utf-32"
2183
- fóó
2184
- a: b
2185
- SASS
2186
- end
2187
-
2188
- def test_utf8_bom
2189
- assert_renders_encoded(<<CSS, <<SASS.force_encoding("BINARY"))
2190
- @charset "UTF-8";
2191
- fóó {
2192
- a: b; }
2193
- CSS
2194
- \uFEFFfóó
2195
- a: b
2196
- SASS
2197
- end
2198
-
2199
- def test_utf16le_bom
2200
- assert_renders_encoded(<<CSS.encode("UTF-16LE"), <<SASS.encode("UTF-16LE").force_encoding("BINARY"))
2201
- @charset "UTF-16LE";
2202
- fóó {
2203
- a: b; }
2204
- CSS
2205
- \uFEFFfóó
2206
- a: b
2207
- SASS
2208
- end
2209
-
2210
- def test_utf32be_bom
2211
- assert_renders_encoded(<<CSS.encode("UTF-32BE"), <<SASS.encode("UTF-32BE").force_encoding("BINARY"))
2212
- @charset "UTF-32BE";
2213
- fóó {
2214
- a: b; }
2215
- CSS
2216
- \uFEFFfóó
2217
- a: b
2218
- SASS
2219
- end
2220
- end
2221
-
2222
945
  private
2223
-
2224
- def assert_hash_has(hash, expected)
2225
- expected.each {|k, v| assert_equal(v, hash[k])}
2226
- end
2227
-
2228
- def assert_renders_encoded(css, sass)
2229
- result = render(sass)
2230
- assert_equal css.encoding, result.encoding
2231
- assert_equal css, result
2232
- end
2233
-
946
+
2234
947
  def render(sass, options = {})
2235
948
  munge_filename options
2236
949
  Sass::Engine.new(sass, options).render
@@ -2260,4 +973,3 @@ SASS
2260
973
  Sass::Files.send(:sassc_filename, sassc_path, Sass::Engine::DEFAULT_OPTIONS)
2261
974
  end
2262
975
  end
2263
-