middleman-core 3.0.0.beta.2 → 3.0.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. data/features/cli_extension.feature +13 -0
  2. data/features/{cli.feature → cli_init.feature} +1 -10
  3. data/features/directory_index.feature +29 -1
  4. data/features/dynamic_pages.feature +1 -0
  5. data/features/extensionless_text_files.feature +0 -2
  6. data/features/front-matter.feature +17 -1
  7. data/features/frontmatter_page_settings.feature +16 -1
  8. data/features/helpers_relative_link_to.feature +68 -0
  9. data/features/unicode_filenames.feature +14 -0
  10. data/fixtures/csspie/config.rb +0 -0
  11. data/fixtures/csspie/source/stylesheets/PIE.htc +96 -0
  12. data/fixtures/dynamic-pages-app/config.rb +3 -0
  13. data/fixtures/frontmatter-app/source/front-matter-auto.erb +6 -0
  14. data/fixtures/frontmatter-app/source/front-matter.html.erb +2 -0
  15. data/fixtures/frontmatter-app/source/json-front-matter-2.php.erb +7 -0
  16. data/fixtures/frontmatter-app/source/json-front-matter-auto.erb +6 -0
  17. data/fixtures/frontmatter-app/source/json-front-matter.html.erb +6 -0
  18. data/fixtures/unicode-filenames-app/config.rb +1 -0
  19. data/fixtures/unicode-filenames-app/source/snowmen-rule-/342/230/203.html +4 -0
  20. data/lib/middleman-core/application.rb +43 -335
  21. data/lib/middleman-core/cli/build.rb +11 -4
  22. data/lib/middleman-core/cli/bundler.rb +40 -0
  23. data/lib/middleman-core/cli/extension.rb +36 -0
  24. data/lib/middleman-core/cli/server.rb +2 -2
  25. data/lib/middleman-core/cli.rb +2 -6
  26. data/lib/middleman-core/core_extensions/assets.rb +35 -31
  27. data/lib/middleman-core/core_extensions/builder.rb +14 -9
  28. data/lib/middleman-core/core_extensions/data.rb +150 -145
  29. data/lib/middleman-core/core_extensions/default_helpers.rb +159 -97
  30. data/lib/middleman-core/core_extensions/extensions.rb +103 -97
  31. data/lib/middleman-core/core_extensions/external_helpers.rb +27 -23
  32. data/lib/middleman-core/core_extensions/file_watcher.rb +140 -110
  33. data/lib/middleman-core/core_extensions/front_matter.rb +155 -175
  34. data/lib/middleman-core/core_extensions/i18n.rb +111 -102
  35. data/lib/middleman-core/core_extensions/rendering.rb +293 -295
  36. data/lib/middleman-core/core_extensions/request.rb +338 -0
  37. data/lib/middleman-core/core_extensions/routing.rb +72 -68
  38. data/lib/middleman-core/core_extensions/show_exceptions.rb +23 -18
  39. data/lib/middleman-core/core_extensions.rb +39 -0
  40. data/lib/middleman-core/extensions/directory_indexes.rb +1 -4
  41. data/lib/middleman-core/extensions/lorem.rb +10 -3
  42. data/lib/middleman-core/extensions.rb +2 -64
  43. data/lib/middleman-core/preview_server.rb +157 -0
  44. data/lib/middleman-core/sitemap/extensions/ignores.rb +73 -68
  45. data/lib/middleman-core/sitemap/extensions/on_disk.rb +65 -58
  46. data/lib/middleman-core/sitemap/extensions/proxies.rb +86 -75
  47. data/lib/middleman-core/sitemap/extensions/traversal.rb +68 -61
  48. data/lib/middleman-core/sitemap/resource.rb +123 -102
  49. data/lib/middleman-core/sitemap/store.rb +170 -149
  50. data/lib/middleman-core/sitemap.rb +57 -57
  51. data/lib/middleman-core/step_definitions/server_steps.rb +13 -3
  52. data/lib/middleman-core/templates/extension/Gemfile +4 -0
  53. data/lib/middleman-core/templates/extension/Rakefile +12 -0
  54. data/lib/middleman-core/templates/extension/features/support/env.rb +4 -0
  55. data/lib/middleman-core/templates/extension/gemspec +24 -0
  56. data/lib/middleman-core/templates/extension/lib/lib.rb +49 -0
  57. data/lib/middleman-core/templates/extension/lib/middleman_extension.rb +1 -0
  58. data/lib/middleman-core/templates/shared/gitignore +14 -0
  59. data/lib/middleman-core/templates.rb +14 -8
  60. data/lib/middleman-core/util.rb +31 -9
  61. data/lib/middleman-core/version.rb +1 -1
  62. data/lib/middleman-core.rb +6 -4
  63. data/middleman-core.gemspec +4 -6
  64. metadata +62 -203
  65. data/lib/middleman-core/vendor/padrino-core-0.10.6/.document +0 -5
  66. data/lib/middleman-core/vendor/padrino-core-0.10.6/.gitignore +0 -22
  67. data/lib/middleman-core/vendor/padrino-core-0.10.6/.yardopts +0 -1
  68. data/lib/middleman-core/vendor/padrino-core-0.10.6/LICENSE.txt +0 -20
  69. data/lib/middleman-core/vendor/padrino-core-0.10.6/README.rdoc +0 -294
  70. data/lib/middleman-core/vendor/padrino-core-0.10.6/Rakefile +0 -5
  71. data/lib/middleman-core/vendor/padrino-core-0.10.6/bin/padrino +0 -9
  72. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/application/rendering.rb +0 -292
  73. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/application/routing.rb +0 -943
  74. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/application/showexceptions.rb +0 -20
  75. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/application.rb +0 -269
  76. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/caller.rb +0 -53
  77. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/cli/adapter.rb +0 -24
  78. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/cli/base.rb +0 -150
  79. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/cli/console.rb +0 -20
  80. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/cli/rake.rb +0 -24
  81. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/cli/rake_tasks.rb +0 -59
  82. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/command.rb +0 -38
  83. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/images/404.png +0 -0
  84. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/images/500.png +0 -0
  85. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/loader.rb +0 -211
  86. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/cs.yml +0 -34
  87. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/da.yml +0 -34
  88. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/de.yml +0 -34
  89. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/en.yml +0 -34
  90. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/es.yml +0 -34
  91. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/fr.yml +0 -34
  92. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/hu.yml +0 -34
  93. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/it.yml +0 -40
  94. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/ja.yml +0 -34
  95. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/lv.yml +0 -34
  96. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/nl.yml +0 -34
  97. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/no.yml +0 -35
  98. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/pl.yml +0 -34
  99. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/pt_br.yml +0 -40
  100. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/ru.yml +0 -35
  101. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/tr.yml +0 -34
  102. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/uk.yml +0 -34
  103. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/zh_cn.yml +0 -34
  104. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/locale/zh_tw.yml +0 -34
  105. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/logger.rb +0 -428
  106. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/mounter.rb +0 -224
  107. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/reloader.rb +0 -254
  108. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/router.rb +0 -98
  109. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/server.rb +0 -79
  110. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/support_lite.rb +0 -199
  111. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/tasks.rb +0 -21
  112. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/version.rb +0 -20
  113. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core.rb +0 -152
  114. data/lib/middleman-core/vendor/padrino-core-0.10.6/padrino-core.gemspec +0 -38
  115. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/apps/.components +0 -6
  116. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/apps/.gitignore +0 -7
  117. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/apps/complex.rb +0 -32
  118. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/apps/simple.rb +0 -33
  119. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/dependencies/a.rb +0 -9
  120. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/dependencies/b.rb +0 -4
  121. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/dependencies/c.rb +0 -1
  122. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/dependencies/circular/e.rb +0 -13
  123. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/dependencies/circular/f.rb +0 -2
  124. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/dependencies/circular/g.rb +0 -2
  125. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/fixtures/dependencies/d.rb +0 -4
  126. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/helper.rb +0 -83
  127. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/mini_shoulda.rb +0 -45
  128. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_application.rb +0 -108
  129. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_core.rb +0 -77
  130. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_dependencies.rb +0 -44
  131. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_filters.rb +0 -278
  132. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_locale.rb +0 -21
  133. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_logger.rb +0 -154
  134. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_mounter.rb +0 -177
  135. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_reloader_complex.rb +0 -75
  136. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_reloader_simple.rb +0 -98
  137. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_rendering.rb +0 -461
  138. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_restful_routing.rb +0 -33
  139. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_router.rb +0 -146
  140. data/lib/middleman-core/vendor/padrino-core-0.10.6/test/test_routing.rb +0 -1680
  141. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/.document +0 -5
  142. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/.gitignore +0 -21
  143. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/.yardopts +0 -1
  144. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/LICENSE.txt +0 -20
  145. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/README.rdoc +0 -239
  146. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/Rakefile +0 -5
  147. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/asset_tag_helpers.rb +0 -417
  148. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -251
  149. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -43
  150. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/form_helpers.rb +0 -787
  151. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/format_helpers.rb +0 -381
  152. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/cs.yml +0 -103
  153. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/da.yml +0 -91
  154. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/de.yml +0 -81
  155. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/en.yml +0 -103
  156. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/es.yml +0 -103
  157. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/fr.yml +0 -80
  158. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/hu.yml +0 -103
  159. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/it.yml +0 -89
  160. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/ja.yml +0 -103
  161. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/lv.yml +0 -103
  162. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/nl.yml +0 -82
  163. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/no.yml +0 -91
  164. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/pl.yml +0 -95
  165. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/pt_br.yml +0 -103
  166. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/ru.yml +0 -103
  167. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/tr.yml +0 -103
  168. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/uk.yml +0 -103
  169. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/zh_cn.yml +0 -104
  170. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/locale/zh_tw.yml +0 -103
  171. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/number_helpers.rb +0 -288
  172. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -98
  173. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -79
  174. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -63
  175. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -81
  176. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/output_helpers.rb +0 -175
  177. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/render_helpers.rb +0 -60
  178. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/tag_helpers.rb +0 -260
  179. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/translation_helpers.rb +0 -38
  180. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers.rb +0 -59
  181. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/padrino-helpers.gemspec +0 -27
  182. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/app.rb +0 -73
  183. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/capture_concat.erb +0 -14
  184. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/capture_concat.haml +0 -12
  185. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/capture_concat.slim +0 -13
  186. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/content_for.erb +0 -14
  187. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/content_for.haml +0 -12
  188. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/content_for.slim +0 -12
  189. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/content_tag.erb +0 -11
  190. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/content_tag.haml +0 -9
  191. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/content_tag.slim +0 -9
  192. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/current_engine.erb +0 -5
  193. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/current_engine.haml +0 -5
  194. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/current_engine.slim +0 -5
  195. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/fields_for.erb +0 -20
  196. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/fields_for.haml +0 -15
  197. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/fields_for.slim +0 -15
  198. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/form_for.erb +0 -72
  199. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/form_for.haml +0 -59
  200. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/form_for.slim +0 -59
  201. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/form_tag.erb +0 -86
  202. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/form_tag.haml +0 -70
  203. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/form_tag.slim +0 -70
  204. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/link_to.erb +0 -5
  205. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/link_to.haml +0 -4
  206. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/link_to.slim +0 -4
  207. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/mail_to.erb +0 -3
  208. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/mail_to.haml +0 -3
  209. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/mail_to.slim +0 -3
  210. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/meta_tag.erb +0 -3
  211. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/meta_tag.haml +0 -3
  212. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/meta_tag.slim +0 -3
  213. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
  214. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
  215. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
  216. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/simple_partial.erb +0 -1
  217. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/simple_partial.haml +0 -1
  218. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/markup_app/views/simple_partial.slim +0 -1
  219. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/app.rb +0 -50
  220. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/current_engine.haml +0 -5
  221. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
  222. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
  223. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
  224. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/erb/test.erb +0 -1
  225. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/explicit_engine.haml +0 -5
  226. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/haml/test.haml +0 -1
  227. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/template/_user.haml +0 -7
  228. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/template/haml_template.haml +0 -1
  229. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/fixtures/render_app/views/template/some_template.haml +0 -2
  230. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/helper.rb +0 -66
  231. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_asset_tag_helpers.rb +0 -328
  232. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_form_builder.rb +0 -1106
  233. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_form_helpers.rb +0 -770
  234. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_format_helpers.rb +0 -227
  235. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_locale.rb +0 -20
  236. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_number_helpers.rb +0 -139
  237. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_output_helpers.rb +0 -153
  238. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_render_helpers.rb +0 -76
  239. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/test/test_tag_helpers.rb +0 -106
  240. data/lib/middleman-core/watcher.rb +0 -196
