middleman 2.0.7 → 2.0.8

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 (190) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +0 -1
  3. data/CHANGELOG +8 -0
  4. data/Gemfile +1 -1
  5. data/features/data.feature +6 -1
  6. data/features/markdown.feature +7 -0
  7. data/features/sprockets.feature +11 -1
  8. data/features/sprockets_gems.feature +3 -3
  9. data/fixtures/sprockets-app/source/jquery_include.js +1 -0
  10. data/fixtures/test-app/config.rb +2 -0
  11. data/fixtures/test-app/source/data2.html.liquid +1 -0
  12. data/fixtures/test-app/source/javascripts/multiple_engines.js.coffee.erb +1 -0
  13. data/fixtures/test-app/source/markdown.html.markdown +1 -0
  14. data/lib/middleman.rb +0 -6
  15. data/lib/middleman/base.rb +6 -1
  16. data/lib/middleman/builder.rb +6 -4
  17. data/lib/middleman/core_extensions/data.rb +35 -5
  18. data/lib/middleman/core_extensions/front_matter.rb +9 -2
  19. data/lib/middleman/core_extensions/sprockets.rb +25 -1
  20. data/lib/middleman/renderers/markdown.rb +25 -2
  21. data/lib/middleman/version.rb +1 -1
  22. data/middleman.gemspec +7 -6
  23. metadata +112 -251
  24. data/lib/middleman/vendor/padrino-core-0.10.0/.document +0 -5
  25. data/lib/middleman/vendor/padrino-core-0.10.0/.gitignore +0 -22
  26. data/lib/middleman/vendor/padrino-core-0.10.0/LICENSE +0 -20
  27. data/lib/middleman/vendor/padrino-core-0.10.0/README.rdoc +0 -294
  28. data/lib/middleman/vendor/padrino-core-0.10.0/Rakefile +0 -5
  29. data/lib/middleman/vendor/padrino-core-0.10.0/bin/padrino +0 -9
  30. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core.rb +0 -119
  31. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application.rb +0 -259
  32. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/rendering.rb +0 -228
  33. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/routing.rb +0 -821
  34. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/showexceptions.rb +0 -18
  35. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/caller.rb +0 -45
  36. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/adapter.rb +0 -24
  37. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/base.rb +0 -152
  38. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/console.rb +0 -20
  39. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake.rb +0 -24
  40. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake_tasks.rb +0 -59
  41. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/command.rb +0 -27
  42. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/404.png +0 -0
  43. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/500.png +0 -0
  44. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/loader.rb +0 -182
  45. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/cz.yml +0 -30
  46. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/da.yml +0 -30
  47. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/de.yml +0 -30
  48. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/en.yml +0 -30
  49. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/es.yml +0 -30
  50. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/fr.yml +0 -30
  51. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/hu.yml +0 -30
  52. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/it.yml +0 -37
  53. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ja.yml +0 -30
  54. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/nl.yml +0 -30
  55. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/no.yml +0 -31
  56. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pl.yml +0 -30
  57. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pt_br.yml +0 -37
  58. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ru.yml +0 -30
  59. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/tr.yml +0 -30
  60. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/uk.yml +0 -30
  61. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_cn.yml +0 -30
  62. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_tw.yml +0 -30
  63. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/logger.rb +0 -344
  64. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/mounter.rb +0 -192
  65. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/reloader.rb +0 -247
  66. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/router.rb +0 -79
  67. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/server.rb +0 -70
  68. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/support_lite.rb +0 -135
  69. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/tasks.rb +0 -23
  70. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/version.rb +0 -15
  71. data/lib/middleman/vendor/padrino-core-0.10.0/padrino-core.gemspec +0 -38
  72. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.components +0 -6
  73. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.gitignore +0 -7
  74. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/complex.rb +0 -27
  75. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/simple.rb +0 -33
  76. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/a.rb +0 -9
  77. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/b.rb +0 -4
  78. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/c.rb +0 -1
  79. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/e.rb +0 -13
  80. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/f.rb +0 -2
  81. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/g.rb +0 -2
  82. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/d.rb +0 -4
  83. data/lib/middleman/vendor/padrino-core-0.10.0/test/helper.rb +0 -101
  84. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_application.rb +0 -83
  85. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_core.rb +0 -79
  86. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_dependencies.rb +0 -44
  87. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_filters.rb +0 -266
  88. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_logger.rb +0 -91
  89. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_mounter.rb +0 -176
  90. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_complex.rb +0 -66
  91. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_simple.rb +0 -97
  92. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_rendering.rb +0 -437
  93. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_router.rb +0 -146
  94. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_routing.rb +0 -1491
  95. data/lib/middleman/vendor/padrino-helpers-0.10.0/.document +0 -5
  96. data/lib/middleman/vendor/padrino-helpers-0.10.0/.gitignore +0 -21
  97. data/lib/middleman/vendor/padrino-helpers-0.10.0/LICENSE +0 -20
  98. data/lib/middleman/vendor/padrino-helpers-0.10.0/README.rdoc +0 -239
  99. data/lib/middleman/vendor/padrino-helpers-0.10.0/Rakefile +0 -5
  100. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers.rb +0 -51
  101. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/asset_tag_helpers.rb +0 -288
  102. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -220
  103. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -43
  104. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_helpers.rb +0 -446
  105. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/format_helpers.rb +0 -260
  106. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/cz.yml +0 -103
  107. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/da.yml +0 -91
  108. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/de.yml +0 -78
  109. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/en.yml +0 -103
  110. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/es.yml +0 -103
  111. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/fr.yml +0 -79
  112. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/hu.yml +0 -103
  113. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/it.yml +0 -85
  114. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ja.yml +0 -103
  115. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/nl.yml +0 -78
  116. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/no.yml +0 -91
  117. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pl.yml +0 -95
  118. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pt_br.yml +0 -103
  119. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ru.yml +0 -103
  120. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/tr.yml +0 -103
  121. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/uk.yml +0 -103
  122. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_cn.yml +0 -103
  123. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_tw.yml +0 -103
  124. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/number_helpers.rb +0 -273
  125. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers.rb +0 -128
  126. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -103
  127. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -79
  128. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -64
  129. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -82
  130. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/render_helpers.rb +0 -40
  131. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/tag_helpers.rb +0 -59
  132. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/translation_helpers.rb +0 -21
  133. data/lib/middleman/vendor/padrino-helpers-0.10.0/padrino-helpers.gemspec +0 -27
  134. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/app.rb +0 -73
  135. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.erb +0 -14
  136. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.haml +0 -12
  137. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.slim +0 -13
  138. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.erb +0 -11
  139. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.haml +0 -9
  140. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.slim +0 -9
  141. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.erb +0 -11
  142. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.haml +0 -9
  143. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.slim +0 -9
  144. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.erb +0 -5
  145. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.haml +0 -5
  146. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.slim +0 -5
  147. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.erb +0 -20
  148. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.haml +0 -15
  149. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.slim +0 -15
  150. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.erb +0 -56
  151. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.haml +0 -47
  152. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.slim +0 -47
  153. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.erb +0 -56
  154. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.haml +0 -45
  155. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.slim +0 -45
  156. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.erb +0 -5
  157. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.haml +0 -4
  158. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.slim +0 -4
  159. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.erb +0 -3
  160. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.haml +0 -3
  161. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.slim +0 -3
  162. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.erb +0 -3
  163. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.haml +0 -3
  164. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.slim +0 -3
  165. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
  166. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
  167. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
  168. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.erb +0 -1
  169. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.haml +0 -1
  170. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.slim +0 -1
  171. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/app.rb +0 -45
  172. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engine.haml +0 -5
  173. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
  174. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
  175. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
  176. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/erb/test.erb +0 -1
  177. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/explicit_engine.haml +0 -5
  178. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/haml/test.haml +0 -1
  179. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/_user.haml +0 -7
  180. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/haml_template.haml +0 -1
  181. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/some_template.haml +0 -2
  182. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/helper.rb +0 -78
  183. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_asset_tag_helpers.rb +0 -320
  184. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_builder.rb +0 -998
  185. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_helpers.rb +0 -645
  186. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_format_helpers.rb +0 -227
  187. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_number_helpers.rb +0 -136
  188. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_output_helpers.rb +0 -133
  189. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_render_helpers.rb +0 -69
  190. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_tag_helpers.rb +0 -100
