middleman 2.0.7 → 2.0.8

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