@@ -1,227 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
3
-
4
- describe "FormatHelpers" do
5
- def app
6
- MarkupDemo.tap { |app| app.set :environment, :test }
7
- end
8
-
9
- def setup
10
- Time.stubs(:now).returns(Time.utc(1983, 11, 9, 5))
11
- end
12
-
13
- include Padrino::Helpers::FormatHelpers
14
-
15
- context 'for #simple_format method' do
16
- should "format simple text into html format" do
17
- actual_text = simple_format("Here is some basic text...\n...with a line break.")
18
- assert_equal "<p>Here is some basic text...\n<br />...with a line break.</p>", actual_text
19
- end
20
-
21
- should "format more text into html format" do
22
- actual_text = simple_format("We want to put a paragraph...\n\n...right there.")
23
- assert_equal "<p>We want to put a paragraph...</p>\n\n<p>...right there.</p>", actual_text
24
- end
25
-
26
- should "support defining a class for the paragraphs" do
27
- actual_text = simple_format("Look me! A class!", :class => 'description')
28
- assert_equal "<p class=\"description\">Look me! A class!</p>", actual_text
29
- end
30
-
31
- context 'wrapped in a custom tag' do
32
- should "format simple text into html format" do
33
- actual_text = simple_format("Here is some basic text...\n...with a line break.", :tag => :div)
34
- assert_equal "<div>Here is some basic text...\n<br />...with a line break.</div>", actual_text
35
- end
36
-
37
- should "format more text into html format" do
38
- actual_text = simple_format("We want to put a paragraph...\n\n...right there.", :tag => :div)
39
- assert_equal "<div>We want to put a paragraph...</div>\n\n<div>...right there.</div>", actual_text
40
- end
41
-
42
- should "support defining a class for the paragraphs" do
43
- actual_text = simple_format("Look me! A class!", :class => 'description', :tag => :div)
44
- assert_equal "<div class=\"description\">Look me! A class!</div>", actual_text
45
- end
46
- end
47
- end
48
-
49
- context 'for #pluralize method' do
50
- should "return singular count for 1 item collections" do
51
- actual_text = pluralize(1, 'person')
52
- assert_equal '1 person', actual_text
53
- end
54
- should "return plural count for empty collections" do
55
- actual_text = pluralize(0, 'person')
56
- assert_equal '0 people', actual_text
57
- end
58
- should "return plural count for many collections" do
59
- actual_text = pluralize(2, 'person')
60
- assert_equal '2 people', actual_text
61
- end
62
- should "return pluralized word specified as argument" do
63
- actual_text = pluralize(3, 'person', 'users')
64
- assert_equal '3 users', actual_text
65
- end
66
- end
67
-
68
- context 'for #word_wrap method' do
69
- should "return proper formatting for 8 max width" do
70
- actual_text = word_wrap('Once upon a time', :line_width => 8)
71
- assert_equal "Once\nupon a\ntime", actual_text
72
- end
73
- should "return proper formatting for 1 max width" do
74
- actual_text = word_wrap('Once upon a time', :line_width => 1)
75
- assert_equal "Once\nupon\na\ntime", actual_text
76
- end
77
- should "return proper formatting for default width" do
78
- actual_text = word_wrap((1..50).to_a.join(" "))
79
- assert_equal (1..30).to_a.join(" ") + "\n" + (31..50).to_a.join(" "), actual_text
80
- actual_text = word_wrap((1..50).to_a.join(" "), 80)
81
- assert_equal (1..30).to_a.join(" ") + "\n" + (31..50).to_a.join(" "), actual_text
82
- end
83
- end
84
-
85
- context 'for #highlight method' do
86
- should 'highligth with defaults' do
87
- actual_text = highlight('Lorem ipsum dolor sit amet', 'dolor')
88
- assert_equal 'Lorem ipsum <strong class="highlight">dolor</strong> sit amet', actual_text
89
- end
90
-
91
- should 'highlight with highlighter' do
92
- actual_text = highlight('Lorem ipsum dolor sit amet', 'dolor', :highlighter => '<span class="custom">\1</span>')
93
- assert_equal 'Lorem ipsum <span class="custom">dolor</span> sit amet', actual_text
94
- end
95
- end
96
-
97
- context 'for #truncate method' do
98
- should "support default truncation" do
99
- actual_text = truncate("Once upon a time in a world far far away")
100
- assert_equal "Once upon a time in a world...", actual_text
101
- end
102
- should "support specifying length" do
103
- actual_text = truncate("Once upon a time in a world far far away", :length => 14)
104
- assert_equal "Once upon a...", actual_text
105
- end
106
- should "support specifying omission text" do
107
- actual_text = truncate("And they found that many people were sleeping better.", :length => 25, :omission => "(clipped)")
108
- assert_equal "And they found t(clipped)", actual_text
109
- end
110
- end
111
-
112
- context 'for #truncate_words method' do
113
- should "support default truncation" do
114
- actual_text = truncate_words("Long before books were made, people told stories. They told them to one another and to the children as they sat before the fire. Many of these stories were about interesting people, but most of them were about the ways of fairies and giants.")
115
- assert_equal "Long before books were made, people told stories. They told them to one another and to the children as they sat before the fire. Many of these stories were about...", actual_text
116
- end
117
- should "support specifying length" do
118
- actual_text = truncate_words("Once upon a time in a world far far away", :length => 8)
119
- assert_equal "Once upon a time in a world far...", actual_text
120
- end
121
- should "support specifying omission text" do
122
- actual_text = truncate_words("And they found that many people were sleeping better.", :length => 4, :omission => "(clipped)")
123
- assert_equal "And they found that(clipped)", actual_text
124
- end
125
- end
126
-
127
- context 'for #h and #h! method' do
128
- should "escape the simple html" do
129
- assert_equal '&lt;h1&gt;hello&lt;&#x2F;h1&gt;', h('<h1>hello</h1>')
130
- assert_equal '&lt;h1&gt;hello&lt;&#x2F;h1&gt;', escape_html('<h1>hello</h1>')
131
- end
132
- should "escape all brackets, quotes and ampersands" do
133
- assert_equal '&lt;h1&gt;&lt;&gt;&quot;&amp;demo&amp;&quot;&lt;&gt;&lt;&#x2F;h1&gt;', h('<h1><>"&demo&"<></h1>')
134
- end
135
- should "return default text if text is empty" do
136
- assert_equal 'default', h!("", "default")
137
- assert_equal '&nbsp;', h!("")
138
- end
139
- should "return text escaped if not empty" do
140
- assert_equal '&lt;h1&gt;hello&lt;&#x2F;h1&gt;', h!('<h1>hello</h1>')
141
- end
142
- end
143
-
144
- context 'for #time_ago_in_words method' do
145
- should "less than 5 seconds" do
146
- assert_equal 'less than 5 seconds', time_ago_in_words(Time.now, true)
147
- end
148
- should "less than 10 seconds" do
149
- assert_equal 'less than 10 seconds', time_ago_in_words(Time.now-5, true)
150
- end
151
- should "less than 20 seconds" do
152
- assert_equal 'less than 20 seconds', time_ago_in_words(Time.now-10, true)
153
- end
154
- should "less than a minute" do
155
- assert_equal 'less than a minute', time_ago_in_words(Time.now-40, true)
156
- end
157
- should "2 minutes" do
158
- assert_equal '2 minutes', time_ago_in_words(Time.now-120, true)
159
- end
160
- should "display today" do
161
- assert_equal 'less than a minute', time_ago_in_words(Time.now)
162
- end
163
- should "display yesterday" do
164
- assert_equal '1 day', time_ago_in_words(1.day.ago)
165
- end
166
- should "display tomorrow" do
167
- assert_equal '1 day', time_ago_in_words(1.day.from_now)
168
- end
169
- should "return future number of days" do
170
- assert_equal '4 days', time_ago_in_words(4.days.from_now)
171
- end
172
- should "return past days ago" do
173
- assert_equal '4 days', time_ago_in_words(4.days.ago)
174
- end
175
- should "return formatted archived date" do
176
- assert_equal '3 months', time_ago_in_words(100.days.ago)
177
- end
178
- should "return formatted archived year date" do
179
- assert_equal 'over 1 year', time_ago_in_words(500.days.ago)
180
- end
181
- should 'display now as a minute ago' do
182
- assert_equal '1 minute', time_ago_in_words(1.minute.ago)
183
- end
184
- should "display a few minutes ago" do
185
- assert_equal '4 minutes', time_ago_in_words(4.minute.ago)
186
- end
187
- should "display an hour ago" do
188
- assert_equal 'about 1 hour', time_ago_in_words(1.hour.ago + 5.minutes.ago.sec)
189
- end
190
- should "display a few hours ago" do
191
- assert_equal 'about 3 hours', time_ago_in_words(3.hour.ago + 5.minutes.ago.sec)
192
- end
193
- should "display a day ago" do
194
- assert_equal '1 day', time_ago_in_words(1.day.ago)
195
- end
196
- should "display a few days ago" do
197
- assert_equal '5 days', time_ago_in_words(5.days.ago - 5.minutes.ago.sec)
198
- end
199
- should "display a month ago" do
200
- assert_equal 'about 1 month', time_ago_in_words(32.days.ago + 5.minutes.ago.sec)
201
- end
202
- should "display a few months ago" do
203
- assert_equal '6 months', time_ago_in_words(180.days.ago - 5.minutes.ago.sec)
204
- end
205
- should "display a year ago" do
206
- assert_equal 'about 1 year', time_ago_in_words(365.days.ago - 5.minutes.ago.sec)
207
- end
208
- should "display a few years ago" do
209
- assert_equal 'over 7 years', time_ago_in_words(2800.days.ago - 5.minutes.ago.sec)
210
- end
211
- end
212
-
213
- context 'for #js_escape_html method' do
214
- should "escape double quotes" do
215
- assert_equal "\\\"hello\\\"", js_escape_html('"hello"')
216
- end
217
- should "escape single quotes" do
218
- assert_equal "\\'hello\\'", js_escape_html("'hello'")
219
- end
220
- should "escape html tags and breaks" do
221
- assert_equal "\\n\\n<p>hello<\\/p>\\n", js_escape_html("\n\r<p>hello</p>\r\n")
222
- end
223
- should "escape data-confirm attribute" do
224
- assert_equal "<data-confirm=\\\"are you sure\\\">", js_escape_html("<data-confirm=\"are you sure\">")
225
- end
226
- end
227
- end
@@ -1,20 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
-
3
- describe "Locale Helpers" do
4
- Dir[File.expand_path("../../lib/padrino-helpers/locale/*.yml", __FILE__)].each do |file|
5
- base_original = YAML.load_file(file)
6
- name = File.basename(file, '.yml')
7
- should "should have correct locale for #{name}" do
8
- base = base_original[name]['number']['format']
9
- assert !base['separator'].nil?
10
- assert !base['delimiter'].nil?
11
- assert !base['precision'].nil?
12
- base = base_original[name]['number']['currency']['format']
13
- assert !base['format'].nil?
14
- assert !base['unit'].nil?
15
- assert !base['separator'].nil?
16
- assert !base['delimiter'].nil?
17
- assert !base['precision'].nil?
18
- end
19
- end
20
- end
@@ -1,139 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
3
-
4
- describe "NumberHelpers" do
5
- include Padrino::Helpers::NumberHelpers
6
-
7
- def kilobytes(number)
8
- number * 1024
9
- end
10
-
11
- def megabytes(number)
12
- kilobytes(number) * 1024
13
- end
14
-
15
- def gigabytes(number)
16
- megabytes(number) * 1024
17
- end
18
-
19
- def terabytes(number)
20
- gigabytes(number) * 1024
21
- end
22
-
23
- context 'for number helpers functionality' do
24
-
25
- should 'display number_to_currency' do
26
- assert_equal "$1,234,567,890.50", number_to_currency(1234567890.50)
27
- assert_equal "$1,234,567,890.51", number_to_currency(1234567890.506)
28
- assert_equal "$1,234,567,892", number_to_currency(1234567891.50, {:precision => 0})
29
- assert_equal "$1,234,567,890.5", number_to_currency(1234567890.50, {:precision => 1})
30
- assert_equal "&pound;1234567890,50", number_to_currency(1234567890.50, {:unit => "&pound;", :separator => ",", :delimiter => ""})
31
- assert_equal "$1,234,567,890.50", number_to_currency("1234567890.50")
32
- assert_equal "1,234,567,890.50 K&#269;", number_to_currency("1234567890.50", {:unit => "K&#269;", :format => "%n %u"})
33
- assert_equal "$x", number_to_currency("x")
34
-
35
- assert_nil number_to_currency(nil)
36
- end
37
-
38
- should 'display number_to_percentage' do
39
- assert_equal "100.000%", number_to_percentage(100)
40
- assert_equal "100%", number_to_percentage(100, {:precision => 0})
41
- assert_equal "302.06%", number_to_percentage(302.0574, {:precision => 2})
42
- assert_equal "100.000%", number_to_percentage("100")
43
- assert_equal "1000.000%", number_to_percentage("1000")
44
- assert_equal "x%", number_to_percentage("x")
45
- assert_equal "1.000,000%", number_to_percentage(1000, :delimiter => '.', :separator => ',')
46
-
47
- assert_nil number_to_percentage(nil)
48
- end
49
-
50
- should 'display number_with_delimiter' do
51
- assert_equal "12,345,678", number_with_delimiter(12345678)
52
- assert_equal "0", number_with_delimiter(0)
53
- assert_equal "123", number_with_delimiter(123)
54
- assert_equal "123,456", number_with_delimiter(123456)
55
- assert_equal "123,456.78", number_with_delimiter(123456.78)
56
- assert_equal "123,456.789", number_with_delimiter(123456.789)
57
- assert_equal "123,456.78901", number_with_delimiter(123456.78901)
58
- assert_equal "123,456,789.78901", number_with_delimiter(123456789.78901)
59
- assert_equal "0.78901", number_with_delimiter(0.78901)
60
- assert_equal "123,456.78", number_with_delimiter("123456.78")
61
- assert_equal "x", number_with_delimiter("x")
62
-
63
- assert_nil number_with_delimiter(nil)
64
- end
65
-
66
- should 'display number_with_delimiter with options' do
67
- assert_equal '12 345 678', number_with_delimiter(12345678, :delimiter => ' ')
68
- assert_equal '12,345,678-05', number_with_delimiter(12345678.05, :separator => '-')
69
- assert_equal '12.345.678,05', number_with_delimiter(12345678.05, :separator => ',', :delimiter => '.')
70
- assert_equal '12.345.678,05', number_with_delimiter(12345678.05, :delimiter => '.', :separator => ',')
71
- end
72
-
73
- should 'display number_with_precision' do
74
- assert_equal "111.235", number_with_precision(111.2346)
75
- assert_equal "31.83", number_with_precision(31.825, :precision => 2)
76
- assert_equal "111.23", number_with_precision(111.2346, :precision => 2)
77
- assert_equal "111.00", number_with_precision(111, :precision => 2)
78
- assert_equal "111.235", number_with_precision("111.2346")
79
- assert_equal "31.83", number_with_precision("31.825", :precision => 2)
80
- assert_equal "3268", number_with_precision((32.6751 * 100.00), :precision => 0)
81
- assert_equal "112", number_with_precision(111.50, :precision => 0)
82
- assert_equal "1234567892", number_with_precision(1234567891.50, :precision => 0)
83
-
84
- # Return non-numeric params unchanged.
85
- assert_equal "x", number_with_precision("x")
86
- assert_nil number_with_precision(nil)
87
- end
88
-
89
- should 'display number_with_precision with custom delimiter and separator' do
90
- assert_equal '31,83', number_with_precision(31.825, :precision => 2, :separator => ',')
91
- assert_equal '1.231,83', number_with_precision(1231.825, :precision => 2, :separator => ',', :delimiter => '.')
92
- end
93
-
94
- should 'display number_to_human_size' do
95
- assert_equal '0 Bytes', number_to_human_size(0)
96
- assert_equal '1 Byte', number_to_human_size(1)
97
- assert_equal '3 Bytes', number_to_human_size(3.14159265)
98
- assert_equal '123 Bytes', number_to_human_size(123.0)
99
- assert_equal '123 Bytes', number_to_human_size(123)
100
- assert_equal '1.2 KB', number_to_human_size(1234)
101
- assert_equal '12.1 KB', number_to_human_size(12345)
102
- assert_equal '1.2 MB', number_to_human_size(1234567)
103
- assert_equal '1.1 GB', number_to_human_size(1234567890)
104
- assert_equal '1.1 TB', number_to_human_size(1234567890123)
105
- assert_equal '1025 TB', number_to_human_size(terabytes(1025))
106
- assert_equal '444 KB', number_to_human_size(kilobytes(444))
107
- assert_equal '1023 MB', number_to_human_size(megabytes(1023))
108
- assert_equal '3 TB', number_to_human_size(terabytes(3))
109
- assert_equal '1.18 MB', number_to_human_size(1234567, :precision => 2)
110
- assert_equal '3 Bytes', number_to_human_size(3.14159265, :precision => 4)
111
- assert_equal '123 Bytes', number_to_human_size("123")
112
- assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0123), :precision => 2)
113
- assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0100), :precision => 4)
114
- assert_equal '10 KB', number_to_human_size(kilobytes(10.000), :precision => 4)
115
- assert_equal '1 Byte', number_to_human_size(1.1)
116
- assert_equal '10 Bytes', number_to_human_size(10)
117
-
118
- assert_nil number_to_human_size(nil)
119
- end
120
-
121
- should 'display number_to_human_size with options' do
122
- assert_equal '1.18 MB', number_to_human_size(1234567, :precision => 2)
123
- assert_equal '3 Bytes', number_to_human_size(3.14159265, :precision => 4)
124
- assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0123), :precision => 2)
125
- assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0100), :precision => 4)
126
- assert_equal '10 KB', number_to_human_size(kilobytes(10.000), :precision => 4)
127
- assert_equal '1 TB', number_to_human_size(1234567890123, :precision => 0)
128
- assert_equal '500 MB', number_to_human_size(524288000, :precision => 0)
129
- assert_equal '40 KB', number_to_human_size(41010, :precision => 0)
130
- assert_equal '40 KB', number_to_human_size(41100, :precision => 0)
131
- end
132
-
133
- should 'display number_to_human_size with custom delimiter and separator' do
134
- assert_equal '1,01 KB', number_to_human_size(kilobytes(1.0123), :precision => 2, :separator => ',')
135
- assert_equal '1,01 KB', number_to_human_size(kilobytes(1.0100), :precision => 4, :separator => ',')
136
- assert_equal '1.000,1 TB', number_to_human_size(terabytes(1000.1), :delimiter => '.', :separator => ',')
137
- end
138
- end
139
- end
@@ -1,153 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
3
-
4
- describe "OutputHelpers" do
5
- def app
6
- MarkupDemo.tap { |app| app.set :environment, :test }
7
- end
8
-
9
- context 'for #content_for method' do
10
- should 'work for erb templates' do
11
- visit '/erb/content_for'
12
- assert_have_selector '.demo h1', :content => "This is content yielded from a content_for"
13
- assert_have_selector '.demo2 h1', :content => "This is content yielded with name Johnny Smith"
14
- end
15
-
16
- should "work for haml templates" do
17
- visit '/haml/content_for'
18
- assert_have_selector '.demo h1', :content => "This is content yielded from a content_for"
19
- assert_have_selector '.demo2 h1', :content => "This is content yielded with name Johnny Smith"
20
- end
21
-
22
- should "work for slim templates" do
23
- visit '/slim/content_for'
24
- assert_have_selector '.demo h1', :content => "This is content yielded from a content_for"
25
- assert_have_selector '.demo2 h1', :content => "This is content yielded with name Johnny Smith"
26
- end
27
- end # content_for
28
-
29
- context "for #content_for? method" do
30
- should 'work for erb templates' do
31
- visit '/erb/content_for'
32
- assert_have_selector '.demo_has_content', :content => "true"
33
- assert_have_selector '.fake_has_content', :content => "false"
34
- end
35
-
36
- should "work for haml templates" do
37
- visit '/haml/content_for'
38
- assert_have_selector '.demo_has_content', :content => "true"
39
- assert_have_selector '.fake_has_content', :content => "false"
40
- end
41
-
42
- should "work for slim templates" do
43
- visit '/slim/content_for'
44
- assert_have_selector '.demo_has_content', :content => "true"
45
- assert_have_selector '.fake_has_content', :content => "false"
46
- end
47
- end # content_for?
48
-
49
- context 'for #capture_html method' do
50
- should "work for erb templates" do
51
- visit '/erb/capture_concat'
52
- assert_have_selector 'p span', :content => "Captured Line 1"
53
- assert_have_selector 'p span', :content => "Captured Line 2"
54
- end
55
-
56
- should "work for haml templates" do
57
- visit '/haml/capture_concat'
58
- assert_have_selector 'p span', :content => "Captured Line 1"
59
- assert_have_selector 'p span', :content => "Captured Line 2"
60
- end
61
-
62
- should "work for slim templates" do
63
- visit '/slim/capture_concat'
64
- assert_have_selector 'p span', :content => "Captured Line 1"
65
- assert_have_selector 'p span', :content => "Captured Line 2"
66
- end
67
- end
68
-
69
- context 'for #concat_content method' do
70
- should "work for erb templates" do
71
- visit '/erb/capture_concat'
72
- assert_have_selector 'p', :content => "Concat Line 3", :count => 1
73
- end
74
-
75
- should "work for haml templates" do
76
- visit '/haml/capture_concat'
77
- assert_have_selector 'p', :content => "Concat Line 3", :count => 1
78
- end
79
-
80
- should "work for slim templates" do
81
- visit '/slim/capture_concat'
82
- assert_have_selector 'p', :content => "Concat Line 3", :count => 1
83
- end
84
- end
85
-
86
- context 'for #block_is_template?' do
87
- should "work for erb templates" do
88
- visit '/erb/capture_concat'
89
- assert_have_selector 'p', :content => "The erb block passed in is a template", :class => 'is_template'
90
- # TODO Get ERB template detection working (fix block_is_erb? method)
91
- # assert_have_no_selector 'p', :content => "The ruby block passed in is a template", :class => 'is_template'
92
- end
93
-
94
- should "work for haml templates" do
95
- visit '/haml/capture_concat'
96
- assert_have_selector 'p', :content => "The haml block passed in is a template", :class => 'is_template'
97
- assert_have_no_selector 'p', :content => "The ruby block passed in is a template", :class => 'is_template'
98
- end
99
-
100
- should_eventually "work for slim templates" do
101
- visit '/slim/capture_concat'
102
- assert_have_selector 'p', :content => "The slim block passed in is a template", :class => 'is_template'
103
- # TODO Get SLIM template detection working (fix block_is_erb? method)
104
- # assert_have_no_selector 'p', :content => "The ruby block passed in is a template", :class => 'is_template'
105
- end
106
- end
107
-
108
- context 'for #current_engine method' do
109
- should 'detect correctly current engine for erb' do
110
- visit '/erb/current_engine'
111
- assert_have_selector 'p.start', :content => "erb"
112
- assert_have_selector 'p.haml', :content => "haml"
113
- assert_have_selector 'p.erb', :content => "erb"
114
- assert_have_selector 'p.slim', :content => "slim"
115
- assert_have_selector 'p.end', :content => "erb"
116
- end
117
-
118
- should 'detect correctly current engine for haml' do
119
- visit '/haml/current_engine'
120
- assert_have_selector 'p.start', :content => "haml"
121
- assert_have_selector 'p.haml', :content => "haml"
122
- assert_have_selector 'p.erb', :content => "erb"
123
- assert_have_selector 'p.slim', :content => "slim"
124
- assert_have_selector 'p.end', :content => "haml"
125
- end
126
-
127
- should 'detect correctly current engine for slim' do
128
- visit '/slim/current_engine'
129
- assert_have_selector 'p.start', :content => "slim"
130
- assert_have_selector 'p.haml', :content => "haml"
131
- assert_have_selector 'p.erb', :content => "erb"
132
- assert_have_selector 'p.slim', :content => "slim"
133
- assert_have_selector 'p.end', :content => "slim"
134
- end
135
- end
136
-
137
- context 'for #partial method in simple sinatra application' do
138
- should 'properly output in erb' do
139
- visit '/erb/simple_partial'
140
- assert_have_selector 'p.erb', :content => "erb"
141
- end
142
-
143
- should 'properly output in haml' do
144
- visit '/haml/simple_partial'
145
- assert_have_selector 'p.haml', :content => "haml"
146
- end
147
-
148
- should 'properly output in slim' do
149
- visit '/slim/simple_partial'
150
- assert_have_selector 'p.slim', :content => "slim"
151
- end
152
- end
153
- end
@@ -1,76 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require File.expand_path(File.dirname(__FILE__) + '/fixtures/render_app/app')
3
-
4
- describe "RenderHelpers" do
5
- def app
6
- RenderDemo.tap { |app| app.set :environment, :test }
7
- end
8
-
9
- context 'for #partial method and object' do
10
- setup { visit '/partial/object' }
11
- should "render partial html with object" do
12
- assert_have_selector "h1", :content => "User name is John"
13
- end
14
- should "have no counter index for single item" do
15
- assert_have_no_selector "p", :content => "My counter is 1", :count => 1
16
- end
17
- should "include extra locals information" do
18
- assert_have_selector 'p', :content => "Extra is bar"
19
- end
20
- end
21
-
22
- context 'for #partial method and collection' do
23
- setup { visit '/partial/collection' }
24
- should "render partial html with collection" do
25
- assert_have_selector "h1", :content => "User name is John"
26
- assert_have_selector "h1", :content => "User name is Billy"
27
- end
28
- should "include counter which contains item index" do
29
- assert_have_selector "p", :content => "My counter is 1"
30
- assert_have_selector "p", :content => "My counter is 2"
31
- end
32
- should "include extra locals information" do
33
- assert_have_selector 'p', :content => "Extra is bar"
34
- end
35
- end
36
-
37
- context 'for #partial method and locals' do
38
- setup { visit '/partial/locals' }
39
- should "render partial html with locals" do
40
- assert_have_selector "h1", :content => "User name is John"
41
- end
42
- should "have no counter index for single item" do
43
- assert_have_no_selector "p", :content => "My counter is 1", :count => 1
44
- end
45
- should "include extra locals information" do
46
- assert_have_selector 'p', :content => "Extra is bar"
47
- end
48
- end
49
-
50
- context 'for #partial method taking a path starting with forward slash' do
51
- setup { visit '/partial/foward_slash' }
52
- should "render partial without throwing an error" do
53
- assert_have_selector "h1", :content => "User name is John"
54
- end
55
- end
56
-
57
- context 'for #current_engine method' do
58
- should 'detect correctly current engine for a padrino application' do
59
- visit '/current_engine'
60
- assert_have_selector 'p.start', :content => "haml"
61
- assert_have_selector 'p.haml span', :content => "haml"
62
- assert_have_selector 'p.erb span', :content => "erb"
63
- assert_have_selector 'p.slim span', :content => "slim"
64
- assert_have_selector 'p.end', :content => "haml"
65
- end
66
-
67
- should "detect correctly current engine for explicit engine on partials" do
68
- visit '/explicit_engine'
69
- assert_have_selector 'p.start', :content => "haml"
70
- assert_have_selector 'p.haml span', :content => "haml"
71
- assert_have_selector 'p.erb span', :content => "erb"
72
- assert_have_selector 'p.slim span', :content => "slim"
73
- assert_have_selector 'p.end', :content => "haml"
74
- end
75
- end
76
- end