middleman-core 3.2.2 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. checksums.yaml +4 -4
  2. data/features/cli_init.feature +18 -8
  3. data/features/helpers_select_tag.feature +1 -1
  4. data/features/layouts_dir.feature +8 -0
  5. data/features/markdown_redcarpet.feature +2 -2
  6. data/fixtures/asciidoc-app/source/layouts/default.erb +0 -1
  7. data/fixtures/capture-html-app/source/capture_html_haml.html.haml +1 -1
  8. data/fixtures/content-for-app/source/content_for_haml.html.haml +1 -1
  9. data/fixtures/frontmatter-settings-app/source/layouts/override.erb +1 -2
  10. data/fixtures/frontmatter-settings-neighbor-app/source/layouts/override.erb +1 -2
  11. data/fixtures/layouts-dir-app/source/ambiguous.html.erb +5 -0
  12. data/fixtures/layouts-dir-app/source/layouts/other.erb +3 -0
  13. data/fixtures/layouts-dir-app/source/other.erb +3 -0
  14. data/fixtures/link-to-app/source/link_to_haml.html.haml +1 -1
  15. data/fixtures/link-to-app/source/link_to_slim.html.slim +1 -1
  16. data/fixtures/nested-layout-app/source/layouts/inner_haml.haml +1 -1
  17. data/fixtures/nested-layout-app/source/layouts/inner_slim.slim +1 -1
  18. data/fixtures/nested-layout-app/source/layouts/outer_haml.haml +1 -1
  19. data/fixtures/nested-layout-app/source/layouts/outer_slim.slim +1 -1
  20. data/lib/middleman-core/application.rb +12 -3
  21. data/lib/middleman-core/cli/build.rb +5 -3
  22. data/lib/middleman-core/cli/console.rb +1 -1
  23. data/lib/middleman-core/cli/init.rb +1 -1
  24. data/lib/middleman-core/core_extensions.rb +0 -1
  25. data/lib/middleman-core/core_extensions/file_watcher.rb +11 -11
  26. data/lib/middleman-core/core_extensions/rendering.rb +40 -66
  27. data/lib/middleman-core/extension.rb +167 -0
  28. data/lib/middleman-core/extensions.rb +2 -151
  29. data/lib/middleman-core/logger.rb +2 -2
  30. data/lib/middleman-core/meta_pages/assets/config.css +13 -0
  31. data/lib/middleman-core/meta_pages/assets/meta.css +19 -3
  32. data/lib/middleman-core/meta_pages/assets/sitemap.css +18 -1
  33. data/lib/middleman-core/meta_pages/config_setting.rb +7 -9
  34. data/lib/middleman-core/meta_pages/sitemap_resource.rb +24 -15
  35. data/lib/middleman-core/meta_pages/sitemap_tree.rb +5 -1
  36. data/lib/middleman-core/meta_pages/templates/config.html.erb +2 -2
  37. data/lib/middleman-core/meta_pages/templates/index.html.erb +18 -8
  38. data/lib/middleman-core/meta_pages/templates/sitemap.html.erb +4 -5
  39. data/lib/middleman-core/preview_server.rb +6 -3
  40. data/lib/middleman-core/renderers/erb.rb +12 -14
  41. data/lib/middleman-core/renderers/haml.rb +10 -0
  42. data/lib/middleman-core/renderers/markdown.rb +5 -1
  43. data/lib/middleman-core/renderers/sass.rb +0 -4
  44. data/lib/middleman-core/renderers/slim.rb +16 -3
  45. data/lib/middleman-core/sitemap/resource.rb +1 -1
  46. data/lib/middleman-core/step_definitions.rb +2 -1
  47. data/lib/middleman-core/templates.rb +3 -1
  48. data/lib/middleman-core/templates/shared/Gemfile.tt +4 -1
  49. data/lib/middleman-core/templates/shared/config.tt +3 -1
  50. data/lib/middleman-core/templates/shared/gitignore +2 -1
  51. data/lib/middleman-core/util.rb +22 -16
  52. data/lib/middleman-core/version.rb +1 -1
  53. data/lib/middleman-more/core_extensions/compass.rb +3 -3
  54. data/lib/middleman-more/core_extensions/default_helpers.rb +18 -15
  55. data/lib/middleman-more/extensions/asset_hash.rb +1 -0
  56. data/middleman-core.gemspec +9 -6
  57. metadata +69 -227
  58. data/features/sass_cache_path.feature +0 -22
  59. data/fixtures/sass-cache-path-custom-app/config.rb +0 -3
  60. data/fixtures/sass-cache-path-custom-app/source/stylesheets/plain.css.sass +0 -4
  61. data/fixtures/sass-cache-path-default-app/config.rb +0 -3
  62. data/fixtures/sass-cache-path-default-app/source/stylesheets/plain.css.sass +0 -4
  63. data/lib/vendored-middleman-deps/hooks-0.2.0/CHANGES.textile +0 -9
  64. data/lib/vendored-middleman-deps/hooks-0.2.0/Gemfile +0 -3
  65. data/lib/vendored-middleman-deps/hooks-0.2.0/README.rdoc +0 -107
  66. data/lib/vendored-middleman-deps/hooks-0.2.0/Rakefile +0 -12
  67. data/lib/vendored-middleman-deps/hooks-0.2.0/hooks.gemspec +0 -22
  68. data/lib/vendored-middleman-deps/hooks-0.2.0/lib/hooks.rb +0 -109
  69. data/lib/vendored-middleman-deps/hooks-0.2.0/lib/hooks/inheritable_attribute.rb +0 -33
  70. data/lib/vendored-middleman-deps/hooks-0.2.0/test/hooks_test.rb +0 -141
  71. data/lib/vendored-middleman-deps/hooks-0.2.0/test/inheritable_attribute_test.rb +0 -55
  72. data/lib/vendored-middleman-deps/hooks-0.2.0/test/test_helper.rb +0 -10
  73. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.document +0 -5
  74. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.gitignore +0 -22
  75. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.yardopts +0 -1
  76. data/lib/vendored-middleman-deps/padrino-core-0.11.4/LICENSE.txt +0 -20
  77. data/lib/vendored-middleman-deps/padrino-core-0.11.4/README.rdoc +0 -294
  78. data/lib/vendored-middleman-deps/padrino-core-0.11.4/Rakefile +0 -5
  79. data/lib/vendored-middleman-deps/padrino-core-0.11.4/bin/padrino +0 -9
  80. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core.rb +0 -200
  81. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application.rb +0 -297
  82. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/flash.rb +0 -229
  83. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering.rb +0 -317
  84. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/erubis.rb +0 -64
  85. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/haml.rb +0 -28
  86. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/slim.rb +0 -14
  87. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/routing.rb +0 -1077
  88. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/showexceptions.rb +0 -21
  89. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/caller.rb +0 -53
  90. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/adapter.rb +0 -24
  91. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/base.rb +0 -159
  92. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/console.rb +0 -20
  93. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/rake.rb +0 -47
  94. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/rake_tasks.rb +0 -52
  95. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/command.rb +0 -38
  96. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/images/404.png +0 -0
  97. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/images/500.png +0 -0
  98. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/loader.rb +0 -224
  99. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/cs.yml +0 -33
  100. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/da.yml +0 -33
  101. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/de.yml +0 -33
  102. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/en.yml +0 -33
  103. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/es.yml +0 -33
  104. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/fr.yml +0 -33
  105. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/hu.yml +0 -33
  106. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/it.yml +0 -39
  107. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ja.yml +0 -33
  108. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/lv.yml +0 -33
  109. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/nl.yml +0 -33
  110. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/no.yml +0 -33
  111. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/pl.yml +0 -33
  112. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/pt_br.yml +0 -39
  113. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ro.yml +0 -33
  114. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ru.yml +0 -34
  115. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/sv.yml +0 -33
  116. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/tr.yml +0 -33
  117. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/uk.yml +0 -33
  118. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/zh_cn.yml +0 -33
  119. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/zh_tw.yml +0 -33
  120. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/logger.rb +0 -438
  121. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/module.rb +0 -58
  122. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/mounter.rb +0 -234
  123. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/reloader.rb +0 -341
  124. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/router.rb +0 -95
  125. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/server.rb +0 -77
  126. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/support_lite.rb +0 -260
  127. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/tasks.rb +0 -21
  128. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/version.rb +0 -20
  129. data/lib/vendored-middleman-deps/padrino-core-0.11.4/padrino-core.gemspec +0 -43
  130. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/Gemfile +0 -4
  131. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/app/app.rb +0 -3
  132. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/app_gem.gemspec +0 -17
  133. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/lib/app_gem.rb +0 -7
  134. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/lib/app_gem/version.rb +0 -3
  135. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/.components +0 -6
  136. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/.gitignore +0 -7
  137. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/complex.rb +0 -32
  138. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/simple.rb +0 -33
  139. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/a.rb +0 -9
  140. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/b.rb +0 -4
  141. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/c.rb +0 -1
  142. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/e.rb +0 -13
  143. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/f.rb +0 -2
  144. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/g.rb +0 -2
  145. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/d.rb +0 -4
  146. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/helper.rb +0 -83
  147. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/mini_shoulda.rb +0 -45
  148. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_application.rb +0 -125
  149. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_core.rb +0 -77
  150. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_csrf_protection.rb +0 -80
  151. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_dependencies.rb +0 -44
  152. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_filters.rb +0 -348
  153. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_flash.rb +0 -168
  154. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_locale.rb +0 -21
  155. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_logger.rb +0 -210
  156. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_mounter.rb +0 -199
  157. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_reloader_complex.rb +0 -75
  158. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_reloader_simple.rb +0 -98
  159. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering.rb +0 -545
  160. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering_extensions.rb +0 -14
  161. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_restful_routing.rb +0 -33
  162. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_router.rb +0 -146
  163. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_routing.rb +0 -1927
  164. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_support_lite.rb +0 -56
  165. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.document +0 -5
  166. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.gitignore +0 -21
  167. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.yardopts +0 -1
  168. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/LICENSE.txt +0 -20
  169. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/README.rdoc +0 -239
  170. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/Rakefile +0 -5
  171. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers.rb +0 -57
  172. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/asset_tag_helpers.rb +0 -401
  173. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/breadcrumb_helpers.rb +0 -183
  174. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -317
  175. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -40
  176. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_helpers.rb +0 -919
  177. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/format_helpers.rb +0 -372
  178. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/cs.yml +0 -103
  179. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/da.yml +0 -91
  180. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/de.yml +0 -81
  181. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/en.yml +0 -103
  182. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/es.yml +0 -103
  183. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/fr.yml +0 -79
  184. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/hu.yml +0 -103
  185. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/it.yml +0 -89
  186. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ja.yml +0 -103
  187. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/lv.yml +0 -103
  188. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/nl.yml +0 -82
  189. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/no.yml +0 -91
  190. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/pl.yml +0 -95
  191. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/pt_br.yml +0 -103
  192. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ro.yml +0 -103
  193. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ru.yml +0 -103
  194. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/sv.yml +0 -103
  195. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/tr.yml +0 -103
  196. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/uk.yml +0 -103
  197. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/zh_cn.yml +0 -103
  198. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/zh_tw.yml +0 -103
  199. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/number_helpers.rb +0 -283
  200. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers.rb +0 -207
  201. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -96
  202. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -78
  203. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -63
  204. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -78
  205. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/render_helpers.rb +0 -59
  206. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/tag_helpers.rb +0 -292
  207. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/translation_helpers.rb +0 -36
  208. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/padrino-helpers.gemspec +0 -27
  209. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/app.rb +0 -84
  210. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.erb +0 -8
  211. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.haml +0 -5
  212. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.slim +0 -6
  213. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.erb +0 -14
  214. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.haml +0 -12
  215. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.slim +0 -12
  216. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.erb +0 -14
  217. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.haml +0 -12
  218. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.slim +0 -12
  219. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.erb +0 -11
  220. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.haml +0 -9
  221. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.slim +0 -9
  222. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.erb +0 -5
  223. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.haml +0 -5
  224. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.slim +0 -5
  225. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.erb +0 -20
  226. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.haml +0 -15
  227. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.slim +0 -15
  228. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.erb +0 -72
  229. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.haml +0 -59
  230. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.slim +0 -59
  231. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.erb +0 -95
  232. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.haml +0 -78
  233. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.slim +0 -79
  234. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.erb +0 -5
  235. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.haml +0 -4
  236. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.slim +0 -4
  237. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.erb +0 -3
  238. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.haml +0 -3
  239. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.slim +0 -3
  240. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.erb +0 -3
  241. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.haml +0 -3
  242. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.slim +0 -3
  243. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
  244. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
  245. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
  246. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.erb +0 -1
  247. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.haml +0 -1
  248. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.slim +0 -1
  249. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/app.rb +0 -58
  250. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engine.haml +0 -5
  251. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
  252. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
  253. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
  254. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_erb.erb +0 -3
  255. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_haml.haml +0 -2
  256. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_slim.slim +0 -2
  257. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/erb/test.erb +0 -1
  258. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/explicit_engine.haml +0 -5
  259. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/haml/test.haml +0 -1
  260. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/_user.haml +0 -7
  261. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/haml_template.haml +0 -1
  262. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/some_template.haml +0 -2
  263. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/helper.rb +0 -67
  264. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_asset_tag_helpers.rb +0 -359
  265. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_breadcrumb_helpers.rb +0 -134
  266. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_form_builder.rb +0 -1178
  267. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_form_helpers.rb +0 -1030
  268. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_format_helpers.rb +0 -241
  269. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_locale.rb +0 -20
  270. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_number_helpers.rb +0 -143
  271. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_output_helpers.rb +0 -154
  272. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_render_helpers.rb +0 -94
  273. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_tag_helpers.rb +0 -117
