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,168 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
-
3
- describe Padrino::Flash do
4
- context 'storage' do
5
- before do
6
- @storage = Padrino::Flash::Storage.new(
7
- :success => 'Success msg',
8
- :error => 'Error msg',
9
- :notice => 'Notice msg',
10
- :custom => 'Custom msg'
11
- )
12
- @storage[:one] = 'One msg'
13
- @storage[:two] = 'Two msg'
14
- end
15
-
16
- should 'acts like hash' do
17
- assert_respond_to @storage, :[]
18
- end
19
-
20
- should 'know its size' do
21
- assert_equal 4, @storage.length
22
- assert_equal @storage.length, @storage.size
23
- end
24
-
25
- should 'sweep its content' do
26
- assert_equal 2, @storage.sweep.size
27
- assert_empty @storage.sweep
28
- end
29
-
30
- should 'discard everything' do
31
- assert_empty @storage.discard.sweep
32
- end
33
-
34
- should 'discard specified key' do
35
- assert_equal 1, @storage.discard(:one).sweep.size
36
- end
37
-
38
- should 'keep everything' do
39
- assert_equal 2, @storage.sweep.keep.sweep.size
40
- end
41
-
42
- should 'keep only specified key' do
43
- assert_equal 1, @storage.sweep.keep(:one).sweep.size
44
- end
45
-
46
- should 'not know the values you set right away' do
47
- @storage[:foo] = 'bar'
48
- assert_nil @storage[:foo]
49
- end
50
-
51
- should 'knows the values you set next time' do
52
- @storage[:foo] = 'bar'
53
- @storage.sweep
54
- assert_equal 'bar', @storage[:foo]
55
- end
56
-
57
- should 'set values for now' do
58
- @storage.now[:foo] = 'bar'
59
- assert_equal 'bar', @storage[:foo]
60
- end
61
-
62
- should 'forgets values you set only for now next time' do
63
- @storage.now[:foo] = 'bar'
64
- @storage.sweep
65
- assert_nil @storage[:foo]
66
- end
67
- end
68
-
69
- routes = Proc.new do
70
- get :index do
71
- params[:key] ? flash[params[:key].to_sym].to_s : flash.now.inspect
72
- end
73
-
74
- post :index do
75
- params.each { |k,v| flash[k.to_sym] = v.to_s }
76
- flash.next.inspect
77
- end
78
-
79
- get :session do
80
- settings.sessions?.inspect
81
- end
82
-
83
- get :redirect do
84
- redirect url(:index, :key => :foo), 301, :foo => 'redirected!'
85
- end
86
-
87
- get :success do
88
- flash.success = 'Yup'
89
- end
90
-
91
- get :error do
92
- flash.error = 'Arg'
93
- end
94
-
95
- get :notice do
96
- flash.notice = 'Mmm'
97
- end
98
- end
99
-
100
- context 'padrino application without sessions' do
101
- before { mock_app(&routes) }
102
-
103
- should 'show nothing' do
104
- get '/'
105
- assert_equal '{}', body
106
- end
107
-
108
- should 'set a flash' do
109
- post '/', :foo => :bar
110
- assert_equal '{:foo=>"bar"}', body
111
- end
112
- end
113
-
114
- context 'padrino application with sessions' do
115
- before do
116
- mock_app { enable :sessions; class_eval(&routes) }
117
- end
118
-
119
- should 'be sure have sessions enabled' do
120
- assert @app.sessions
121
- get '/session'
122
- assert_equal 'true', body
123
- end
124
-
125
- should 'show nothing' do
126
- get '/'
127
- assert_equal '{}', body
128
- end
129
-
130
- should 'set a flash' do
131
- post '/', :foo => :bar
132
- assert_equal '{:foo=>"bar"}', body
133
- end
134
-
135
- should 'get a flash' do
136
- post '/', :foo => :bar
137
- get '/', :key => :foo
138
- assert_equal 'bar', body
139
- post '/'
140
- assert_equal '{}', body
141
- end
142
-
143
- should 'follow redirects with flash' do
144
- get '/redirect'
145
- follow_redirect!
146
- assert_equal 'redirected!', body
147
- assert 301, status
148
- end
149
-
150
- should 'set success' do
151
- get '/success'
152
- get '/', :key => :success
153
- assert_equal 'Yup', body
154
- end
155
-
156
- should 'set error' do
157
- get '/error'
158
- get '/', :key => :error
159
- assert_equal 'Arg', body
160
- end
161
-
162
- should 'set notice' do
163
- get '/notice'
164
- get '/', :key => :notice
165
- assert_equal 'Mmm', body
166
- end
167
- end
168
- end
@@ -1,21 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
-
3
- describe "Locales" do
4
- Dir[File.expand_path("../../lib/padrino-core/locale/*.yml", __FILE__)].each do |file|
5
- base_original = YAML.load_file(file)
6
- name = File.basename(file, '.yml')
7
- should "should have correct locale for #{name}" do
8
- base = base_original[name]['date']['formats']
9
- assert base['default'].present?
10
- assert base['short'].present?
11
- assert base['long'].present?
12
- assert base['only_day'].present?
13
- base = base_original[name]['date']
14
- assert base['day_names'].present?
15
- assert base['abbr_day_names'].present?
16
- assert base['month_names'].present?
17
- assert base['abbr_month_names'].present?
18
- assert base['order'].present?
19
- end
20
- end
21
- end
@@ -1,210 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require 'lumberjack'
3
- require 'logger'
4
-
5
- describe "PadrinoLogger" do
6
-
7
- def setup
8
- Padrino::Logger::Config[:test][:stream] = :null # The default
9
- Padrino::Logger.setup!
10
- end
11
-
12
- def setup_logger(options={})
13
- @log = StringIO.new
14
- @logger = Padrino::Logger.new(options.merge(:stream => @log))
15
- end
16
-
17
- context 'for logger functionality' do
18
-
19
- context 'check stream config' do
20
-
21
- should 'use stdout if stream is nil' do
22
- Padrino::Logger::Config[:test][:stream] = nil
23
- Padrino::Logger.setup!
24
- assert_equal $stdout, Padrino.logger.log
25
- end
26
-
27
- should 'use StringIO as default for test' do
28
- assert_instance_of StringIO, Padrino.logger.log
29
- end
30
-
31
- should 'use a custom stream' do
32
- my_stream = StringIO.new
33
- Padrino::Logger::Config[:test][:stream] = my_stream
34
- Padrino::Logger.setup!
35
- assert_equal my_stream, Padrino.logger.log
36
- end
37
- end
38
-
39
- should 'log something' do
40
- setup_logger(:log_level => :error)
41
- @logger.error "You log this error?"
42
- assert_match(/You log this error?/, @log.string)
43
- @logger.debug "You don't log this error!"
44
- assert_no_match(/You don't log this error!/, @log.string)
45
- @logger << "Yep this can be logged"
46
- assert_match(/Yep this can be logged/, @log.string)
47
- end
48
-
49
- should 'respond to #write for Rack::CommonLogger' do
50
- setup_logger(:log_level => :error)
51
- @logger.error "Error message"
52
- assert_match /Error message/, @log.string
53
- @logger << "logged anyways"
54
- assert_match /logged anyways/, @log.string
55
- @logger.write "log via alias"
56
- assert_match /log via alias/, @log.string
57
- end
58
-
59
- should 'log an application' do
60
- mock_app do
61
- enable :logging
62
- get("/"){ "Foo" }
63
- end
64
- get "/"
65
- assert_equal "Foo", body
66
- assert_match /GET/, Padrino.logger.log.string
67
- end
68
-
69
- should 'log an application\'s status code' do
70
- mock_app do
71
- enable :logging
72
- get("/"){ "Foo" }
73
- end
74
- get "/"
75
- assert_match /\e\[1m200\e\[0m OK/, Padrino.logger.log.string
76
- end
77
-
78
- context "static asset logging" do
79
- should 'not log static assets by default' do
80
- mock_app do
81
- enable :logging
82
- get("/images/something.png"){ env["sinatra.static_file"] = '/public/images/something.png'; "Foo" }
83
- end
84
- get "/images/something.png"
85
- assert_equal "Foo", body
86
- assert_match "", Padrino.logger.log.string
87
- end
88
-
89
- should 'allow turning on static assets logging' do
90
- Padrino.logger.instance_eval{ @log_static = true }
91
- mock_app do
92
- enable :logging
93
- get("/images/something.png"){ env["sinatra.static_file"] = '/public/images/something.png'; "Foo" }
94
- end
95
- get "/images/something.png"
96
- assert_equal "Foo", body
97
- assert_match /GET/, Padrino.logger.log.string
98
- Padrino.logger.instance_eval{ @log_static = false }
99
- end
100
- end
101
-
102
- context "health-check requests logging" do
103
- def access_to_mock_app
104
- mock_app do
105
- enable :logging
106
- get("/"){ "Foo" }
107
- end
108
- get "/"
109
- end
110
-
111
- should 'output under debug level' do
112
- Padrino.logger.instance_eval{ @level = Padrino::Logger::Levels[:debug] }
113
- access_to_mock_app
114
- assert_match /\e\[36m DEBUG\e\[0m/, Padrino.logger.log.string
115
-
116
- Padrino.logger.instance_eval{ @level = Padrino::Logger::Levels[:devel] }
117
- access_to_mock_app
118
- assert_match /\e\[36m DEBUG\e\[0m/, Padrino.logger.log.string
119
- end
120
- should 'not output over debug level' do
121
- Padrino.logger.instance_eval{ @level = Padrino::Logger::Levels[:info] }
122
- access_to_mock_app
123
- assert_equal '', Padrino.logger.log.string
124
-
125
- Padrino.logger.instance_eval{ @level = Padrino::Logger::Levels[:error] }
126
- access_to_mock_app
127
- assert_equal '', Padrino.logger.log.string
128
- end
129
- end
130
- end
131
- end
132
-
133
- describe "alternate logger: Lumberjack" do
134
- def setup_logger
135
- @log = StringIO.new
136
- Padrino.logger = Lumberjack::Logger.new(@log, :level => :debug)
137
- end
138
-
139
- should "annotate the logger to support additional Padrino fancyness" do
140
- setup_logger
141
- Padrino.logger.debug("Debug message")
142
- assert_match(/Debug message/, @log.string)
143
- end
144
-
145
- should "colorize log output after colorize! is called" do
146
- setup_logger
147
- Padrino.logger.colorize!
148
-
149
- mock_app do
150
- enable :logging
151
- get("/"){ "Foo" }
152
- end
153
- get "/"
154
-
155
- assert_match /\e\[1m200\e\[0m OK/, @log.string
156
- end
157
- end
158
-
159
- describe "alternate logger: stdlib logger" do
160
- def setup_logger
161
- @log = StringIO.new
162
- Padrino.logger = Logger.new(@log)
163
- end
164
-
165
- should "annotate the logger to support additional Padrino fancyness" do
166
- setup_logger
167
- Padrino.logger.debug("Debug message")
168
- assert_match(/Debug message/, @log.string)
169
- end
170
-
171
- should "colorize log output after colorize! is called" do
172
- setup_logger
173
- Padrino.logger.colorize!
174
-
175
- mock_app do
176
- enable :logging
177
- get("/"){ "Foo" }
178
- end
179
- get "/"
180
-
181
- assert_match /\e\[1m200\e\[0m OK/, @log.string
182
- end
183
- end
184
-
185
- describe "options :colorize_logging" do
186
- def access_to_mock_app
187
- mock_app do
188
- enable :logging
189
- get("/"){ "Foo" }
190
- end
191
- get "/"
192
- end
193
- context 'default' do
194
- should 'use colorize logging' do
195
- Padrino::Logger.setup!
196
-
197
- access_to_mock_app
198
- assert_match /\e\[1m200\e\[0m OK/, Padrino.logger.log.string
199
- end
200
- end
201
- context 'set value is false' do
202
- should 'not use colorize logging' do
203
- Padrino::Logger::Config[:test][:colorize_logging] = false
204
- Padrino::Logger.setup!
205
-
206
- access_to_mock_app
207
- assert_match /200 OK/, Padrino.logger.log.string
208
- end
209
- end
210
- end
@@ -1,199 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
-
3
- describe "Mounter" do
4
- class ::TestApp < Padrino::Application; end
5
-
6
- def setup
7
- $VERBOSE, @_verbose_was = nil, $VERBOSE
8
- Padrino.clear!
9
- end
10
-
11
- def teardown
12
- $VERBOSE = @_verbose_was
13
- end
14
-
15
- context 'for mounter functionality' do
16
- should 'check methods' do
17
- mounter = Padrino::Mounter.new("test_app", :app_file => "/path/to/test.rb")
18
- mounter.to("/test_app")
19
- assert_kind_of Padrino::Mounter, mounter
20
- assert_respond_to Padrino::Mounter, :new
21
- assert_respond_to mounter, :to
22
- assert_respond_to mounter, :map_onto
23
- assert_equal "test_app", mounter.name
24
- assert_equal "TestApp", mounter.app_class
25
- assert_equal "/path/to/test.rb", mounter.app_file
26
- assert_equal "/test_app", mounter.uri_root
27
- assert_equal File.dirname(mounter.app_file), mounter.app_root
28
- end
29
-
30
- should 'check locate_app_file with __FILE__' do
31
- mounter = Padrino::Mounter.new("test_app", :app_file => __FILE__)
32
- mounter.to("/test_app")
33
- assert_equal "test_app", mounter.name
34
- assert_equal "TestApp", mounter.app_class
35
- assert_equal __FILE__, mounter.app_file
36
- assert_equal "/test_app", mounter.uri_root
37
- assert_equal File.dirname(mounter.app_file), mounter.app_root
38
- end
39
-
40
- should 'mount an app' do
41
- class ::AnApp < Padrino::Application; end
42
- Padrino.mount("an_app").to("/")
43
- assert_equal AnApp, Padrino.mounted_apps.first.app_obj
44
- assert_equal ["an_app"], Padrino.mounted_apps.map(&:name)
45
- end
46
-
47
- should 'correctly mount an app in a namespace' do
48
- module ::SomeNamespace
49
- class AnApp < Padrino::Application; end
50
- end
51
- Padrino.mount("some_namespace/an_app").to("/")
52
- assert_equal SomeNamespace::AnApp, Padrino.mounted_apps.first.app_obj
53
- assert_equal ["some_namespace/an_app"], Padrino.mounted_apps.map(&:name)
54
- end
55
-
56
- should 'mount a primary app to root uri' do
57
- mounter = Padrino.mount("test_app", :app_file => __FILE__).to("/")
58
- assert_equal "test_app", mounter.name
59
- assert_equal "TestApp", mounter.app_class
60
- assert_equal TestApp, mounter.app_obj
61
- assert_equal __FILE__, mounter.app_file
62
- assert_equal "/", mounter.uri_root
63
- assert_equal File.dirname(mounter.app_file), mounter.app_root
64
- end
65
-
66
- should 'mount a primary app to sub_uri' do
67
- mounter = Padrino.mount("test_app", :app_file => __FILE__).to('/me')
68
- assert_equal "test_app", mounter.name
69
- assert_equal "TestApp", mounter.app_class
70
- assert_equal TestApp, mounter.app_obj
71
- assert_equal __FILE__, mounter.app_file
72
- assert_equal "/me", mounter.uri_root
73
- assert_equal File.dirname(mounter.app_file), mounter.app_root
74
- end
75
-
76
- should "raise error when app has no located file" do
77
- # TODO enabling this screws minitest
78
- # assert_raises(Padrino::Mounter::MounterException) { Padrino.mount("tester_app").to('/test') }
79
- assert_equal 0, Padrino.mounted_apps.size
80
- end
81
-
82
- should "raise error when app has no located object" do
83
- assert_raises(Padrino::Mounter::MounterException) { Padrino.mount("tester_app", :app_file => "/path/to/file.rb").to('/test') }
84
- assert_equal 0, Padrino.mounted_apps.size
85
- end
86
-
87
- should 'mount multiple apps' do
88
- class ::OneApp < Padrino::Application; end
89
- class ::TwoApp < Padrino::Application; end
90
-
91
- Padrino.mount("one_app").to("/one_app")
92
- Padrino.mount("two_app").to("/two_app")
93
- # And testing no duplicates
94
- Padrino.mount("one_app").to("/one_app")
95
- Padrino.mount("two_app").to("/two_app")
96
-
97
- assert_equal OneApp, Padrino.mounted_apps[0].app_obj
98
- assert_equal TwoApp, Padrino.mounted_apps[1].app_obj
99
- assert_equal 2, Padrino.mounted_apps.size, "should not mount duplicate apps"
100
- assert_equal ["one_app", "two_app"], Padrino.mounted_apps.map(&:name)
101
- end
102
-
103
- should 'change mounted_root' do
104
- Padrino.mounted_root = "fixtures"
105
- assert_equal Padrino.root("fixtures", "test", "app.rb"), Padrino.mounted_root("test", "app.rb")
106
- Padrino.mounted_root = "apps"
107
- assert_equal Padrino.root("apps", "test", "app.rb"), Padrino.mounted_root("test", "app.rb")
108
- Padrino.mounted_root = nil
109
- assert_equal Padrino.root("test", "app.rb"), Padrino.mounted_root("test", "app.rb")
110
- end
111
-
112
- should "be able to access routes data for mounted apps" do
113
- class ::OneApp < Padrino::Application
114
- get("/test") { "test" }
115
- get(:index, :provides => [:js, :json]) { "index" }
116
- get(%r{/foo|/baz}) { "regexp" }
117
- controllers :posts do
118
- get(:index) { "index" }
119
- get(:new, :provides => :js) { "new" }
120
- get(:show, :provides => [:js, :html], :with => :id) { "show" }
121
- post(:create, :provides => :js, :with => :id) { "create" }
122
- get(:regexp, :map => %r{/foo|/baz}) { "regexp" }
123
- end
124
- end
125
- class ::TwoApp < Padrino::Application
126
- controllers :users do
127
- get(:index) { "users" }
128
- get(:new) { "users new" }
129
- post(:create) { "users create" }
130
- put(:update) { "users update" }
131
- delete(:destroy) { "users delete" }
132
- end
133
- end
134
-
135
- Padrino.mount("one_app").to("/")
136
- Padrino.mount("two_app").to("/two_app")
137
-
138
- assert_equal 15, Padrino.mounted_apps[0].routes.size
139
- assert_equal 7, Padrino.mounted_apps[1].routes.size
140
- assert_equal 6, Padrino.mounted_apps[0].named_routes.size
141
- assert_equal 5, Padrino.mounted_apps[1].named_routes.size
142
-
143
- first_route = Padrino.mounted_apps[0].named_routes[3]
144
- assert_equal "posts_show", first_route.identifier.to_s
145
- assert_equal "(:posts, :show)", first_route.name
146
- assert_equal "GET", first_route.verb
147
- assert_equal "/posts/show/:id(.:format)", first_route.path
148
- another_route = Padrino.mounted_apps[1].named_routes[2]
149
- assert_equal "users_create", another_route.identifier.to_s
150
- assert_equal "(:users, :create)", another_route.name
151
- assert_equal "POST", another_route.verb
152
- assert_equal "/two_app/users/create", another_route.path
153
- regexp_route = Padrino.mounted_apps[0].named_routes[5]
154
- assert_equal "posts_regexp", regexp_route.identifier.to_s
155
- assert_equal "(:posts, :regexp)", regexp_route.name
156
- assert_equal "/\\/foo|\\/baz/", regexp_route.path
157
- end
158
-
159
- should 'correctly instantiate a new padrino application' do
160
- mock_app do
161
- get("/demo_1"){ "Im Demo 1" }
162
- get("/demo_2"){ "Im Demo 2" }
163
- end
164
-
165
- get '/demo_1'
166
- assert_equal "Im Demo 1", response.body
167
- get '/demo_2'
168
- assert_equal "Im Demo 2", response.body
169
- end
170
-
171
- should "not clobber the public setting when mounting an app" do
172
- class ::PublicApp < Padrino::Application
173
- set :root, "/root"
174
- set :public_folder, File.expand_path(File.dirname(__FILE__))
175
- end
176
-
177
- Padrino.mount("public_app").to("/public")
178
- res = Rack::MockRequest.new(Padrino.application).get("/public/test_mounter.rb")
179
- assert res.ok?
180
- assert_equal File.read(__FILE__), res.body
181
- end
182
-
183
- should "load apps from gems" do
184
- spec_file = Padrino.root("fixtures", "app_gem", "app_gem.gemspec")
185
- spec = Gem::Specification.load(spec_file)
186
- spec.activate
187
- def spec.full_gem_path
188
- Padrino.root("fixtures", "app_gem")
189
- end
190
-
191
- require Padrino.root("fixtures", "app_gem", "lib", "app_gem")
192
-
193
- Padrino.mount("AppGem::App").to("/from_gem")
194
- mounter = Padrino.mounted_apps[0]
195
- assert_equal AppGem::App, mounter.app_obj
196
- assert_equal Padrino.root('public'), mounter.app_obj.public_folder
197
- end
198
- end
199
- end