@@ -1,83 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
-
3
- class PadrinoTestApp < Padrino::Application; end
4
- class PadrinoTestApp2 < Padrino::Application; end
5
-
6
- class TestApplication < Test::Unit::TestCase
7
- def setup
8
- Padrino.clear!
9
- end
10
-
11
- def teardown
12
- remove_views
13
- end
14
-
15
- context 'for application functionality' do
16
-
17
- should 'check default options' do
18
- assert File.identical?(__FILE__, PadrinoTestApp.app_file)
19
- assert_equal :padrino_test_app, PadrinoTestApp.app_name
20
- assert_equal :test, PadrinoTestApp.environment
21
- assert_equal Padrino.root("views"), PadrinoTestApp.views
22
- assert PadrinoTestApp.raise_errors
23
- assert !PadrinoTestApp.logging
24
- assert !PadrinoTestApp.sessions
25
- assert !PadrinoTestApp.dump_errors
26
- assert !PadrinoTestApp.show_exceptions
27
- assert PadrinoTestApp.raise_errors
28
- assert !Padrino.configure_apps
29
- end
30
-
31
- should 'check padrino specific options' do
32
- assert !PadrinoTestApp.instance_variable_get(:@_configured)
33
- PadrinoTestApp.send(:setup_application!)
34
- assert_equal :padrino_test_app, PadrinoTestApp.app_name
35
- assert_equal 'StandardFormBuilder', PadrinoTestApp.default_builder
36
- assert PadrinoTestApp.instance_variable_get(:@_configured)
37
- assert !PadrinoTestApp.reload?
38
- assert !PadrinoTestApp.flash
39
- end
40
-
41
- should 'set global project settings' do
42
- Padrino.configure_apps { enable :sessions; set :foo, "bar" }
43
- PadrinoTestApp.send(:default_configuration!)
44
- PadrinoTestApp2.send(:default_configuration!)
45
- assert PadrinoTestApp.sessions, "should have sessions enabled"
46
- assert_equal "bar", PadrinoTestApp.settings.foo, "should have foo assigned"
47
- assert_equal PadrinoTestApp.session_secret, PadrinoTestApp2.session_secret
48
- end
49
-
50
- should "have shared sessions accessible in project" do
51
- Padrino.configure_apps { enable :sessions; set :session_secret, 'secret' }
52
- Padrino.mount("PadrinoTestApp").to("/write")
53
- Padrino.mount("PadrinoTestApp2").to("/read")
54
- PadrinoTestApp.tap { |app| app.send(:default_configuration!)
55
- app.get("/") { session[:foo] = "shared" } }
56
- PadrinoTestApp2.tap { |app| app.send(:default_configuration!)
57
- app.get("/") { session[:foo] } }
58
- browser = Rack::Test::Session.new(Rack::MockSession.new(Padrino.application))
59
- browser.get '/write'
60
- browser.get '/read'
61
- assert_equal 'shared', browser.last_response.body
62
- end
63
-
64
- # compare to: test_routing: allow global provides
65
- should "set content_type to :html if none can be determined" do
66
- mock_app do
67
- provides :xml
68
-
69
- get("/foo"){ "Foo in #{content_type}" }
70
- get("/bar"){ "Foo in #{content_type}" }
71
- end
72
-
73
- get '/foo', {}, { 'HTTP_ACCEPT' => 'application/xml' }
74
- assert_equal 'Foo in xml', body
75
- get '/foo'
76
- assert_equal 'Foo in xml', body
77
-
78
- get '/bar', {}, { 'HTTP_ACCEPT' => 'application/xml' }
79
- assert_equal "Foo in html", body
80
- end # content_type to :html
81
- end # application functionality
82
-
83
- end
@@ -1,79 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
-
3
- class TestCore < Test::Unit::TestCase
4
- def setup
5
- Padrino.clear!
6
- end
7
-
8
- context 'for core functionality' do
9
-
10
- should 'check some global methods' do
11
- assert_respond_to Padrino, :root
12
- assert_respond_to Padrino, :env
13
- assert_respond_to Padrino, :application
14
- assert_respond_to Padrino, :set_encoding
15
- assert_respond_to Padrino, :load!
16
- assert_respond_to Padrino, :reload!
17
- assert_respond_to Padrino, :version
18
- assert_respond_to Padrino, :bundle
19
- assert_respond_to Padrino, :configure_apps
20
- end
21
-
22
-
23
- should 'validate global helpers' do
24
- assert_equal :test, Padrino.env
25
- assert_match /\/test/, Padrino.root
26
- assert_equal nil, Padrino.bundle
27
- assert_not_nil Padrino.version
28
- end
29
-
30
- should 'set correct utf-8 encoding' do
31
- Padrino.set_encoding
32
- if RUBY_VERSION <'1.9'
33
- assert_equal 'UTF8', $KCODE
34
- else
35
- assert_equal Encoding.default_external, Encoding::UTF_8
36
- assert_equal Encoding.default_internal, nil # Encoding::UTF_8
37
- end
38
- end
39
-
40
- should 'have load paths' do
41
- assert_equal [Padrino.root('lib'), Padrino.root('models'), Padrino.root('shared')], Padrino.load_paths
42
- end
43
-
44
- should 'raise application error if I instantiate a new padrino application without mounted apps' do
45
- assert_raise(Padrino::ApplicationLoadError) { Padrino.application.new }
46
- end
47
-
48
- should "check before/after padrino load hooks" do
49
- Padrino.before_load { @_foo = 1 }
50
- Padrino.after_load { @_foo += 1 }
51
- Padrino.load!
52
- assert_equal 1, Padrino.before_load.size
53
- assert_equal 1, Padrino.after_load.size
54
- assert_equal 2, @_foo
55
- end
56
-
57
- should "add middlewares in front if specified" do
58
- test = Class.new {
59
- def initialize(app)
60
- @app = app
61
- end
62
-
63
- def call(env)
64
- status, headers, body = @app.call(env)
65
- headers["Middleware-Called"] = "yes"
66
- return status, headers, body
67
- end
68
- }
69
-
70
- class Foo < Padrino::Application; end
71
-
72
- Padrino.use(test)
73
- Padrino.mount(Foo).to("/")
74
-
75
- res = Rack::MockRequest.new(Padrino.application).get("/")
76
- assert_equal "yes", res["Middleware-Called"]
77
- end
78
- end
79
- end
@@ -1,44 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
-
3
- class TestDependencies < Test::Unit::TestCase
4
- context 'when we require a dependency that have another dependency' do
5
-
6
- should 'raise an error without reloading it twice' do
7
- silence_warnings do
8
- assert_raise(RuntimeError) do
9
- Padrino.require_dependencies(
10
- Padrino.root("fixtures/dependencies/a.rb"),
11
- Padrino.root("fixtures/dependencies/b.rb"),
12
- Padrino.root("fixtures/dependencies/c.rb"),
13
- Padrino.root("fixtures/dependencies/d.rb")
14
- )
15
- end
16
- end
17
- assert_equal 1, D
18
- end
19
-
20
- should 'resolve dependency problems' do
21
- silence_warnings do
22
- Padrino.require_dependencies(
23
- Padrino.root("fixtures/dependencies/a.rb"),
24
- Padrino.root("fixtures/dependencies/b.rb"),
25
- Padrino.root("fixtures/dependencies/c.rb")
26
- )
27
- end
28
- assert_equal ["B", "C"], A_result
29
- assert_equal "C", B_result
30
- end
31
-
32
- should 'remove partially loaded constants' do
33
- silence_warnings do
34
- Padrino.require_dependencies(
35
- Padrino.root("fixtures/dependencies/circular/e.rb"),
36
- Padrino.root("fixtures/dependencies/circular/f.rb"),
37
- Padrino.root("fixtures/dependencies/circular/g.rb")
38
- )
39
- end
40
-
41
- assert_equal ["name"], F.fields
42
- end
43
- end
44
- end
@@ -1,266 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
-
3
- class TestFilters < Test::Unit::TestCase
4
- should "filters by accept header" do
5
- mock_app do
6
- get '/foo', :provides => [:xml, :js] do
7
- request.env['HTTP_ACCEPT']
8
- end
9
- end
10
-
11
- get '/foo', {}, { 'HTTP_ACCEPT' => 'application/xml' }
12
- assert ok?
13
- assert_equal 'application/xml', body
14
- assert_equal 'application/xml;charset=utf-8', response.headers['Content-Type']
15
-
16
- get '/foo.xml'
17
- assert ok?
18
- assert_equal 'application/xml;charset=utf-8', response.headers['Content-Type']
19
-
20
- get '/foo', {}, { 'HTTP_ACCEPT' => 'application/javascript' }
21
- assert ok?
22
- assert_equal 'application/javascript', body
23
- assert_equal 'application/javascript;charset=utf-8', response.headers['Content-Type']
24
-
25
- get '/foo.js'
26
- assert ok?
27
- assert_equal 'application/javascript;charset=utf-8', response.headers['Content-Type']
28
-
29
- get '/foo', {}, { "HTTP_ACCEPT" => 'text/html' }
30
- assert_equal 406, status
31
- end
32
-
33
- should "allow passing & halting in before filters" do
34
- mock_app do
35
- controller do
36
- before { env['QUERY_STRING'] == 'secret' or pass }
37
- get :index do
38
- "secret index"
39
- end
40
- end
41
-
42
- controller do
43
- before { env['QUERY_STRING'] == 'halt' and halt 401, 'go away!' }
44
- get :index do
45
- "index"
46
- end
47
- end
48
- end
49
-
50
- get "/?secret"
51
- assert_equal "secret index", body
52
-
53
- get "/?halt"
54
- assert_equal "go away!", body
55
- assert_equal 401, status
56
-
57
- get "/"
58
- assert_equal "index", body
59
- end
60
-
61
- should 'scope filters in the given controller' do
62
- mock_app do
63
- before { @global = 'global' }
64
- after { @global = nil }
65
-
66
- controller :foo do
67
- before { @foo = :foo }
68
- after { @foo = nil }
69
- get("/") { [@foo, @bar, @global].compact.join(" ") }
70
- end
71
-
72
- get("/") { [@foo, @bar, @global].compact.join(" ") }
73
-
74
- controller :bar do
75
- before { @bar = :bar }
76
- after { @bar = nil }
77
- get("/") { [@foo, @bar, @global].compact.join(" ") }
78
- end
79
- end
80
-
81
- get "/bar"
82
- assert_equal "bar global", body
83
-
84
- get "/foo"
85
- assert_equal "foo global", body
86
-
87
- get "/"
88
- assert_equal "global", body
89
- end
90
-
91
- should 'be able to access params in a before filter' do
92
- username_from_before_filter = nil
93
-
94
- mock_app do
95
- before do
96
- username_from_before_filter = params[:username]
97
- end
98
-
99
- get :users, :with => :username do
100
- end
101
- end
102
- get '/users/josh'
103
- assert_equal 'josh', username_from_before_filter
104
- end
105
-
106
- should "be able to access params normally when a before filter is specified" do
107
- mock_app do
108
- before { }
109
- get :index do
110
- params.inspect
111
- end
112
- end
113
- get '/?test=what'
114
- assert_equal '{"test"=>"what"}', body
115
- end
116
-
117
- should "be able to filter based on a path" do
118
- mock_app do
119
- before('/') { @test = "#{@test}before"}
120
- get :index do
121
- @test
122
- end
123
- get :main do
124
- @test
125
- end
126
- end
127
- get '/'
128
- assert_equal 'before', body
129
- get '/main'
130
- assert_equal '', body
131
- end
132
-
133
- should "be able to filter based on a symbol" do
134
- mock_app do
135
- before(:index) { @test = 'before'}
136
- get :index do
137
- @test
138
- end
139
- get :main do
140
- @test
141
- end
142
- end
143
- get '/'
144
- assert_equal 'before', body
145
- get '/main'
146
- assert_equal '', body
147
- end
148
-
149
- should "be able to filter based on a symbol for a controller" do
150
- mock_app do
151
- controller :foo do
152
- before(:test) { @test = 'foo'}
153
- get :test do
154
- @test.to_s + " response"
155
- end
156
- end
157
- controller :bar do
158
- before(:test) { @test = 'bar'}
159
- get :test do
160
- @test.to_s + " response"
161
- end
162
- end
163
- end
164
- get '/foo/test'
165
- assert_equal 'foo response', body
166
- get '/bar/test'
167
- assert_equal 'bar response', body
168
- end
169
-
170
- should "be able to filter based on a symbol or path" do
171
- mock_app do
172
- before(:index, '/main') { @test = 'before'}
173
- get :index do
174
- @test
175
- end
176
- get :main do
177
- @test
178
- end
179
- end
180
- get '/'
181
- assert_equal 'before', body
182
- get '/main'
183
- assert_equal 'before', body
184
- end
185
-
186
- should "be able to filter based on a symbol or regexp" do
187
- mock_app do
188
- before(:index, /main/) { @test = 'before'}
189
- get :index do
190
- @test
191
- end
192
- get :main do
193
- @test
194
- end
195
- get :profile do
196
- @test
197
- end
198
- end
199
- get '/'
200
- assert_equal 'before', body
201
- get '/main'
202
- assert_equal 'before', body
203
- get '/profile'
204
- assert_equal '', body
205
- end
206
-
207
- should "be able to filter excluding based on a symbol" do
208
- mock_app do
209
- before(:except => :index) { @test = 'before'}
210
- get :index do
211
- @test
212
- end
213
- get :main do
214
- @test
215
- end
216
- end
217
- get '/'
218
- assert_equal '', body
219
- get '/main'
220
- assert_equal 'before', body
221
- end
222
-
223
- should "be able to filter based on a request param" do
224
- mock_app do
225
- before(:agent => /IE/) { @test = 'before'}
226
- get :index do
227
- @test
228
- end
229
- end
230
- get '/'
231
- assert_equal '', body
232
- get "/", {}, {'HTTP_USER_AGENT' => 'This is IE'}
233
- assert_equal 'before', body
234
- end
235
-
236
- should "be able to filter based on a symbol or path in multiple controller" do
237
- mock_app do
238
- controllers :foo do
239
- before(:index, '/foo/main') { @test = 'before' }
240
- get :index do
241
- @test
242
- end
243
- get :main do
244
- @test
245
- end
246
- end
247
- controllers :bar do
248
- before(:index, '/bar/main') { @test = 'also before' }
249
- get :index do
250
- @test
251
- end
252
- get :main do
253
- @test
254
- end
255
- end
256
- end
257
- get '/foo'
258
- assert_equal 'before', body
259
- get '/bar'
260
- assert_equal 'also before', body
261
- get '/foo/main'
262
- assert_equal 'before', body
263
- get '/bar/main'
264
- assert_equal 'also before', body
265
- end
266
- end