@@ -1,75 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require File.expand_path(File.dirname(__FILE__) + '/fixtures/apps/complex')
3
-
4
- describe "ComplexReloader" do
5
-
6
- context 'for complex reload functionality' do
7
- setup do
8
- Padrino.clear!
9
- Padrino.mount("complex_1_demo").to("/complex_1_demo")
10
- Padrino.mount("complex_2_demo").to("/complex_2_demo")
11
- end
12
-
13
- should 'correctly instantiate Complex(1-2)Demo fixture' do
14
- assert_equal ["/complex_1_demo", "/complex_2_demo"], Padrino.mounted_apps.map(&:uri_root)
15
- assert_equal ["complex_1_demo", "complex_2_demo"], Padrino.mounted_apps.map(&:name)
16
- assert Complex1Demo.reload?
17
- assert Complex2Demo.reload?
18
- assert_match %r{fixtures/apps/complex.rb}, Complex1Demo.app_file
19
- assert_match %r{fixtures/apps/complex.rb}, Complex2Demo.app_file
20
- end
21
-
22
- should 'correctly reload Complex(1-2)Demo fixture' do
23
- assert_match %r{fixtures/apps/complex.rb}, Complex1Demo.app_file
24
- @app = Padrino.application
25
-
26
- get "/"
27
- assert_equal 404, status
28
-
29
- get "/complex_1_demo"
30
- assert_equal "Given random #{LibDemo.give_me_a_random}", body
31
-
32
- get "/complex_2_demo"
33
- assert_equal 200, status
34
-
35
- get "/complex_1_demo/old"
36
- assert_equal 200, status
37
-
38
- get "/complex_2_demo/old"
39
- assert_equal 200, status
40
-
41
- get "/complex_2_demo/var/destroy"
42
- assert_equal '{}', body
43
-
44
- new_phrase = "The magick number is: #{rand(2**255)}!"
45
- buffer = File.read(Complex1Demo.app_file)
46
- new_buffer = buffer.gsub(/The magick number is: \d+!/, new_phrase)
47
- new_buffer.gsub!(/get\(:destroy\)/, 'get(:destroy, :with => :id)')
48
- begin
49
- File.open(Complex1Demo.app_file, "w") { |f| f.write(new_buffer) }
50
- sleep 1.2 # We need at least a cooldown of 1 sec.
51
- get "/complex_2_demo"
52
- assert_equal new_phrase, body
53
-
54
- # Re-Check that we didn't forget any route
55
- get "/complex_1_demo"
56
- assert_equal "Given random #{LibDemo.give_me_a_random}", body
57
-
58
- get "/complex_2_demo"
59
- assert_equal 200, status
60
-
61
- get "/complex_1_demo/old"
62
- assert_equal 200, status
63
-
64
- get "/complex_2_demo/old"
65
- assert_equal 200, status
66
-
67
- get "/complex_2_demo/var/destroy/variable"
68
- assert_equal '{:id=>"variable"}', body
69
- ensure
70
- # Now we need to prevent to commit a new changed file so we revert it
71
- File.open(Complex1Demo.app_file, "w") { |f| f.write(buffer) }
72
- end
73
- end
74
- end
75
- end
@@ -1,98 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require File.expand_path(File.dirname(__FILE__) + '/fixtures/apps/simple')
3
-
4
- describe "SimpleReloader" do
5
-
6
- context 'for simple reset functionality' do
7
-
8
- should 'reset routes' do
9
- mock_app do
10
- (1..10).each do |i|
11
- get("/#{i}") { "Foo #{i}" }
12
- end
13
- end
14
- (1..10).each do |i|
15
- get "/#{i}"
16
- assert_equal "Foo #{i}", body
17
- end
18
- @app.reset_routes!
19
- (1..10).each do |i|
20
- get "/#{i}"
21
- assert_equal 404, status
22
- end
23
- end
24
-
25
- should 'keep sinatra routes on development' do
26
- mock_app do
27
- set :environment, :development
28
- get("/"){ "ok" }
29
- end
30
- assert_equal :development, @app.environment
31
- get "/"
32
- assert_equal 200, status
33
- get "/__sinatra__/404.png"
34
- assert_equal 200, status
35
- assert_match /image\/png/, response["Content-Type"]
36
- @app.reset_routes!
37
- get "/"
38
- assert_equal 404, status
39
- get "/__sinatra__/404.png"
40
- assert_equal 200, status
41
- assert_match /image\/png/, response["Content-Type"]
42
- end
43
- end
44
-
45
- context 'for simple reload functionality' do
46
-
47
- should 'correctly instantiate SimpleDemo fixture' do
48
- Padrino.clear!
49
- Padrino.mount("simple_demo").to("/")
50
- assert_equal ["simple_demo"], Padrino.mounted_apps.map(&:name)
51
- assert SimpleDemo.reload?
52
- assert_match %r{fixtures/apps/simple.rb}, SimpleDemo.app_file
53
- end
54
-
55
- should_eventually 'correctly reload SimpleDemo fixture' do
56
- # TODO fix this test
57
- @app = SimpleDemo
58
- get "/"
59
- assert ok?
60
- new_phrase = "The magick number is: #{rand(2**255)}!"
61
- buffer = File.read(SimpleDemo.app_file)
62
- new_buffer = buffer.gsub(/The magick number is: \d+!/, new_phrase)
63
- File.open(SimpleDemo.app_file, "w") { |f| f.write(new_buffer) }
64
- sleep 2 # We need at least a cooldown of 1 sec.
65
- get "/"
66
- assert_equal new_phrase, body
67
-
68
- # Now we need to prevent to commit a new changed file so we revert it
69
- File.open(SimpleDemo.app_file, "w") { |f| f.write(buffer) }
70
- Padrino.reload!
71
- end
72
-
73
- should 'correctly reset SimpleDemo fixture' do
74
- @app = SimpleDemo
75
- @app.reload!
76
- get "/rand"
77
- assert ok?
78
- last_body = body
79
- assert_equal 2, @app.filters[:before].size # one is ours the other is default_filter for content type
80
- assert_equal 1, @app.errors.size
81
- assert_equal 2, @app.filters[:after].size # app + content-type + padrino-flash
82
- assert_equal 0, @app.middleware.size
83
- assert_equal 4, @app.routes.size # GET+HEAD of "/" + GET+HEAD of "/rand" = 4
84
- assert_equal 3, @app.extensions.size # [Padrino::Routing, Padrino::Rendering, Padrino::Flash]
85
- assert_equal 0, @app.templates.size
86
- @app.reload!
87
- get "/rand"
88
- assert_not_equal last_body, body
89
- assert_equal 2, @app.filters[:before].size # one is ours the other is default_filter for content type
90
- assert_equal 1, @app.errors.size
91
- assert_equal 2, @app.filters[:after].size
92
- assert_equal 0, @app.middleware.size
93
- assert_equal 4, @app.routes.size # GET+HEAD of "/" = 2
94
- assert_equal 3, @app.extensions.size # [Padrino::Routing, Padrino::Rendering, Padrino::Flash]
95
- assert_equal 0, @app.templates.size
96
- end
97
- end
98
- end
@@ -1,545 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require 'i18n'
3
- require 'slim'
4
-
5
- describe "Rendering" do
6
- def setup
7
- Padrino::Application.send(:register, Padrino::Rendering)
8
- Padrino::Rendering::DEFAULT_RENDERING_OPTIONS[:strict_format] = false
9
- end
10
-
11
- def teardown
12
- remove_views
13
- end
14
-
15
- context 'for application layout functionality' do
16
-
17
- should 'get no layout' do
18
- mock_app do
19
- get("/"){ "no layout" }
20
- end
21
-
22
- get "/"
23
- assert_equal "no layout", body
24
- end
25
-
26
- should 'be compatible with sinatra layout' do
27
- mock_app do
28
- layout do
29
- "this is a <%= yield %>"
30
- end
31
-
32
- get("/"){ render :erb, "sinatra layout", :layout => true }
33
- end
34
-
35
- get "/"
36
- assert_equal "this is a sinatra layout", body
37
- end
38
-
39
- should 'use rails way layout' do
40
- with_layout :application, "this is a <%= yield %>" do
41
- mock_app do
42
- get("/"){ render :erb, "rails way layout" }
43
- end
44
-
45
- get "/"
46
- assert_equal "this is a rails way layout", body
47
- end
48
- end
49
-
50
- should 'use rails way for a custom layout' do
51
- with_layout "layouts/custom", "this is a <%= yield %>" do
52
- mock_app do
53
- layout :custom
54
- get("/"){ render :erb, "rails way custom layout" }
55
- end
56
-
57
- get "/"
58
- assert_equal "this is a rails way custom layout", body
59
- end
60
- end
61
-
62
- should 'not use layout' do
63
- with_layout :application, "this is an <%= yield %>" do
64
- with_view :index, "index" do
65
- mock_app do
66
- get("/with/layout"){ render :index }
67
- get("/without/layout"){ render :index, :layout => false }
68
- end
69
- get "/with/layout"
70
- assert_equal "this is an index", body
71
- get "/without/layout"
72
- assert_equal "index", body
73
- end
74
- end
75
- end
76
-
77
- should 'not use layout with js format' do
78
- create_layout :application, "this is an <%= yield %>"
79
- create_view :foo, "erb file"
80
- create_view :foo, "js file", :format => :js
81
- mock_app do
82
- get('/layout_test', :provides => [:html, :js]){ render :foo }
83
- end
84
- get "/layout_test"
85
- assert_equal "this is an erb file", body
86
- get "/layout_test.js"
87
- assert_equal "js file", body
88
- end
89
-
90
- should 'use correct layout for each format' do
91
- create_layout :application, "this is an <%= yield %>"
92
- create_layout :application, "document start <%= yield %> end", :format => :xml
93
- create_view :foo, "erb file"
94
- create_view :foo, "xml file", :format => :xml
95
- mock_app do
96
- get('/layout_test', :provides => [:html, :xml]){ render :foo }
97
- end
98
- get "/layout_test"
99
- assert_equal "this is an erb file", body
100
- get "/layout_test.xml"
101
- assert_equal "document start xml file end", body
102
- end
103
-
104
- should 'by default use html file when no other is given' do
105
- create_layout :baz, "html file", :format => :html
106
-
107
- mock_app do
108
- get('/content_type_test', :provides => [:html, :xml]) { render :baz }
109
- end
110
-
111
- get "/content_type_test"
112
- assert_equal "html file", body
113
- get "/content_type_test.html"
114
- assert_equal "html file", body
115
- get "/content_type_test.xml"
116
- assert_equal "html file", body
117
- end
118
-
119
- should 'not use html file when DEFAULT_RENDERING_OPTIONS[:strict_format] == true' do
120
- create_layout :foo, "html file", :format => :html
121
-
122
- mock_app do
123
- get('/default_rendering_test', :provides => [:html, :xml]) { render :foo }
124
- end
125
-
126
- @save = Padrino::Rendering::DEFAULT_RENDERING_OPTIONS
127
- Padrino::Rendering::DEFAULT_RENDERING_OPTIONS[:strict_format] = true
128
-
129
- get "/default_rendering_test"
130
- assert_equal "html file", body
131
- assert_raises Padrino::Rendering::TemplateNotFound do
132
- get "/default_rendering_test.xml"
133
- end
134
-
135
- Padrino::Rendering::DEFAULT_RENDERING_OPTIONS.merge!(@save)
136
- end
137
-
138
- should 'use correct layout with each controller' do
139
- create_layout :foo, "foo layout at <%= yield %>"
140
- create_layout :bar, "bar layout at <%= yield %>"
141
- create_layout :baz, "baz layout at <%= yield %>"
142
- create_layout :application, "default layout at <%= yield %>"
143
- mock_app do
144
- get("/"){ render :erb, "application" }
145
- controller :foo do
146
- layout :foo
147
- get("/"){ render :erb, "foo" }
148
- end
149
- controller :bar do
150
- layout :bar
151
- get("/"){ render :erb, "bar" }
152
- end
153
- controller :baz do
154
- layout :baz
155
- get("/"){ render :erb, "baz", :layout => true }
156
- end
157
- controller :none do
158
- get("/") { render :erb, "none" }
159
- get("/with_foo_layout") { render :erb, "none with layout", :layout => :foo }
160
- end
161
- end
162
- get "/foo"
163
- assert_equal "foo layout at foo", body
164
- get "/bar"
165
- assert_equal "bar layout at bar", body
166
- get "/baz"
167
- assert_equal "baz layout at baz", body
168
- get "/none"
169
- assert_equal "default layout at none", body
170
- get "/none/with_foo_layout"
171
- assert_equal "foo layout at none with layout", body
172
- get "/"
173
- assert_equal "default layout at application", body
174
- end
175
- end
176
-
177
- should 'solve layout in layouts paths' do
178
- create_layout :foo, "foo layout <%= yield %>"
179
- create_layout :"layouts/bar", "bar layout <%= yield %>"
180
- mock_app do
181
- get("/") { render :erb, "none" }
182
- get("/foo") { render :erb, "foo", :layout => :foo }
183
- get("/bar") { render :erb, "bar", :layout => :bar }
184
- end
185
- get "/"
186
- assert_equal "none", body
187
- get "/foo"
188
- assert_equal "foo layout foo", body
189
- get "/bar"
190
- assert_equal "bar layout bar", body
191
- end
192
-
193
- should 'render correctly if layout was not found or not exist' do
194
- create_layout :application, "application layout for <%= yield %>"
195
- create_view :foo, "index", :format => :html
196
- create_view :foo, "xml.rss", :format => :rss
197
- mock_app do
198
- get("/foo", :provides => [:html, :rss]) { render('foo') }
199
- get("/baz", :provides => :js) { render(:erb, 'baz') }
200
- get("/bar") { render :haml, "haml" }
201
- end
202
- get "/foo"
203
- assert_equal "application layout for index", body
204
- get "/foo.rss"
205
- assert_equal "<rss/>", body.chomp
206
- get "/baz.js"
207
- assert_equal "baz", body
208
- get "/bar"
209
- assert_equal "haml", body.chomp
210
- end
211
-
212
- context 'for application render functionality' do
213
-
214
- should "work properly with logging and missing layout" do
215
- create_view :index, "<%= foo %>"
216
- mock_app do
217
- enable :logging
218
- get("/") { render "index", { :layout => nil }, { :foo => "bar" } }
219
- end
220
- get "/"
221
- assert_equal "bar", body
222
- end
223
-
224
- should "work properly with logging and layout" do
225
- create_layout :application, "layout <%= yield %>"
226
- create_view :index, "<%= foo %>"
227
- mock_app do
228
- enable :logging
229
- get("/") { render "index", { :layout => true }, { :foo => "bar" } }
230
- end
231
- get "/"
232
- assert_equal "layout bar", body
233
- end
234
-
235
- should 'be compatible with sinatra render' do
236
- mock_app do
237
- get("/"){ render :erb, "<%= 1+2 %>" }
238
- end
239
- get "/"
240
- assert_equal "3", body
241
- end
242
-
243
- should "support passing locals into render" do
244
- create_layout :application, "layout <%= yield %>"
245
- create_view :index, "<%= foo %>"
246
- mock_app do
247
- get("/") { render "index", { :layout => true }, { :foo => "bar" } }
248
- end
249
- get "/"
250
- assert_equal "layout bar", body
251
- end
252
-
253
- should "support passing locals into sinatra render" do
254
- create_layout :application, "layout <%= yield %>"
255
- create_view :index, "<%= foo %>"
256
- mock_app do
257
- get("/") { render :erb, :index, { :layout => true }, { :foo => "bar" } }
258
- end
259
- get "/"
260
- assert_equal "layout bar", body
261
- end
262
-
263
- should "support passing locals into special nil engine render" do
264
- create_layout :application, "layout <%= yield %>"
265
- create_view :index, "<%= foo %>"
266
- mock_app do
267
- get("/") { render nil, :index, { :layout => true }, { :foo => "bar" } }
268
- end
269
- get "/"
270
- assert_equal "layout bar", body
271
- end
272
-
273
- should 'be compatible with sinatra views' do
274
- with_view :index, "<%= 1+2 %>" do
275
- mock_app do
276
- get("/foo") { render :erb, :index }
277
- get("/bar") { erb :index }
278
- get("/dir") { "3" }
279
- get("/inj") { erb "<%= 2+1 %>" }
280
- get("/rnj") { render :erb, "<%= 2+1 %>" }
281
- end
282
- get "/foo"
283
- assert_equal "3", body
284
- get "/bar"
285
- assert_equal "3", body
286
- get "/dir"
287
- assert_equal "3", body
288
- get "/inj"
289
- assert_equal "3", body
290
- get "/rnj"
291
- assert_equal "3", body
292
- end
293
- end
294
-
295
- should 'resolve template engine' do
296
- with_view :index, "<%= 1+2 %>" do
297
- mock_app do
298
- get("/foo") { render :index }
299
- get("/bar") { render "/index" }
300
- end
301
- get "/foo"
302
- assert_equal "3", body
303
- get "/bar"
304
- assert_equal "3", body
305
- end
306
- end
307
-
308
- should 'resolve template content type' do
309
- create_view :foo, "Im Js", :format => :js
310
- create_view :foo, "Im Erb"
311
- mock_app do
312
- get("/foo", :provides => :js) { render :foo }
313
- get("/bar.js") { render :foo }
314
- end
315
- get "/foo.js"
316
- assert_equal "Im Js", body
317
- # TODO: implement this!
318
- # get "/bar.js"
319
- # assert_equal "Im Js", body
320
- end
321
-
322
- should 'resolve with explicit template format' do
323
- create_view :foo, "Im Js", :format => :js
324
- create_view :foo, "Im Haml", :format => :haml
325
- create_view :foo, "Im Xml", :format => :xml
326
- mock_app do
327
- get("/foo_normal", :provides => :js) { render 'foo' }
328
- get("/foo_haml", :provides => :js) { render 'foo.haml' }
329
- get("/foo_xml", :provides => :js) { render 'foo.xml' }
330
- end
331
- get "/foo_normal.js"
332
- assert_equal "Im Js", body
333
- get "/foo_haml.js"
334
- assert_equal "Im Haml\n", body
335
- get "/foo_xml.js"
336
- assert_equal "Im Xml", body
337
- end
338
-
339
- should 'resolve without explict template format' do
340
- create_view :foo, "Im Html"
341
- create_view :foo, "xml.rss", :format => :rss
342
- mock_app do
343
- get(:index, :map => "/", :provides => [:html, :rss]){ render 'foo' }
344
- end
345
- get "/", {}, { 'HTTP_ACCEPT' => 'text/html;q=0.9' }
346
- assert_equal "Im Html", body
347
- get ".rss"
348
- assert_equal "<rss/>\n", body
349
- end
350
-
351
- should "ignore files ending in tilde and not render them" do
352
- create_view :foo, "Im Wrong", :format => 'haml~'
353
- create_view :foo, "Im Haml", :format => :haml
354
- create_view :bar, "Im Haml backup", :format => 'haml~'
355
- mock_app do
356
- get('/foo') { render 'foo' }
357
- get('/bar') { render 'bar' }
358
- end
359
- get '/foo'
360
- assert_equal "Im Haml\n", body
361
- assert_raises(Padrino::Rendering::TemplateNotFound) { get '/bar' }
362
- end
363
-
364
- should 'resolve template locale' do
365
- create_view :foo, "Im English", :locale => :en
366
- create_view :foo, "Im Italian", :locale => :it
367
- mock_app do
368
- get("/foo") { render :foo }
369
- end
370
- I18n.locale = :en
371
- get "/foo"
372
- assert_equal "Im English", body
373
- I18n.locale = :it
374
- get "/foo"
375
- assert_equal "Im Italian", body
376
- end
377
-
378
- should 'resolve template content_type and locale' do
379
- create_view :foo, "Im Js", :format => :js
380
- create_view :foo, "Im Erb"
381
- create_view :foo, "Im English Erb", :locale => :en
382
- create_view :foo, "Im Italian Erb", :locale => :it
383
- create_view :foo, "Im English Js", :format => :js, :locale => :en
384
- create_view :foo, "Im Italian Js", :format => :js, :locale => :it
385
- mock_app do
386
- get("/foo", :provides => [:html, :js]) { render :foo }
387
- end
388
- I18n.locale = :none
389
- get "/foo.js"
390
- assert_equal "Im Js", body
391
- get "/foo"
392
- assert_equal "Im Erb", body
393
- I18n.locale = :en
394
- get "/foo"
395
- assert_equal "Im English Erb", body
396
- I18n.locale = :it
397
- get "/foo"
398
- assert_equal "Im Italian Erb", body
399
- I18n.locale = :en
400
- get "/foo.js"
401
- assert_equal "Im English Js", body
402
- I18n.locale = :it
403
- get "/foo.js"
404
- assert_equal "Im Italian Js", body
405
- I18n.locale = :en
406
- get "/foo.pk"
407
- assert_equal 404, status
408
- end
409
-
410
- should 'resolve template content_type and locale with layout' do
411
- create_layout :foo, "Hello <%= yield %> in a Js layout", :format => :js
412
- create_layout :foo, "Hello <%= yield %> in a Js-En layout", :format => :js, :locale => :en
413
- create_layout :foo, "Hello <%= yield %> in a Js-It layout", :format => :js, :locale => :it
414
- create_layout :foo, "Hello <%= yield %> in a Erb-En layout", :locale => :en
415
- create_layout :foo, "Hello <%= yield %> in a Erb-It layout", :locale => :it
416
- create_layout :foo, "Hello <%= yield %> in a Erb layout"
417
- create_view :bar, "Im Js", :format => :js
418
- create_view :bar, "Im Erb"
419
- create_view :bar, "Im English Erb", :locale => :en
420
- create_view :bar, "Im Italian Erb", :locale => :it
421
- create_view :bar, "Im English Js", :format => :js, :locale => :en
422
- create_view :bar, "Im Italian Js", :format => :js, :locale => :it
423
- create_view :bar, "Im a json", :format => :json
424
- mock_app do
425
- layout :foo
426
- get("/bar", :provides => [:html, :js, :json]) { render :bar }
427
- end
428
- I18n.locale = :none
429
- get "/bar.js"
430
- assert_equal "Hello Im Js in a Js layout", body
431
- get "/bar"
432
- assert_equal "Hello Im Erb in a Erb layout", body
433
- I18n.locale = :en
434
- get "/bar"
435
- assert_equal "Hello Im English Erb in a Erb-En layout", body
436
- I18n.locale = :it
437
- get "/bar"
438
- assert_equal "Hello Im Italian Erb in a Erb-It layout", body
439
- I18n.locale = :en
440
- get "/bar.js"
441
- assert_equal "Hello Im English Js in a Js-En layout", body
442
- I18n.locale = :it
443
- get "/bar.js"
444
- assert_equal "Hello Im Italian Js in a Js-It layout", body
445
- I18n.locale = :en
446
- get "/bar.json"
447
- assert_equal "Im a json", body
448
- get "/bar.pk"
449
- assert_equal 404, status
450
- end
451
-
452
- should 'renders erb with blocks' do
453
- mock_app do
454
- def container
455
- @_out_buf << "THIS."
456
- yield
457
- @_out_buf << "SPARTA!"
458
- end
459
- def is; "IS."; end
460
- get '/' do
461
- render :erb, '<% container do %> <%= is %> <% end %>'
462
- end
463
- end
464
- get '/'
465
- assert ok?
466
- assert_equal 'THIS. IS. SPARTA!', body
467
- end
468
-
469
- should 'render erb to a SafeBuffer' do
470
- mock_app do
471
- layout do
472
- "this is a <%= yield %>"
473
- end
474
- get '/' do
475
- render :erb, '<p><%= %q{<script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script>} %></p>', :layout => false
476
- end
477
- get '/with_layout' do
478
- render :erb, '<span>span</span>', :layout => true
479
- end
480
- end
481
- get '/'
482
- assert ok?
483
- assert_equal '<p>&lt;script lang=&quot;ronin&quot;&gt;alert(&quot;https://github.com/ronin-ruby/ronin&quot;)&lt;/script&gt;</p>', body
484
-
485
- get '/with_layout'
486
- assert ok?
487
- assert_equal 'this is a <span>span</span>', body
488
- end
489
-
490
- should 'render haml to a SafeBuffer' do
491
- mock_app do
492
- layout do
493
- "%p= yield"
494
- end
495
- get '/' do
496
- render :haml, '%p= %s{<script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script>}', :layout => false
497
- end
498
- get '/with_layout' do
499
- render :haml, "%div\n foo", :layout => true
500
- end
501
- end
502
- get '/'
503
- assert ok?
504
- assert_equal '<p>&lt;script lang=&quot;ronin&quot;&gt;alert(&quot;https://github.com/ronin-ruby/ronin&quot;)&lt;/script&gt;</p>', body.strip
505
-
506
- get 'with_layout'
507
- assert ok?
508
- assert_equal '<p><div>foo</div></p>', body.gsub(/\s+/, "")
509
- end
510
-
511
- should 'render slim to a SafeBuffer' do
512
- mock_app do
513
- layout do
514
- "p= yield"
515
- end
516
- get '/' do
517
- render :slim, 'p = %q{<script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script>}', :layout => false
518
- end
519
- get "/with_layout" do
520
- render :slim, 'div foo', :layout => true
521
- end
522
- end
523
- get '/'
524
- assert ok?
525
- assert_equal '<p>&lt;script lang=&quot;ronin&quot;&gt;alert(&quot;https://github.com/ronin-ruby/ronin&quot;)&lt;/script&gt;</p>', body.strip
526
-
527
- get '/with_layout'
528
- assert ok?
529
- assert_equal '<p><div>foo</div></p>', body.strip
530
- end
531
-
532
- should "render correct erb when use sinatra as middleware" do
533
- class Bar < Sinatra::Base
534
- get "/" do
535
- render :erb, "<&'>"
536
- end
537
- end
538
- mock_app do
539
- use Bar
540
- end
541
- get "/"
542
- assert_equal "<&'>", body
543
- end
544
- end
545
- end