middleman-core 3.2.2 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
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