thorero 0.9.4.4 → 0.9.4.5
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.
- data/LICENSE +1 -1
- data/README +21 -0
- data/Rakefile +275 -108
- data/TODO +0 -0
- data/bin/merb +12 -0
- data/bin/merb-specs +5 -0
- data/docs/bootloading.dox +58 -0
- data/docs/documentation_standards +40 -0
- data/docs/merb-core-call-stack-diagram.mmap +0 -0
- data/docs/merb-core-call-stack-diagram.pdf +0 -0
- data/docs/merb-core-call-stack-diagram.png +0 -0
- data/docs/new_render_api +51 -0
- data/lib/merb-core.rb +603 -0
- data/lib/merb-core/autoload.rb +32 -0
- data/lib/merb-core/bootloader.rb +708 -0
- data/lib/merb-core/config.rb +303 -0
- data/lib/merb-core/constants.rb +43 -0
- data/lib/merb-core/controller/abstract_controller.rb +578 -0
- data/lib/merb-core/controller/exceptions.rb +302 -0
- data/lib/merb-core/controller/merb_controller.rb +256 -0
- data/lib/merb-core/controller/mime.rb +106 -0
- data/lib/merb-core/controller/mixins/authentication.rb +87 -0
- data/lib/merb-core/controller/mixins/controller.rb +290 -0
- data/lib/merb-core/controller/mixins/render.rb +481 -0
- data/lib/merb-core/controller/mixins/responder.rb +472 -0
- data/lib/merb-core/controller/template.rb +254 -0
- data/lib/merb-core/core_ext.rb +8 -0
- data/lib/merb-core/core_ext/kernel.rb +319 -0
- data/lib/merb-core/dispatch/cookies.rb +91 -0
- data/lib/merb-core/dispatch/dispatcher.rb +278 -0
- data/lib/merb-core/dispatch/exceptions.html.erb +303 -0
- data/lib/merb-core/dispatch/request.rb +603 -0
- data/lib/merb-core/dispatch/router.rb +179 -0
- data/lib/merb-core/dispatch/router/behavior.rb +867 -0
- data/lib/merb-core/dispatch/router/cached_proc.rb +52 -0
- data/lib/merb-core/dispatch/router/route.rb +321 -0
- data/lib/merb-core/dispatch/session.rb +78 -0
- data/lib/merb-core/dispatch/session/cookie.rb +168 -0
- data/lib/merb-core/dispatch/session/memcached.rb +184 -0
- data/lib/merb-core/dispatch/session/memory.rb +241 -0
- data/lib/merb-core/dispatch/worker.rb +28 -0
- data/lib/merb-core/gem_ext/erubis.rb +77 -0
- data/lib/{extlib → merb-core}/logger.rb +2 -2
- data/lib/merb-core/plugins.rb +59 -0
- data/lib/merb-core/rack.rb +21 -0
- data/lib/merb-core/rack/adapter.rb +44 -0
- data/lib/merb-core/rack/adapter/ebb.rb +25 -0
- data/lib/merb-core/rack/adapter/evented_mongrel.rb +26 -0
- data/lib/merb-core/rack/adapter/fcgi.rb +17 -0
- data/lib/merb-core/rack/adapter/irb.rb +118 -0
- data/lib/merb-core/rack/adapter/mongrel.rb +26 -0
- data/lib/merb-core/rack/adapter/runner.rb +28 -0
- data/lib/merb-core/rack/adapter/swiftiplied_mongrel.rb +26 -0
- data/lib/merb-core/rack/adapter/thin.rb +39 -0
- data/lib/merb-core/rack/adapter/thin_turbo.rb +24 -0
- data/lib/merb-core/rack/adapter/webrick.rb +36 -0
- data/lib/merb-core/rack/application.rb +18 -0
- data/lib/merb-core/rack/handler/mongrel.rb +97 -0
- data/lib/merb-core/rack/middleware.rb +26 -0
- data/lib/merb-core/rack/middleware/path_prefix.rb +31 -0
- data/lib/merb-core/rack/middleware/profiler.rb +19 -0
- data/lib/merb-core/rack/middleware/static.rb +45 -0
- data/lib/merb-core/server.rb +252 -0
- data/lib/merb-core/tasks/audit.rake +68 -0
- data/lib/merb-core/tasks/merb.rb +1 -0
- data/lib/merb-core/tasks/merb_rake_helper.rb +12 -0
- data/lib/merb-core/test.rb +11 -0
- data/lib/merb-core/test/helpers.rb +9 -0
- data/lib/merb-core/test/helpers/controller_helper.rb +8 -0
- data/lib/merb-core/test/helpers/multipart_request_helper.rb +175 -0
- data/lib/merb-core/test/helpers/request_helper.rb +344 -0
- data/lib/merb-core/test/helpers/route_helper.rb +33 -0
- data/lib/merb-core/test/helpers/view_helper.rb +121 -0
- data/lib/merb-core/test/matchers.rb +9 -0
- data/lib/merb-core/test/matchers/controller_matchers.rb +319 -0
- data/lib/merb-core/test/matchers/route_matchers.rb +136 -0
- data/lib/merb-core/test/matchers/view_matchers.rb +335 -0
- data/lib/merb-core/test/run_specs.rb +47 -0
- data/lib/merb-core/test/tasks/spectasks.rb +68 -0
- data/lib/merb-core/test/test_ext/hpricot.rb +32 -0
- data/lib/merb-core/test/test_ext/object.rb +14 -0
- data/lib/merb-core/test/test_ext/string.rb +14 -0
- data/lib/merb-core/vendor/facets.rb +2 -0
- data/lib/merb-core/vendor/facets/dictionary.rb +433 -0
- data/lib/merb-core/vendor/facets/inflect.rb +345 -0
- data/lib/merb-core/version.rb +11 -0
- data/spec/private/config/adapter_spec.rb +32 -0
- data/spec/private/config/config_spec.rb +202 -0
- data/spec/private/config/environment_spec.rb +13 -0
- data/spec/private/config/spec_helper.rb +1 -0
- data/spec/private/core_ext/kernel_spec.rb +169 -0
- data/spec/private/dispatch/bootloader_spec.rb +24 -0
- data/spec/private/dispatch/cookies_spec.rb +107 -0
- data/spec/private/dispatch/dispatch_spec.rb +35 -0
- data/spec/private/dispatch/fixture/app/controllers/application.rb +4 -0
- data/spec/private/dispatch/fixture/app/controllers/exceptions.rb +27 -0
- data/spec/private/dispatch/fixture/app/controllers/foo.rb +21 -0
- data/spec/private/dispatch/fixture/app/helpers/global_helpers.rb +8 -0
- data/spec/private/dispatch/fixture/app/views/exeptions/client_error.html.erb +37 -0
- data/spec/private/dispatch/fixture/app/views/exeptions/internal_server_error.html.erb +216 -0
- data/spec/private/dispatch/fixture/app/views/exeptions/not_acceptable.html.erb +38 -0
- data/spec/private/dispatch/fixture/app/views/exeptions/not_found.html.erb +40 -0
- data/spec/private/dispatch/fixture/app/views/foo/bar.html.erb +0 -0
- data/spec/private/dispatch/fixture/app/views/layout/application.html.erb +11 -0
- data/spec/private/dispatch/fixture/config/black_hole.rb +12 -0
- data/spec/private/dispatch/fixture/config/environments/development.rb +6 -0
- data/spec/private/dispatch/fixture/config/environments/production.rb +5 -0
- data/spec/private/dispatch/fixture/config/environments/test.rb +6 -0
- data/spec/private/dispatch/fixture/config/init.rb +45 -0
- data/spec/private/dispatch/fixture/config/rack.rb +11 -0
- data/spec/private/dispatch/fixture/config/router.rb +35 -0
- data/spec/private/dispatch/fixture/log/merb_test.log +1874 -0
- data/spec/private/dispatch/fixture/public/images/merb.jpg +0 -0
- data/spec/private/dispatch/fixture/public/merb.fcgi +4 -0
- data/spec/private/dispatch/fixture/public/stylesheets/master.css +119 -0
- data/spec/private/dispatch/route_params_spec.rb +24 -0
- data/spec/private/dispatch/session_mixin_spec.rb +47 -0
- data/spec/private/dispatch/spec_helper.rb +1 -0
- data/spec/private/plugins/plugin_spec.rb +166 -0
- data/spec/private/rack/application_spec.rb +49 -0
- data/spec/private/router/behavior_spec.rb +60 -0
- data/spec/private/router/fixture/log/merb_test.log +139 -0
- data/spec/private/router/route_spec.rb +414 -0
- data/spec/private/router/router_spec.rb +175 -0
- data/spec/private/vendor/facets/plural_spec.rb +564 -0
- data/spec/private/vendor/facets/singular_spec.rb +489 -0
- data/spec/public/DEFINITIONS +11 -0
- data/spec/public/abstract_controller/controllers/alt_views/layout/application.erb +1 -0
- data/spec/public/abstract_controller/controllers/alt_views/layout/merb/test/fixtures/abstract/render_string_controller_layout.erb +1 -0
- data/spec/public/abstract_controller/controllers/alt_views/layout/merb/test/fixtures/abstract/render_template_controller_layout.erb +1 -0
- data/spec/public/abstract_controller/controllers/alt_views/merb/test/fixtures/abstract/display_object_with_multiple_roots/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/alt_views/merb/test/fixtures/abstract/display_object_with_multiple_roots/show.erb +1 -0
- data/spec/public/abstract_controller/controllers/alt_views/merb/test/fixtures/abstract/render_template_multiple_roots/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/alt_views/partial/basic_partial_with_multiple_roots/_partial.erb +1 -0
- data/spec/public/abstract_controller/controllers/alt_views/render_template_multiple_roots_and_custom_location/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/alt_views/render_template_multiple_roots_inherited/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/cousins.rb +41 -0
- data/spec/public/abstract_controller/controllers/display.rb +54 -0
- data/spec/public/abstract_controller/controllers/filters.rb +193 -0
- data/spec/public/abstract_controller/controllers/helpers.rb +41 -0
- data/spec/public/abstract_controller/controllers/partial.rb +121 -0
- data/spec/public/abstract_controller/controllers/render.rb +113 -0
- data/spec/public/abstract_controller/controllers/views/helpers/capture/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/helpers/capture_eq/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/helpers/capture_with_args/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/helpers/concat/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/layout/alt.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/layout/custom.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/display_object/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/display_object_with_action/new.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_template/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_template_app_layout/index.erb +0 -0
- data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_template_custom_layout/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_template_multiple_roots/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_template_multiple_roots/show.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_two_throw_contents/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/another_directory/_partial.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/basic_partial/_partial.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/basic_partial/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/basic_partial_with_multiple_roots/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/nested_partial/_first.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/nested_partial/_second.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/nested_partial/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_in_another_directory/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_both/_collection.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_both/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_collections/_collection.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_collections/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_as/_collection.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_as/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_counter/_collection.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_counter/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_locals/_variables.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_locals/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_with_and_locals/_both.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/partial_with_with_and_locals/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/with_absolute_partial/_partial.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/with_absolute_partial/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/with_as_partial/_with_partial.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/with_as_partial/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/with_nil_partial/_with_partial.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/with_nil_partial/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/with_partial/_with_partial.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/partial/with_partial/index.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/test_display/foo.html.erb +1 -0
- data/spec/public/abstract_controller/controllers/views/test_render/foo.html.erb +0 -0
- data/spec/public/abstract_controller/controllers/views/wonderful/index.erb +1 -0
- data/spec/public/abstract_controller/display_spec.rb +33 -0
- data/spec/public/abstract_controller/filter_spec.rb +106 -0
- data/spec/public/abstract_controller/helper_spec.rb +21 -0
- data/spec/public/abstract_controller/partial_spec.rb +61 -0
- data/spec/public/abstract_controller/render_spec.rb +90 -0
- data/spec/public/abstract_controller/spec_helper.rb +31 -0
- data/spec/public/boot_loader/boot_loader_spec.rb +33 -0
- data/spec/public/boot_loader/spec_helper.rb +1 -0
- data/spec/public/controller/authentication_spec.rb +103 -0
- data/spec/public/controller/base_spec.rb +36 -0
- data/spec/public/controller/controllers/authentication.rb +45 -0
- data/spec/public/controller/controllers/base.rb +36 -0
- data/spec/public/controller/controllers/display.rb +118 -0
- data/spec/public/controller/controllers/redirect.rb +30 -0
- data/spec/public/controller/controllers/responder.rb +93 -0
- data/spec/public/controller/controllers/url.rb +7 -0
- data/spec/public/controller/controllers/views/layout/custom.html.erb +1 -0
- data/spec/public/controller/controllers/views/layout/custom_arg.html.erb +1 -0
- data/spec/public/controller/controllers/views/layout/custom_arg.json.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_and_local_provides/index.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_and_local_provides/index.xml.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_provides/index.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_provides/index.xml.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template/index.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template/no_layout.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template_argument/index.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/html_default/index.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/layout/custom.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/local_provides/index.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/local_provides/index.xml.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/multi_provides/index.html.erb +1 -0
- data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/multi_provides/index.js.erb +1 -0
- data/spec/public/controller/display_spec.rb +84 -0
- data/spec/public/controller/redirect_spec.rb +27 -0
- data/spec/public/controller/responder_spec.rb +163 -0
- data/spec/public/controller/spec_helper.rb +11 -0
- data/spec/public/controller/url_spec.rb +180 -0
- data/spec/public/core/merb_core_spec.rb +45 -0
- data/spec/public/core_ext/class_spec.rb +91 -0
- data/spec/public/core_ext/fixtures/core_ext_dependency.rb +2 -0
- data/spec/public/core_ext/kernel_spec.rb +9 -0
- data/spec/public/core_ext/spec_helper.rb +1 -0
- data/spec/public/directory_structure/directory/app/controllers/application.rb +3 -0
- data/spec/public/directory_structure/directory/app/controllers/base.rb +13 -0
- data/spec/public/directory_structure/directory/app/controllers/custom.rb +19 -0
- data/spec/public/directory_structure/directory/app/views/base/template.html.erb +1 -0
- data/spec/public/directory_structure/directory/app/views/wonderful/template.erb +1 -0
- data/spec/public/directory_structure/directory/config/router.rb +3 -0
- data/spec/public/directory_structure/directory/log/merb_test.log +562 -0
- data/spec/public/directory_structure/directory_spec.rb +44 -0
- data/spec/public/logger/logger_spec.rb +181 -0
- data/spec/public/logger/spec_helper.rb +1 -0
- data/spec/public/reloading/directory/app/controllers/application.rb +3 -0
- data/spec/public/reloading/directory/app/controllers/reload.rb +6 -0
- data/spec/public/reloading/directory/config/init.rb +2 -0
- data/spec/public/reloading/directory/log/merb_test.log +138 -0
- data/spec/public/reloading/reload_spec.rb +103 -0
- data/spec/public/request/multipart_spec.rb +41 -0
- data/spec/public/request/request_spec.rb +228 -0
- data/spec/public/router/default_spec.rb +21 -0
- data/spec/public/router/deferred_spec.rb +22 -0
- data/spec/public/router/fixation_spec.rb +27 -0
- data/spec/public/router/fixture/log/merb_test.log +1556 -0
- data/spec/public/router/namespace_spec.rb +113 -0
- data/spec/public/router/nested_matches_spec.rb +97 -0
- data/spec/public/router/nested_resources_spec.rb +41 -0
- data/spec/public/router/resource_spec.rb +37 -0
- data/spec/public/router/resources_spec.rb +82 -0
- data/spec/public/router/spec_helper.rb +90 -0
- data/spec/public/router/special_spec.rb +61 -0
- data/spec/public/router/string_spec.rb +61 -0
- data/spec/public/template/template_spec.rb +104 -0
- data/spec/public/template/templates/error.html.erb +2 -0
- data/spec/public/template/templates/template.html.erb +1 -0
- data/spec/public/template/templates/template.html.myt +1 -0
- data/spec/public/test/controller_matchers_spec.rb +402 -0
- data/spec/public/test/controllers/controller_assertion_mock.rb +7 -0
- data/spec/public/test/controllers/dispatch_controller.rb +11 -0
- data/spec/public/test/controllers/spec_helper_controller.rb +38 -0
- data/spec/public/test/multipart_request_helper_spec.rb +159 -0
- data/spec/public/test/multipart_upload_text_file.txt +1 -0
- data/spec/public/test/request_helper_spec.rb +221 -0
- data/spec/public/test/route_helper_spec.rb +71 -0
- data/spec/public/test/route_matchers_spec.rb +162 -0
- data/spec/public/test/view_helper_spec.rb +96 -0
- data/spec/public/test/view_matchers_spec.rb +183 -0
- data/spec/spec_helper.rb +68 -0
- metadata +493 -41
- data/README.txt +0 -3
- data/lib/extlib.rb +0 -32
- data/lib/extlib/assertions.rb +0 -8
- data/lib/extlib/blank.rb +0 -42
- data/lib/extlib/class.rb +0 -175
- data/lib/extlib/hash.rb +0 -410
- data/lib/extlib/hook.rb +0 -366
- data/lib/extlib/inflection.rb +0 -141
- data/lib/extlib/lazy_array.rb +0 -106
- data/lib/extlib/mash.rb +0 -143
- data/lib/extlib/module.rb +0 -37
- data/lib/extlib/object.rb +0 -165
- data/lib/extlib/object_space.rb +0 -13
- data/lib/extlib/pathname.rb +0 -5
- data/lib/extlib/pooling.rb +0 -233
- data/lib/extlib/rubygems.rb +0 -38
- data/lib/extlib/simple_set.rb +0 -39
- data/lib/extlib/string.rb +0 -132
- data/lib/extlib/struct.rb +0 -8
- data/lib/extlib/tasks/release.rb +0 -9
- data/lib/extlib/time.rb +0 -12
- data/lib/extlib/version.rb +0 -3
- data/lib/extlib/virtual_file.rb +0 -10
@@ -0,0 +1,11 @@
|
|
1
|
+
==== Public API
|
2
|
+
This is the API that is available in your app itself. Anything not in the public API is subject to change.
|
3
|
+
|
4
|
+
==== Semipublic API
|
5
|
+
This is the API that is guaranteed to be available between components of Merb. If something in the semipublic
|
6
|
+
API changes, this will likely require changes in other parts of Merb. Additionally, items in the semipublic
|
7
|
+
API can be relied upon for introspection, for testing purposes.
|
8
|
+
|
9
|
+
For instance, AbstractController#_body should not be used in Merb apps themselves, as it may change, but
|
10
|
+
it may be used in other components of Merb and in the Merb tests themselves. Including it in the semipublic
|
11
|
+
API is designed to alert Merb's maintainers that changing it will have framework-wide repercussions.
|
@@ -0,0 +1 @@
|
|
1
|
+
App: <%= catch_content(:for_layout) %>
|
@@ -0,0 +1 @@
|
|
1
|
+
Controller: <%= catch_content :for_layout %>
|
@@ -0,0 +1 @@
|
|
1
|
+
Controller: <%= catch_content :for_layout %>
|
@@ -0,0 +1 @@
|
|
1
|
+
new index
|
@@ -0,0 +1 @@
|
|
1
|
+
new show
|
@@ -0,0 +1 @@
|
|
1
|
+
Multiple
|
@@ -0,0 +1 @@
|
|
1
|
+
Alt Partial
|
@@ -0,0 +1 @@
|
|
1
|
+
Woot.
|
@@ -0,0 +1 @@
|
|
1
|
+
Good.
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Merb::Test::Fixtures
|
2
|
+
|
3
|
+
module Abstract
|
4
|
+
|
5
|
+
class Testing < Merb::AbstractController
|
6
|
+
self._template_root = File.dirname(__FILE__) / "views"
|
7
|
+
end
|
8
|
+
|
9
|
+
class FilterParent < Testing
|
10
|
+
before :print_before_filter
|
11
|
+
|
12
|
+
def print_before_filter
|
13
|
+
@before_string = "Before"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class FilterChild1 < FilterParent
|
18
|
+
before :print_before_filter, :only => :limited
|
19
|
+
|
20
|
+
def index
|
21
|
+
@before_string.to_s + " Index"
|
22
|
+
end
|
23
|
+
|
24
|
+
def limited
|
25
|
+
@before_string.to_s + " Limited"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
class FilterChild2 < FilterParent
|
30
|
+
|
31
|
+
def index
|
32
|
+
@before_string.to_s + " Index"
|
33
|
+
end
|
34
|
+
|
35
|
+
def limited
|
36
|
+
@before_string.to_s + " Limited"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Merb::Test::Fixtures
|
4
|
+
|
5
|
+
module Abstract
|
6
|
+
|
7
|
+
class SomeModel; end
|
8
|
+
|
9
|
+
class Testing < Merb::AbstractController
|
10
|
+
self._template_root = File.dirname(__FILE__) / "views"
|
11
|
+
end
|
12
|
+
|
13
|
+
class DisplayObject < Testing
|
14
|
+
def index
|
15
|
+
@obj = SomeModel.new
|
16
|
+
display @obj
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class DisplayObjectWithAction < Testing
|
21
|
+
def create
|
22
|
+
@obj = SomeModel.new
|
23
|
+
display @obj, :new
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class DisplayObjectWithPath < Testing
|
28
|
+
def index
|
29
|
+
@obj = SomeModel.new
|
30
|
+
display @obj, "test_display/foo.html"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
class DisplayObjectWithMultipleRoots < DisplayObject
|
36
|
+
self._template_roots << [File.dirname(__FILE__) / "alt_views", :_template_location]
|
37
|
+
|
38
|
+
def show
|
39
|
+
@obj = SomeModel.new
|
40
|
+
display @obj, nil, :layout=>"alt"
|
41
|
+
end
|
42
|
+
|
43
|
+
def another
|
44
|
+
@obj = SomeModel.new
|
45
|
+
display @obj, "test_display/foo.html", :layout=>false
|
46
|
+
end
|
47
|
+
|
48
|
+
def wonderful
|
49
|
+
true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,193 @@
|
|
1
|
+
# ==== Methodology
|
2
|
+
# Each of the controllers tested here tests a discrete, single case. This
|
3
|
+
# is to ensure that each test is actually testing exactly what we want,
|
4
|
+
# and that other features (or lack thereof), are not causing tests to fail
|
5
|
+
# that would otherwise pass.
|
6
|
+
module Merb::Test::Fixtures
|
7
|
+
|
8
|
+
module Abstract
|
9
|
+
|
10
|
+
class Testing < Merb::AbstractController
|
11
|
+
self._template_root = File.dirname(__FILE__) / "views"
|
12
|
+
end
|
13
|
+
|
14
|
+
class TestBeforeFilter < Testing
|
15
|
+
before :foo
|
16
|
+
|
17
|
+
def index
|
18
|
+
"#{@x}"
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def foo
|
24
|
+
@x = "foo filter"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class TestAfterFilter < Testing
|
29
|
+
after :foo
|
30
|
+
|
31
|
+
def index
|
32
|
+
"index action"
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def foo
|
38
|
+
@body = "foo filter"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class TestSkipFilter < TestBeforeFilter
|
43
|
+
skip_before :foo
|
44
|
+
end
|
45
|
+
|
46
|
+
class TestBeforeFilterOrder < TestBeforeFilter
|
47
|
+
before :bar
|
48
|
+
|
49
|
+
def index
|
50
|
+
"#{@x}"
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def bar
|
56
|
+
@x = "bar filter"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
class TestAfterFilterOrder < TestAfterFilter
|
61
|
+
after :bar
|
62
|
+
|
63
|
+
def index
|
64
|
+
"index action"
|
65
|
+
end
|
66
|
+
|
67
|
+
private
|
68
|
+
|
69
|
+
def bar
|
70
|
+
@body = "bar filter"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
class TestProcFilter < Testing
|
75
|
+
before { @x = "proc filter1" }
|
76
|
+
before Proc.new { @y = "proc filter2" }
|
77
|
+
|
78
|
+
def index
|
79
|
+
"#{@x} #{@y}"
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
class TestExcludeFilter < Testing
|
84
|
+
before :foo, :exclude => :index
|
85
|
+
before :bar, :exclude => [:index]
|
86
|
+
|
87
|
+
def index
|
88
|
+
"#{@x} #{@y}"
|
89
|
+
end
|
90
|
+
|
91
|
+
def show
|
92
|
+
"#{@x} #{@y}"
|
93
|
+
end
|
94
|
+
|
95
|
+
private
|
96
|
+
|
97
|
+
def foo
|
98
|
+
@x = "foo filter"
|
99
|
+
end
|
100
|
+
|
101
|
+
def bar
|
102
|
+
@y = "bar filter"
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
class TestOnlyFilter < Testing
|
107
|
+
before :foo, :only => :index
|
108
|
+
before :bar, :only => [:index]
|
109
|
+
|
110
|
+
def index
|
111
|
+
"#{@x} #{@y}"
|
112
|
+
end
|
113
|
+
|
114
|
+
def show
|
115
|
+
"#{@x} #{@y}"
|
116
|
+
end
|
117
|
+
|
118
|
+
private
|
119
|
+
|
120
|
+
def foo
|
121
|
+
@x = "foo filter"
|
122
|
+
end
|
123
|
+
|
124
|
+
def bar
|
125
|
+
@y = "bar filter"
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
class TestConditionalFilterWithMethod < Testing
|
130
|
+
before :foo, :if => :bar
|
131
|
+
|
132
|
+
attr_accessor :bar
|
133
|
+
|
134
|
+
def index
|
135
|
+
"#{@x}"
|
136
|
+
end
|
137
|
+
|
138
|
+
private
|
139
|
+
def foo
|
140
|
+
@x = "foo filter"
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
class TestConditionalFilterWithProc < Testing
|
145
|
+
after :foo, :unless => lambda { |x| x.bar == "bar" }
|
146
|
+
|
147
|
+
attr_accessor :bar
|
148
|
+
|
149
|
+
def index
|
150
|
+
"index action"
|
151
|
+
end
|
152
|
+
|
153
|
+
private
|
154
|
+
def foo
|
155
|
+
@body = "foo filter"
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
class TestConditionalFilterWithNoProcOrSymbol < Testing
|
160
|
+
after :foo, :unless => true
|
161
|
+
|
162
|
+
def index
|
163
|
+
"index action"
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
class TestBeforeFilterWithArgument < Testing
|
168
|
+
before :foo, :with => "bar"
|
169
|
+
|
170
|
+
def index
|
171
|
+
"index action"
|
172
|
+
end
|
173
|
+
|
174
|
+
private
|
175
|
+
def foo(bar)
|
176
|
+
bar == "bar"
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
class TestBeforeFilterWithArguments < Testing
|
181
|
+
before :foo, :with => ["bar", "baz"]
|
182
|
+
|
183
|
+
def index
|
184
|
+
"index action"
|
185
|
+
end
|
186
|
+
|
187
|
+
private
|
188
|
+
def foo(bar,baz)
|
189
|
+
bar == "bar" && baz == "baz"
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Merb::Test::Fixtures
|
2
|
+
module Abstract
|
3
|
+
|
4
|
+
class HelperTesting < Merb::AbstractController
|
5
|
+
self._template_root = File.dirname(__FILE__) / "views"
|
6
|
+
|
7
|
+
def _template_location(context, type = nil, controller = controller_name)
|
8
|
+
"helpers/#{File.basename(controller)}/#{context}"
|
9
|
+
end
|
10
|
+
|
11
|
+
def index
|
12
|
+
render
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Capture < HelperTesting
|
17
|
+
end
|
18
|
+
|
19
|
+
class CaptureWithArgs < HelperTesting
|
20
|
+
end
|
21
|
+
|
22
|
+
class CaptureEq < HelperTesting
|
23
|
+
def helper_using_capture(&blk)
|
24
|
+
"Beginning... #{capture(&blk)}... Done"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
module ConcatHelper
|
29
|
+
def concatter(&blk)
|
30
|
+
concat("Concat", blk.binding)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class Concat < HelperTesting
|
35
|
+
def index
|
36
|
+
render
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Merb::Test::Fixtures
|
4
|
+
|
5
|
+
module Abstract
|
6
|
+
|
7
|
+
class RenderIt < Merb::AbstractController
|
8
|
+
self._template_root = File.dirname(__FILE__) / "views"
|
9
|
+
|
10
|
+
def _template_location(context, type = nil, controller = controller_name)
|
11
|
+
"partial/#{File.basename(controller)}/#{context}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class BasicPartial < RenderIt
|
16
|
+
|
17
|
+
def index
|
18
|
+
render
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class WithAbsolutePartial < RenderIt
|
23
|
+
|
24
|
+
def index
|
25
|
+
@absolute_partial_path = File.expand_path(File.dirname(__FILE__)) / 'views' / 'partial' / 'with_absolute_partial' / 'partial'
|
26
|
+
render
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class WithPartial < RenderIt
|
31
|
+
|
32
|
+
def index
|
33
|
+
@foo = "With"
|
34
|
+
render
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
class WithNilPartial < RenderIt
|
39
|
+
|
40
|
+
def index
|
41
|
+
render
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
class WithAsPartial < RenderIt
|
46
|
+
|
47
|
+
def index
|
48
|
+
@foo = "With and As"
|
49
|
+
render
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
class PartialWithCollections < RenderIt
|
54
|
+
|
55
|
+
def index
|
56
|
+
@foo = %w{ c o l l e c t i o n }
|
57
|
+
render
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
class PartialWithCollectionsAndAs < RenderIt
|
62
|
+
|
63
|
+
def index
|
64
|
+
@foo = %w{ c o l l e c t i o n }
|
65
|
+
render
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
class PartialWithCollectionsAndCounter < RenderIt
|
70
|
+
def index
|
71
|
+
@foo = %w(1 2 3 4 5)
|
72
|
+
render
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
class PartialWithLocals < RenderIt
|
77
|
+
|
78
|
+
def index
|
79
|
+
@foo, @bar = %w{ local variables }
|
80
|
+
render
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
class PartialWithBoth < RenderIt
|
85
|
+
|
86
|
+
def index
|
87
|
+
@foo = %w{ c o l l e c t i o n }
|
88
|
+
@delimiter = "-"
|
89
|
+
render
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
class PartialWithWithAndLocals < RenderIt
|
94
|
+
|
95
|
+
def index
|
96
|
+
@foo, @bar = "with", "and locals"
|
97
|
+
render
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
class PartialInAnotherDirectory < RenderIt
|
102
|
+
|
103
|
+
def index
|
104
|
+
render
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
class NestedPartial < RenderIt
|
109
|
+
def index
|
110
|
+
render
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
class BasicPartialWithMultipleRoots < RenderIt
|
115
|
+
self._template_roots << [File.dirname(__FILE__) / "alt_views", :_template_location]
|
116
|
+
def index
|
117
|
+
render
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|