middleman-core 3.1.0.rc.2 → 3.1.0.rc.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.simplecov +2 -1
- data/features/capture_html.feature +18 -0
- data/features/content_for.feature +3 -3
- data/features/v4_extension_callbacks.feature +8 -0
- data/fixtures/capture-html-app/config.rb +7 -0
- data/fixtures/capture-html-app/source/capture_html_erb.html.erb +5 -0
- data/fixtures/capture-html-app/source/capture_html_haml.html.haml +4 -0
- data/fixtures/capture-html-app/source/capture_html_slim.html.slim +4 -0
- data/fixtures/capture-html-app/source/layouts/capture_html.erb +4 -0
- data/fixtures/content-for-app/source/content_for_erb.html.erb +1 -1
- data/fixtures/content-for-app/source/content_for_haml.html.haml +1 -1
- data/fixtures/content-for-app/source/content_for_slim.html.slim +2 -1
- data/fixtures/v4-extension-callbacks/config.rb +26 -0
- data/fixtures/v4-extension-callbacks/source/index.html.erb +2 -0
- data/lib/middleman-core/core_extensions/extensions.rb +6 -1
- data/lib/middleman-core/core_extensions/file_watcher.rb +1 -0
- data/lib/middleman-core/core_extensions/rendering.rb +1 -2
- data/lib/middleman-core/core_extensions/request.rb +2 -2
- data/lib/middleman-core/extensions.rb +21 -0
- data/lib/middleman-core/meta_pages/sitemap_resource.rb +4 -1
- data/lib/middleman-core/version.rb +1 -1
- data/lib/middleman-more/core_extensions/default_helpers.rb +17 -3
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/.document +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/.gitignore +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/.yardopts +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/LICENSE.txt +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/README.rdoc +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/Rakefile +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/bin/padrino +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core.rb +58 -4
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/application.rb +40 -16
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/application/flash.rb +229 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/application/rendering.rb +39 -11
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/application/rendering/extensions/erubis.rb +55 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/application/rendering/extensions/haml.rb +26 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/application/rendering/extensions/slim.rb +14 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/application/routing.rb +133 -37
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/application/showexceptions.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/caller.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/cli/adapter.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/cli/base.rb +41 -38
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/cli/console.rb +0 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/cli/rake.rb +47 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/cli/rake_tasks.rb +9 -14
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/command.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/images/404.png +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/images/500.png +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/loader.rb +23 -9
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/cs.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/da.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/de.yml +6 -6
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/en.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/es.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/fr.yml +1 -1
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/hu.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/it.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/ja.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/lv.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/nl.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/no.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/pl.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/pt_br.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/ro.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/ru.yml +1 -1
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/sv.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/tr.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/uk.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/zh_cn.yml +11 -11
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/locale/zh_tw.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/logger.rb +48 -32
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/module.rb +58 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/mounter.rb +15 -5
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/reloader.rb +139 -52
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/router.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/server.rb +5 -5
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/support_lite.rb +59 -6
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/tasks.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/lib/padrino-core/version.rb +1 -1
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/padrino-core.gemspec +10 -5
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/test/fixtures/app_gem/Gemfile +4 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/test/fixtures/app_gem/app/app.rb +3 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/test/fixtures/app_gem/app_gem.gemspec +17 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/test/fixtures/app_gem/lib/app_gem.rb +7 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/test/fixtures/app_gem/lib/app_gem/version.rb +3 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/apps/.components +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/apps/.gitignore +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/apps/complex.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/apps/simple.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/dependencies/a.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/dependencies/b.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/dependencies/c.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/dependencies/circular/e.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/dependencies/circular/f.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/dependencies/circular/g.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/fixtures/dependencies/d.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/helper.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/mini_shoulda.rb +2 -2
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_application.rb +38 -21
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_core.rb +0 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/test/test_csrf_protection.rb +80 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_dependencies.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_filters.rb +70 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/test/test_flash.rb +168 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_locale.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_logger.rb +27 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_mounter.rb +24 -2
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_reloader_complex.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_reloader_simple.rb +4 -4
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_rendering.rb +75 -4
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_restful_routing.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_router.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_routing.rb +209 -35
- data/lib/vendored-middleman-deps/padrino-core-0.11.2/test/test_support_lite.rb +56 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/.document +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/.gitignore +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/.yardopts +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/LICENSE.txt +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/README.rdoc +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/Rakefile +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers.rb +2 -1
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/asset_tag_helpers.rb +58 -66
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/lib/padrino-helpers/breadcrumb_helpers.rb +171 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/form_builder/abstract_form_builder.rb +84 -26
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/form_helpers.rb +94 -19
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/format_helpers.rb +9 -5
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/cs.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/da.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/de.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/en.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/es.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/fr.yml +12 -12
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/hu.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/it.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/ja.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/lv.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/nl.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/no.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/pl.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/pt_br.yml +2 -2
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/ro.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/ru.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/sv.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/tr.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/uk.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/zh_cn.yml +13 -14
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/locale/zh_tw.yml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/number_helpers.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/output_helpers.rb +45 -5
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/output_helpers/erb_handler.rb +3 -3
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/output_helpers/slim_handler.rb +6 -7
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/render_helpers.rb +2 -2
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/tag_helpers.rb +34 -6
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/lib/padrino-helpers/translation_helpers.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/padrino-helpers.gemspec +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/app.rb +13 -6
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/capture_concat.erb +2 -2
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/capture_concat.haml +2 -2
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/capture_concat.slim +4 -5
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/content_for.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/content_for.haml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/content_for.slim +4 -4
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/content_tag.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/content_tag.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/content_tag.slim +9 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/current_engine.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/current_engine.haml +1 -1
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/current_engine.slim +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/fields_for.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/fields_for.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/fields_for.slim +15 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/form_for.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/form_for.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/form_for.slim +59 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/form_tag.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/form_tag.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/form_tag.slim +70 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/link_to.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/link_to.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/link_to.slim +4 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/mail_to.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/mail_to.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/mail_to.slim +3 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/meta_tag.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/meta_tag.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/meta_tag.slim +3 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/partials/_erb.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/partials/_haml.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/partials/_slim.slim +1 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/simple_partial.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/markup_app/views/simple_partial.haml +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/markup_app/views/simple_partial.slim +1 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/app.rb +7 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/current_engine.haml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/current_engines/_erb.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/current_engines/_haml.haml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/current_engines/_slim.slim +0 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/render_app/views/double_capture_erb.erb +3 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/render_app/views/double_capture_haml.haml +2 -0
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/test/fixtures/render_app/views/double_capture_slim.slim +2 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/erb/test.erb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/explicit_engine.haml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/haml/test.haml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/template/_user.haml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/template/haml_template.haml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/fixtures/render_app/views/template/some_template.haml +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/helper.rb +1 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_asset_tag_helpers.rb +24 -5
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_form_builder.rb +41 -1
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_form_helpers.rb +36 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_format_helpers.rb +14 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_locale.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_number_helpers.rb +0 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_output_helpers.rb +5 -3
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_render_helpers.rb +18 -0
- data/lib/vendored-middleman-deps/{padrino-helpers-0.10.7 → padrino-helpers-0.11.2}/test/test_tag_helpers.rb +11 -0
- data/middleman-core.gemspec +1 -1
- metadata +218 -184
- data/lib/vendored-middleman-deps/padrino-core-0.10.7/lib/padrino-core/cli/rake.rb +0 -25
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/content_tag.slim +0 -9
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/fields_for.slim +0 -15
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/form_for.slim +0 -59
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/form_tag.slim +0 -70
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/link_to.slim +0 -4
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/mail_to.slim +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/meta_tag.slim +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.10.7/test/fixtures/markup_app/views/simple_partial.slim +0 -1
- data/spec/middleman-core/sitemap_spec.rb +0 -0
data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_locale.rb
RENAMED
File without changes
|
data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_logger.rb
RENAMED
@@ -152,3 +152,30 @@ describe "alternate logger: stdlib logger" do
|
|
152
152
|
assert_match /\e\[1m200\e\[0m OK/, @log.string
|
153
153
|
end
|
154
154
|
end
|
155
|
+
|
156
|
+
describe "options :colorize_logging" do
|
157
|
+
def access_to_mock_app
|
158
|
+
mock_app do
|
159
|
+
enable :logging
|
160
|
+
get("/"){ "Foo" }
|
161
|
+
end
|
162
|
+
get "/"
|
163
|
+
end
|
164
|
+
context 'default' do
|
165
|
+
should 'use colorize logging' do
|
166
|
+
Padrino::Logger.setup!
|
167
|
+
|
168
|
+
access_to_mock_app
|
169
|
+
assert_match /\e\[1m200\e\[0m OK/, Padrino.logger.log.string
|
170
|
+
end
|
171
|
+
end
|
172
|
+
context 'set value is false' do
|
173
|
+
should 'not use colorize logging' do
|
174
|
+
Padrino::Logger::Config[:test][:colorize_logging] = false
|
175
|
+
Padrino::Logger.setup!
|
176
|
+
|
177
|
+
access_to_mock_app
|
178
|
+
assert_match /200 OK/, Padrino.logger.log.string
|
179
|
+
end
|
180
|
+
end
|
181
|
+
end
|
data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_mounter.rb
RENAMED
@@ -113,11 +113,13 @@ describe "Mounter" do
|
|
113
113
|
class ::OneApp < Padrino::Application
|
114
114
|
get("/test") { "test" }
|
115
115
|
get(:index, :provides => [:js, :json]) { "index" }
|
116
|
+
get(%r{/foo|/baz}) { "regexp" }
|
116
117
|
controllers :posts do
|
117
118
|
get(:index) { "index" }
|
118
119
|
get(:new, :provides => :js) { "new" }
|
119
120
|
get(:show, :provides => [:js, :html], :with => :id) { "show" }
|
120
121
|
post(:create, :provides => :js, :with => :id) { "create" }
|
122
|
+
get(:regexp, :map => %r{/foo|/baz}) { "regexp" }
|
121
123
|
end
|
122
124
|
end
|
123
125
|
class ::TwoApp < Padrino::Application
|
@@ -133,9 +135,9 @@ describe "Mounter" do
|
|
133
135
|
Padrino.mount("one_app").to("/")
|
134
136
|
Padrino.mount("two_app").to("/two_app")
|
135
137
|
|
136
|
-
assert_equal
|
138
|
+
assert_equal 15, Padrino.mounted_apps[0].routes.size
|
137
139
|
assert_equal 7, Padrino.mounted_apps[1].routes.size
|
138
|
-
assert_equal
|
140
|
+
assert_equal 6, Padrino.mounted_apps[0].named_routes.size
|
139
141
|
assert_equal 5, Padrino.mounted_apps[1].named_routes.size
|
140
142
|
|
141
143
|
first_route = Padrino.mounted_apps[0].named_routes[3]
|
@@ -148,6 +150,10 @@ describe "Mounter" do
|
|
148
150
|
assert_equal "(:users, :create)", another_route.name
|
149
151
|
assert_equal "POST", another_route.verb
|
150
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
|
151
157
|
end
|
152
158
|
|
153
159
|
should 'correctly instantiate a new padrino application' do
|
@@ -173,5 +179,21 @@ describe "Mounter" do
|
|
173
179
|
assert res.ok?
|
174
180
|
assert_equal File.read(__FILE__), res.body
|
175
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
|
176
198
|
end
|
177
199
|
end
|
File without changes
|
@@ -78,20 +78,20 @@ describe "SimpleReloader" do
|
|
78
78
|
last_body = body
|
79
79
|
assert_equal 2, @app.filters[:before].size # one is ours the other is default_filter for content type
|
80
80
|
assert_equal 1, @app.errors.size
|
81
|
-
assert_equal
|
81
|
+
assert_equal 2, @app.filters[:after].size # app + content-type + padrino-flash
|
82
82
|
assert_equal 0, @app.middleware.size
|
83
83
|
assert_equal 4, @app.routes.size # GET+HEAD of "/" + GET+HEAD of "/rand" = 4
|
84
|
-
assert_equal
|
84
|
+
assert_equal 3, @app.extensions.size # [Padrino::Routing, Padrino::Rendering, Padrino::Flash]
|
85
85
|
assert_equal 0, @app.templates.size
|
86
86
|
@app.reload!
|
87
87
|
get "/rand"
|
88
88
|
assert_not_equal last_body, body
|
89
89
|
assert_equal 2, @app.filters[:before].size # one is ours the other is default_filter for content type
|
90
90
|
assert_equal 1, @app.errors.size
|
91
|
-
assert_equal
|
91
|
+
assert_equal 2, @app.filters[:after].size
|
92
92
|
assert_equal 0, @app.middleware.size
|
93
93
|
assert_equal 4, @app.routes.size # GET+HEAD of "/" = 2
|
94
|
-
assert_equal
|
94
|
+
assert_equal 3, @app.extensions.size # [Padrino::Routing, Padrino::Rendering, Padrino::Flash]
|
95
95
|
assert_equal 0, @app.templates.size
|
96
96
|
end
|
97
97
|
end
|
data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_rendering.rb
RENAMED
@@ -1,5 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
2
|
require 'i18n'
|
3
|
+
require 'slim'
|
3
4
|
|
4
5
|
describe "Rendering" do
|
5
6
|
def setup
|
@@ -28,7 +29,7 @@ describe "Rendering" do
|
|
28
29
|
"this is a <%= yield %>"
|
29
30
|
end
|
30
31
|
|
31
|
-
get("/"){ render :erb, "sinatra layout" }
|
32
|
+
get("/"){ render :erb, "sinatra layout", :layout => true }
|
32
33
|
end
|
33
34
|
|
34
35
|
get "/"
|
@@ -137,6 +138,7 @@ describe "Rendering" do
|
|
137
138
|
should 'use correct layout with each controller' do
|
138
139
|
create_layout :foo, "foo layout at <%= yield %>"
|
139
140
|
create_layout :bar, "bar layout at <%= yield %>"
|
141
|
+
create_layout :baz, "baz layout at <%= yield %>"
|
140
142
|
create_layout :application, "default layout at <%= yield %>"
|
141
143
|
mock_app do
|
142
144
|
get("/"){ render :erb, "application" }
|
@@ -148,6 +150,10 @@ describe "Rendering" do
|
|
148
150
|
layout :bar
|
149
151
|
get("/"){ render :erb, "bar" }
|
150
152
|
end
|
153
|
+
controller :baz do
|
154
|
+
layout :baz
|
155
|
+
get("/"){ render :erb, "baz", :layout => true }
|
156
|
+
end
|
151
157
|
controller :none do
|
152
158
|
get("/") { render :erb, "none" }
|
153
159
|
get("/with_foo_layout") { render :erb, "none with layout", :layout => :foo }
|
@@ -157,6 +163,8 @@ describe "Rendering" do
|
|
157
163
|
assert_equal "foo layout at foo", body
|
158
164
|
get "/bar"
|
159
165
|
assert_equal "bar layout at bar", body
|
166
|
+
get "/baz"
|
167
|
+
assert_equal "baz layout at baz", body
|
160
168
|
get "/none"
|
161
169
|
assert_equal "default layout at none", body
|
162
170
|
get "/none/with_foo_layout"
|
@@ -207,7 +215,7 @@ describe "Rendering" do
|
|
207
215
|
create_view :index, "<%= foo %>"
|
208
216
|
mock_app do
|
209
217
|
enable :logging
|
210
|
-
get("/") { render "index", { :layout =>
|
218
|
+
get("/") { render "index", { :layout => nil }, { :foo => "bar" } }
|
211
219
|
end
|
212
220
|
get "/"
|
213
221
|
assert_equal "bar", body
|
@@ -396,7 +404,7 @@ describe "Rendering" do
|
|
396
404
|
assert_equal "Im Italian Js", body
|
397
405
|
I18n.locale = :en
|
398
406
|
get "/foo.pk"
|
399
|
-
assert_equal
|
407
|
+
assert_equal 404, status
|
400
408
|
end
|
401
409
|
|
402
410
|
should 'resolve template content_type and locale with layout' do
|
@@ -438,7 +446,7 @@ describe "Rendering" do
|
|
438
446
|
get "/bar.json"
|
439
447
|
assert_equal "Im a json", body
|
440
448
|
get "/bar.pk"
|
441
|
-
assert_equal
|
449
|
+
assert_equal 404, status
|
442
450
|
end
|
443
451
|
|
444
452
|
should 'renders erb with blocks' do
|
@@ -457,5 +465,68 @@ describe "Rendering" do
|
|
457
465
|
assert ok?
|
458
466
|
assert_equal 'THIS. IS. SPARTA!', body
|
459
467
|
end
|
468
|
+
|
469
|
+
should 'render erb to a SafeBuffer' do
|
470
|
+
mock_app do
|
471
|
+
layout do
|
472
|
+
"this is a <%= yield %>"
|
473
|
+
end
|
474
|
+
get '/' do
|
475
|
+
render :erb, '<p><%= %q{<script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script>} %></p>', :layout => false
|
476
|
+
end
|
477
|
+
get '/with_layout' do
|
478
|
+
render :erb, '<span>span</span>', :layout => true
|
479
|
+
end
|
480
|
+
end
|
481
|
+
get '/'
|
482
|
+
assert ok?
|
483
|
+
assert_equal '<p><script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script></p>', body
|
484
|
+
|
485
|
+
get '/with_layout'
|
486
|
+
assert ok?
|
487
|
+
assert_equal 'this is a <span>span</span>', body
|
488
|
+
end
|
489
|
+
|
490
|
+
should 'render haml to a SafeBuffer' do
|
491
|
+
mock_app do
|
492
|
+
layout do
|
493
|
+
"%p= yield"
|
494
|
+
end
|
495
|
+
get '/' do
|
496
|
+
render :haml, '%p= %s{<script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script>}', :layout => false
|
497
|
+
end
|
498
|
+
get '/with_layout' do
|
499
|
+
render :haml, "%div\n foo", :layout => true
|
500
|
+
end
|
501
|
+
end
|
502
|
+
get '/'
|
503
|
+
assert ok?
|
504
|
+
assert_equal '<p><script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script></p>', body.strip
|
505
|
+
|
506
|
+
get 'with_layout'
|
507
|
+
assert ok?
|
508
|
+
assert_equal '<p><div>foo</div></p>', body.gsub(/\s+/, "")
|
509
|
+
end
|
510
|
+
|
511
|
+
should 'render slim to a SafeBuffer' do
|
512
|
+
mock_app do
|
513
|
+
layout do
|
514
|
+
"p= yield"
|
515
|
+
end
|
516
|
+
get '/' do
|
517
|
+
render :slim, 'p = %q{<script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script>}', :layout => false
|
518
|
+
end
|
519
|
+
get "/with_layout" do
|
520
|
+
render :slim, 'div foo', :layout => true
|
521
|
+
end
|
522
|
+
end
|
523
|
+
get '/'
|
524
|
+
assert ok?
|
525
|
+
assert_equal '<p><script lang="ronin">alert("https://github.com/ronin-ruby/ronin")</script></p>', body.strip
|
526
|
+
|
527
|
+
get '/with_layout'
|
528
|
+
assert ok?
|
529
|
+
assert_equal '<p><div>foo</div></p>', body.strip
|
530
|
+
end
|
460
531
|
end
|
461
532
|
end
|
File without changes
|
data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_router.rb
RENAMED
File without changes
|
data/lib/vendored-middleman-deps/{padrino-core-0.10.7 → padrino-core-0.11.2}/test/test_routing.rb
RENAMED
@@ -1,3 +1,4 @@
|
|
1
|
+
#encoding: utf-8
|
1
2
|
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
3
|
|
3
4
|
class FooError < RuntimeError; end
|
@@ -57,12 +58,12 @@ describe "Routing" do
|
|
57
58
|
|
58
59
|
should 'accept regexp routes' do
|
59
60
|
mock_app do
|
60
|
-
get(%r
|
61
|
+
get(%r./fob|/baz.) { "regexp" }
|
61
62
|
get("/foo") { "str" }
|
62
|
-
get %r
|
63
|
-
|
63
|
+
get %r./([0-9]+)/. do |num|
|
64
|
+
"Your lucky number: #{num} #{params[:captures].first}"
|
64
65
|
end
|
65
|
-
get
|
66
|
+
get %r./page/([0-9]+)|/. do |num|
|
66
67
|
"My lucky number: #{num} #{params[:captures].first}"
|
67
68
|
end
|
68
69
|
end
|
@@ -72,8 +73,8 @@ describe "Routing" do
|
|
72
73
|
assert_equal "regexp", body
|
73
74
|
get "/baz"
|
74
75
|
assert_equal "regexp", body
|
75
|
-
get "/
|
76
|
-
assert_equal "Your lucky number:
|
76
|
+
get "/321/"
|
77
|
+
assert_equal "Your lucky number: 321 321", body
|
77
78
|
get "/page/99"
|
78
79
|
assert_equal "My lucky number: 99 99", body
|
79
80
|
end
|
@@ -100,6 +101,24 @@ describe "Routing" do
|
|
100
101
|
assert_equal "no access", body
|
101
102
|
end
|
102
103
|
|
104
|
+
should 'parse routes that are encoded' do
|
105
|
+
mock_app do
|
106
|
+
get('/щч') { 'success!' }
|
107
|
+
end
|
108
|
+
get(URI.escape('/щч'))
|
109
|
+
assert_equal 'success!', body
|
110
|
+
end
|
111
|
+
|
112
|
+
should 'encode params using UTF-8' do
|
113
|
+
skip unless ''.respond_to?(:encoding) # for 1.8.7
|
114
|
+
|
115
|
+
mock_app do
|
116
|
+
get('/:foo') { params[:foo].encoding.name }
|
117
|
+
end
|
118
|
+
get '/bar'
|
119
|
+
assert_equal 'UTF-8', body
|
120
|
+
end
|
121
|
+
|
103
122
|
should 'match correctly similar paths' do
|
104
123
|
mock_app do
|
105
124
|
get("/my/:foo_id"){ params[:foo_id] }
|
@@ -138,9 +157,9 @@ describe "Routing" do
|
|
138
157
|
post("/main"){ "hello" }
|
139
158
|
end
|
140
159
|
assert_equal 3, app.routes.size, "should generate GET, HEAD and PUT"
|
141
|
-
assert_equal
|
142
|
-
assert_equal
|
143
|
-
assert_equal
|
160
|
+
assert_equal "GET", app.routes[0].request_methods.first
|
161
|
+
assert_equal "HEAD", app.routes[1].request_methods.first
|
162
|
+
assert_equal "POST", app.routes[2].request_methods.first
|
144
163
|
end
|
145
164
|
|
146
165
|
should 'generate basic urls' do
|
@@ -192,13 +211,13 @@ describe "Routing" do
|
|
192
211
|
get "/b.js"
|
193
212
|
assert_equal "/b.js", body
|
194
213
|
get "/b.ru"
|
195
|
-
assert_equal
|
214
|
+
assert_equal 404, status
|
196
215
|
get "/c.js"
|
197
216
|
assert_equal "/c.json", body
|
198
217
|
get "/c.json"
|
199
218
|
assert_equal "/c.json", body
|
200
219
|
get "/c.ru"
|
201
|
-
assert_equal
|
220
|
+
assert_equal 404, status
|
202
221
|
get "/d"
|
203
222
|
assert_equal "/d.js?foo=bar", body
|
204
223
|
get "/d.js"
|
@@ -207,6 +226,14 @@ describe "Routing" do
|
|
207
226
|
assert_equal 404, status
|
208
227
|
end
|
209
228
|
|
229
|
+
should 'allow regex url with format' do
|
230
|
+
mock_app do
|
231
|
+
get(/.*/, :provides => :any) { "regexp" }
|
232
|
+
end
|
233
|
+
get "/anything"
|
234
|
+
assert_equal "regexp", body
|
235
|
+
end
|
236
|
+
|
210
237
|
should 'use padrino url method' do
|
211
238
|
mock_app do
|
212
239
|
end
|
@@ -255,7 +282,7 @@ describe "Routing" do
|
|
255
282
|
end
|
256
283
|
|
257
284
|
get "/a.xml", {}, {}
|
258
|
-
assert_equal
|
285
|
+
assert_equal 404, status
|
259
286
|
end
|
260
287
|
|
261
288
|
should "not set content_type to :html if Accept */* and html not in provides" do
|
@@ -276,15 +303,6 @@ describe "Routing" do
|
|
276
303
|
assert_equal 'json', body
|
277
304
|
end
|
278
305
|
|
279
|
-
should "set content_type to :json if render => :json" do
|
280
|
-
mock_app do
|
281
|
-
get("/foo"){ render :foo => :bar }
|
282
|
-
end
|
283
|
-
|
284
|
-
get '/foo'
|
285
|
-
assert_equal 'application/json;charset=utf-8', content_type
|
286
|
-
end
|
287
|
-
|
288
306
|
should 'set and get content_type' do
|
289
307
|
mock_app do
|
290
308
|
get("/foo"){ content_type(:json); content_type.to_s }
|
@@ -303,6 +321,7 @@ describe "Routing" do
|
|
303
321
|
end
|
304
322
|
|
305
323
|
should "allow .'s in param values" do
|
324
|
+
skip
|
306
325
|
mock_app do
|
307
326
|
get('/id/:email', :provides => [:json]) { |email, format| [email, format] * '/' }
|
308
327
|
end
|
@@ -343,7 +362,7 @@ describe "Routing" do
|
|
343
362
|
end
|
344
363
|
|
345
364
|
get "/a.xml", {}, {"HTTP_ACCEPT" => "text/html"}
|
346
|
-
assert_equal
|
365
|
+
assert_equal 404, status
|
347
366
|
end
|
348
367
|
|
349
368
|
should "generate routes for format simple" do
|
@@ -371,20 +390,32 @@ describe "Routing" do
|
|
371
390
|
assert_equal "mini", body
|
372
391
|
end
|
373
392
|
|
374
|
-
should "
|
393
|
+
should "should inject the action name into the request" do
|
375
394
|
mock_app do
|
376
|
-
|
377
|
-
|
378
|
-
|
395
|
+
controller :posts do
|
396
|
+
get('/omnomnom(/:id)') { request.action.inspect }
|
397
|
+
controller :mini do
|
398
|
+
get([:a, :b, :c]) { request.action.inspect }
|
399
|
+
end
|
379
400
|
end
|
401
|
+
end
|
402
|
+
get "/posts/omnomnom"
|
403
|
+
assert_equal "\"/omnomnom(/:id)\"", body
|
404
|
+
get "/mini/a/b/c"
|
405
|
+
assert_equal ":a", body
|
406
|
+
end
|
407
|
+
|
408
|
+
should "support not_found" do
|
409
|
+
mock_app do
|
410
|
+
not_found { 'whatever' }
|
380
411
|
|
381
412
|
get :index, :map => "/" do
|
382
413
|
'index'
|
383
414
|
end
|
384
415
|
end
|
385
|
-
get '/
|
386
|
-
assert_equal 'whatever', body
|
416
|
+
get '/wrong'
|
387
417
|
assert_equal 404, status
|
418
|
+
assert_equal 'whatever', body
|
388
419
|
get '/'
|
389
420
|
assert_equal 'index', body
|
390
421
|
assert_equal 200, status
|
@@ -393,7 +424,7 @@ describe "Routing" do
|
|
393
424
|
should "should inject the route into the request" do
|
394
425
|
mock_app do
|
395
426
|
controller :posts do
|
396
|
-
get(:index) { request.route_obj.
|
427
|
+
get(:index) { request.route_obj.name.to_s }
|
397
428
|
end
|
398
429
|
end
|
399
430
|
get "/posts"
|
@@ -741,7 +772,27 @@ describe "Routing" do
|
|
741
772
|
assert_equal 404, status
|
742
773
|
end
|
743
774
|
|
775
|
+
should "match params and format" do
|
776
|
+
app = mock_app do
|
777
|
+
get '/:id', :provides => [:json, :html] do |id, _|
|
778
|
+
id
|
779
|
+
end
|
780
|
+
|
781
|
+
get 'format/:id', :provides => [:json, :html] do |id, format|
|
782
|
+
format
|
783
|
+
end
|
784
|
+
end
|
785
|
+
|
786
|
+
get '/123.html'
|
787
|
+
assert_equal '123', body
|
788
|
+
|
789
|
+
get 'format/123.html'
|
790
|
+
assert_equal 'html', body
|
791
|
+
end
|
792
|
+
|
793
|
+
|
744
794
|
should 'respect priorities' do
|
795
|
+
skip
|
745
796
|
route_order = []
|
746
797
|
mock_app do
|
747
798
|
get(:index, :priority => :normal) { route_order << :normal; pass }
|
@@ -815,6 +866,55 @@ describe "Routing" do
|
|
815
866
|
assert_equal "show 3 1 2", body
|
816
867
|
end
|
817
868
|
|
869
|
+
should "respect parent precedence: controllers parents go before route parents" do
|
870
|
+
mock_app do
|
871
|
+
controllers :project do
|
872
|
+
get(:index, :parent => :user) { "index #{params[:user_id]}" }
|
873
|
+
end
|
874
|
+
|
875
|
+
controllers :bar, :parent => :foo do
|
876
|
+
get(:index) { "index on foo #{params[:foo_id]} @ bar" }
|
877
|
+
get(:index, :parent => :baz) { "index on foo #{params[:foo_id]} @ baz #{params[:baz_id]} @ bar" }
|
878
|
+
end
|
879
|
+
end
|
880
|
+
|
881
|
+
get "/user/1/project"
|
882
|
+
assert_equal "index 1", body
|
883
|
+
get "/foo/1/bar"
|
884
|
+
assert_equal "index on foo 1 @ bar", body
|
885
|
+
get "/foo/1/baz/2/bar"
|
886
|
+
assert_equal "index on foo 1 @ baz 2 @ bar", body
|
887
|
+
end
|
888
|
+
|
889
|
+
should "keep a reference to the parent on the route" do
|
890
|
+
mock_app do
|
891
|
+
controllers :project do
|
892
|
+
get(:index, :parent => :user) { "index #{params[:user_id]}" }
|
893
|
+
get(:index, :parent => [:user, :section]) { "index #{params[:user_id]} #{params[:section_id]}" }
|
894
|
+
get(:edit, :with => :id, :parent => :user) { "edit #{params[:id]} #{params[:user_id]}"}
|
895
|
+
get(:show, :with => :id, :parent => [:user, :product]) { "show #{params[:id]} #{params[:user_id]} #{params[:product_id]}"}
|
896
|
+
end
|
897
|
+
|
898
|
+
controllers :bar, :parent => :foo do
|
899
|
+
get(:index) { "index on foo/bar" }
|
900
|
+
get(:index, :parent => :baz) { "index on foo/baz/bar" }
|
901
|
+
end
|
902
|
+
end
|
903
|
+
|
904
|
+
# get "/user/1/project"
|
905
|
+
assert_equal :user, @app.routes[0].parent
|
906
|
+
# get "/user/1/section/3/project"
|
907
|
+
assert_equal [:user, :section], @app.routes[2].parent
|
908
|
+
# get "/user/1/project/edit/2"
|
909
|
+
assert_equal :user, @app.routes[4].parent
|
910
|
+
# get "/user/1/product/2/project/show/3"
|
911
|
+
assert_equal [:user, :product], @app.routes[6].parent
|
912
|
+
# get "/foo/1/bar"
|
913
|
+
assert_equal :foo, @app.routes[8].parent
|
914
|
+
# get "/foo/1/baz/2/bar"
|
915
|
+
assert_equal [:foo, :baz], @app.routes[10].parent
|
916
|
+
end
|
917
|
+
|
818
918
|
should "apply parent to controller" do
|
819
919
|
mock_app do
|
820
920
|
controller :project, :parent => :user do
|
@@ -1041,6 +1141,24 @@ describe "Routing" do
|
|
1041
1141
|
assert_equal 'js', body
|
1042
1142
|
end
|
1043
1143
|
|
1144
|
+
should "set content_type to :html if Accept */* and provides of :any" do
|
1145
|
+
mock_app do
|
1146
|
+
get("/foo", :provides => :any) { content_type.to_s }
|
1147
|
+
end
|
1148
|
+
|
1149
|
+
get '/foo', {}, { 'HTTP_ACCEPT' => '*/*' }
|
1150
|
+
assert_equal 'html', body
|
1151
|
+
end
|
1152
|
+
|
1153
|
+
should "set content_type to :js if Accept includes both application/javascript, */*;q=0.5 and provides of :any" do
|
1154
|
+
mock_app do
|
1155
|
+
get("/foo", :provides => :any) { content_type.to_s }
|
1156
|
+
end
|
1157
|
+
|
1158
|
+
get '/foo', {}, { 'HTTP_ACCEPT' => 'application/javascript, */*;q=0.5' }
|
1159
|
+
assert_equal 'js', body
|
1160
|
+
end
|
1161
|
+
|
1044
1162
|
should 'allows custom route-conditions to be set via route options and halt' do
|
1045
1163
|
protector = Module.new do
|
1046
1164
|
def protect(*args)
|
@@ -1323,11 +1441,11 @@ describe "Routing" do
|
|
1323
1441
|
get "/.json"
|
1324
1442
|
assert_equal "This is the get index.json", body
|
1325
1443
|
get "/.js"
|
1326
|
-
assert_equal
|
1444
|
+
assert_equal 404, status
|
1327
1445
|
post "/.json"
|
1328
1446
|
assert_equal "This is the post index.json", body
|
1329
1447
|
post "/.js"
|
1330
|
-
assert_equal
|
1448
|
+
assert_equal 404, status
|
1331
1449
|
end
|
1332
1450
|
|
1333
1451
|
should "allow controller level mapping" do
|
@@ -1349,6 +1467,33 @@ describe "Routing" do
|
|
1349
1467
|
assert_equal "1, 2", body
|
1350
1468
|
end
|
1351
1469
|
|
1470
|
+
should "replace name of named controller with mapping path" do
|
1471
|
+
mock_app do
|
1472
|
+
controller :ugly, :map => "/pretty/:id" do
|
1473
|
+
get(:url3) { "#{params[:id]}" }
|
1474
|
+
get(:url4, :map => 'test-:id2') { "#{params[:id]}, #{params[:id2]}" }
|
1475
|
+
end
|
1476
|
+
controller :voldemort, :map => "" do
|
1477
|
+
get(:url5) { "okay" }
|
1478
|
+
end
|
1479
|
+
end
|
1480
|
+
|
1481
|
+
url = @app.url(:ugly, :url3, :id => 1)
|
1482
|
+
assert_equal "/pretty/1/url3", url
|
1483
|
+
get url
|
1484
|
+
assert_equal "1", body
|
1485
|
+
|
1486
|
+
url = @app.url(:ugly, :url4, 3, 5)
|
1487
|
+
assert_equal "/pretty/3/test-5", url
|
1488
|
+
get url
|
1489
|
+
assert_equal "3, 5", body
|
1490
|
+
|
1491
|
+
url = @app.url(:voldemort, :url5)
|
1492
|
+
assert_equal "/url5", url
|
1493
|
+
get url
|
1494
|
+
assert_equal 'okay', body
|
1495
|
+
end
|
1496
|
+
|
1352
1497
|
should 'use absolute and relative maps' do
|
1353
1498
|
mock_app do
|
1354
1499
|
controller :one do
|
@@ -1544,8 +1689,8 @@ describe "Routing" do
|
|
1544
1689
|
end
|
1545
1690
|
|
1546
1691
|
should "have overideable format" do
|
1692
|
+
::Rack::Mime::MIME_TYPES[".other"] = "text/html"
|
1547
1693
|
mock_app do
|
1548
|
-
::Rack::Mime::MIME_TYPES[".other"] = "text/html"
|
1549
1694
|
before do
|
1550
1695
|
params[:format] ||= :other
|
1551
1696
|
end
|
@@ -1553,6 +1698,7 @@ describe "Routing" do
|
|
1553
1698
|
end
|
1554
1699
|
get "/format_test"
|
1555
1700
|
assert_equal "other", body
|
1701
|
+
::Rack::Mime::MIME_TYPES.delete('.other')
|
1556
1702
|
end
|
1557
1703
|
|
1558
1704
|
should 'invokes handlers registered with ::error when raised' do
|
@@ -1626,13 +1772,33 @@ describe "Routing" do
|
|
1626
1772
|
assert_match /not found/, body
|
1627
1773
|
end
|
1628
1774
|
|
1629
|
-
should 'render a custom 404 page' do
|
1775
|
+
should 'render a custom 404 page using not_found' do
|
1630
1776
|
mock_app do
|
1631
|
-
|
1777
|
+
not_found { "custom 404 not found" }
|
1632
1778
|
end
|
1633
1779
|
get "/"
|
1634
1780
|
assert_equal 404, status
|
1635
|
-
|
1781
|
+
assert_equal "custom 404 not found", body
|
1782
|
+
end
|
1783
|
+
|
1784
|
+
should 'render a custom error page using error method' do
|
1785
|
+
skip
|
1786
|
+
mock_app do
|
1787
|
+
error(404) { "custom 404 error" }
|
1788
|
+
end
|
1789
|
+
get "/"
|
1790
|
+
assert_equal 404, status
|
1791
|
+
assert_equal "custom 404 error", body
|
1792
|
+
end
|
1793
|
+
|
1794
|
+
should 'render a custom 403 page' do
|
1795
|
+
mock_app do
|
1796
|
+
error(403) { "custom 403 not found" }
|
1797
|
+
get("/") { status 403 }
|
1798
|
+
end
|
1799
|
+
get "/"
|
1800
|
+
assert_equal 403, status
|
1801
|
+
assert_equal "custom 403 not found", body
|
1636
1802
|
end
|
1637
1803
|
|
1638
1804
|
should 'recognize paths' do
|
@@ -1692,4 +1858,12 @@ describe "Routing" do
|
|
1692
1858
|
get @app.url(:index, :page => 10)
|
1693
1859
|
assert_equal "/paginate/66", body
|
1694
1860
|
end
|
1861
|
+
|
1862
|
+
should 'not route get :users, :with => :id to /users//' do
|
1863
|
+
mock_app do
|
1864
|
+
get(:users, :with => :id) { 'boo' }
|
1865
|
+
end
|
1866
|
+
get '/users//'
|
1867
|
+
assert_equal 404, status
|
1868
|
+
end
|
1695
1869
|
end
|