merb 0.5.3 → 0.9.2
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 +0 -20
- data/README +0 -277
- data/Rakefile +80 -199
- data/TODO +0 -3
- metadata +19 -438
- data/SVN_REVISION +0 -1
- data/app_generators/merb/USAGE +0 -5
- data/app_generators/merb/merb_generator.rb +0 -108
- data/app_generators/merb/templates/Rakefile +0 -124
- data/app_generators/merb/templates/app/controllers/application.rb +0 -3
- data/app_generators/merb/templates/app/controllers/exceptions.rb +0 -13
- data/app_generators/merb/templates/app/helpers/global_helper.rb +0 -5
- data/app_generators/merb/templates/app/mailers/views/layout/application.html.erb +0 -1
- data/app_generators/merb/templates/app/mailers/views/layout/application.text.erb +0 -1
- data/app_generators/merb/templates/app/parts/views/layout/application.html.erb +0 -1
- data/app_generators/merb/templates/app/views/exceptions/internal_server_error.html.erb +0 -216
- data/app_generators/merb/templates/app/views/exceptions/not_acceptable.html.erb +0 -38
- data/app_generators/merb/templates/app/views/exceptions/not_found.html.erb +0 -40
- data/app_generators/merb/templates/app/views/layout/application.html.erb +0 -11
- data/app_generators/merb/templates/config/boot.rb +0 -11
- data/app_generators/merb/templates/config/dependencies.rb +0 -41
- data/app_generators/merb/templates/config/environments/development.rb +0 -1
- data/app_generators/merb/templates/config/environments/production.rb +0 -1
- data/app_generators/merb/templates/config/environments/test.rb +0 -1
- data/app_generators/merb/templates/config/merb.yml +0 -82
- data/app_generators/merb/templates/config/merb_init.rb +0 -17
- data/app_generators/merb/templates/config/plugins.yml +0 -1
- data/app_generators/merb/templates/config/router.rb +0 -35
- data/app_generators/merb/templates/config/upload.conf +0 -0
- data/app_generators/merb/templates/public/images/merb.jpg +0 -0
- data/app_generators/merb/templates/public/merb.fcgi +0 -6
- data/app_generators/merb/templates/public/stylesheets/master.css +0 -119
- data/app_generators/merb/templates/script/destroy +0 -32
- data/app_generators/merb/templates/script/generate +0 -32
- data/app_generators/merb/templates/script/stop_merb +0 -13
- data/app_generators/merb/templates/script/win_script.cmd +0 -1
- data/app_generators/merb/templates/spec/spec.opts +0 -6
- data/app_generators/merb/templates/spec/spec_helper.rb +0 -15
- data/app_generators/merb/templates/test/test_helper.rb +0 -14
- data/app_generators/merb_plugin/USAGE +0 -5
- data/app_generators/merb_plugin/merb_plugin_generator.rb +0 -68
- data/app_generators/merb_plugin/templates/LICENSE +0 -20
- data/app_generators/merb_plugin/templates/README +0 -4
- data/app_generators/merb_plugin/templates/Rakefile +0 -35
- data/app_generators/merb_plugin/templates/TODO +0 -5
- data/app_generators/merb_plugin/templates/merbtasks.rb +0 -6
- data/app_generators/merb_plugin/templates/sampleplugin.rb +0 -10
- data/app_generators/merb_plugin/templates/sampleplugin_spec.rb +0 -7
- data/app_generators/merb_plugin/templates/spec_helper.rb +0 -2
- data/bin/merb +0 -4
- data/lib/autotest/discover.rb +0 -3
- data/lib/autotest/merb_rspec.rb +0 -80
- data/lib/merb.rb +0 -188
- data/lib/merb/abstract_controller.rb +0 -399
- data/lib/merb/assets.rb +0 -160
- data/lib/merb/assets.rb.orig +0 -119
- data/lib/merb/boot_loader.rb +0 -286
- data/lib/merb/boot_loader.rb.orig +0 -235
- data/lib/merb/caching.rb +0 -5
- data/lib/merb/caching/action_cache.rb +0 -92
- data/lib/merb/caching/fragment_cache.rb +0 -39
- data/lib/merb/caching/store/file_cache.rb +0 -90
- data/lib/merb/caching/store/memory_cache.rb +0 -85
- data/lib/merb/config.rb +0 -290
- data/lib/merb/constants.rb +0 -50
- data/lib/merb/controller.rb +0 -220
- data/lib/merb/cookies.rb +0 -95
- data/lib/merb/core_ext.rb +0 -15
- data/lib/merb/core_ext/array.rb +0 -0
- data/lib/merb/core_ext/class.rb +0 -180
- data/lib/merb/core_ext/enumerable.rb +0 -49
- data/lib/merb/core_ext/get_args.rb +0 -76
- data/lib/merb/core_ext/hash.rb +0 -306
- data/lib/merb/core_ext/inflections.rb +0 -112
- data/lib/merb/core_ext/inflector.rb +0 -275
- data/lib/merb/core_ext/kernel.rb +0 -242
- data/lib/merb/core_ext/mash.rb +0 -88
- data/lib/merb/core_ext/module.rb +0 -67
- data/lib/merb/core_ext/numeric.rb +0 -72
- data/lib/merb/core_ext/object.rb +0 -183
- data/lib/merb/core_ext/string.rb +0 -53
- data/lib/merb/core_ext/symbol.rb +0 -6
- data/lib/merb/dispatcher.rb +0 -109
- data/lib/merb/drb_server.rb +0 -19
- data/lib/merb/erubis_ext.rb +0 -10
- data/lib/merb/exceptions.rb +0 -192
- data/lib/merb/generators/merb_app/merb_app.rb +0 -22
- data/lib/merb/generators/merb_generator_helpers.rb +0 -318
- data/lib/merb/generators/merb_plugin.rb +0 -22
- data/lib/merb/logger.rb +0 -78
- data/lib/merb/mail_controller.rb +0 -268
- data/lib/merb/mailer.rb +0 -87
- data/lib/merb/mixins/basic_authentication.rb +0 -35
- data/lib/merb/mixins/controller.rb +0 -160
- data/lib/merb/mixins/erubis_capture.rb +0 -68
- data/lib/merb/mixins/general_controller.rb +0 -253
- data/lib/merb/mixins/inline_partial.rb +0 -32
- data/lib/merb/mixins/render.rb +0 -465
- data/lib/merb/mixins/responder.rb +0 -449
- data/lib/merb/mixins/view_context.rb +0 -558
- data/lib/merb/mixins/web_controller.rb +0 -36
- data/lib/merb/mongrel_handler.rb +0 -168
- data/lib/merb/part_controller.rb +0 -29
- data/lib/merb/plugins.rb +0 -16
- data/lib/merb/rack_adapter.rb +0 -37
- data/lib/merb/request.rb +0 -465
- data/lib/merb/router.rb +0 -646
- data/lib/merb/server.rb +0 -169
- data/lib/merb/session.rb +0 -23
- data/lib/merb/session/cookie_store.rb +0 -118
- data/lib/merb/session/mem_cache_session.rb +0 -131
- data/lib/merb/session/memory_session.rb +0 -176
- data/lib/merb/template.rb +0 -37
- data/lib/merb/template/erubis.rb +0 -68
- data/lib/merb/template/haml.rb +0 -87
- data/lib/merb/template/markaby.rb +0 -59
- data/lib/merb/template/xml_builder.rb +0 -50
- data/lib/merb/test/fake_request.rb +0 -74
- data/lib/merb/test/helper.rb +0 -260
- data/lib/merb/test/hpricot.rb +0 -136
- data/lib/merb/test/multipart.rb +0 -66
- data/lib/merb/test/rspec.rb +0 -18
- data/lib/merb/test/rspec_matchers/controller_matchers.rb +0 -117
- data/lib/merb/test/rspec_matchers/markup_matchers.rb +0 -98
- data/lib/merb/upload_handler.rb +0 -80
- data/lib/merb/upload_progress.rb +0 -48
- data/lib/merb/version.rb +0 -49
- data/lib/merb/view_context.rb +0 -79
- data/lib/tasks.rb +0 -7
- data/lib/tasks/merb.rake +0 -54
- data/merb_default_generators/model/USAGE +0 -0
- data/merb_default_generators/model/model_generator.rb +0 -16
- data/merb_default_generators/model/templates/new_model_template.erb +0 -5
- data/merb_default_generators/resource_controller/USAGE +0 -0
- data/merb_default_generators/resource_controller/resource_controller_generator.rb +0 -26
- data/merb_default_generators/resource_controller/templates/controller.rb +0 -30
- data/merb_default_generators/resource_controller/templates/edit.html.erb +0 -1
- data/merb_default_generators/resource_controller/templates/helper.rb +0 -5
- data/merb_default_generators/resource_controller/templates/index.html.erb +0 -1
- data/merb_default_generators/resource_controller/templates/new.html.erb +0 -1
- data/merb_default_generators/resource_controller/templates/show.html.erb +0 -1
- data/merb_generators/controller/USAGE +0 -5
- data/merb_generators/controller/controller_generator.rb +0 -16
- data/merb_generators/controller/templates/controller.rb +0 -8
- data/merb_generators/controller/templates/helper.rb +0 -5
- data/merb_generators/controller/templates/index.html.erb +0 -3
- data/merb_generators/part_controller/USAGE +0 -5
- data/merb_generators/part_controller/part_controller_generator.rb +0 -27
- data/merb_generators/part_controller/templates/controller.rb +0 -8
- data/merb_generators/part_controller/templates/helper.rb +0 -5
- data/merb_generators/part_controller/templates/index.html.erb +0 -3
- data/merb_generators/resource/USAGE +0 -0
- data/merb_generators/resource/resource_generator.rb +0 -67
- data/rspec_generators/merb_controller_test/merb_controller_test_generator.rb +0 -67
- data/rspec_generators/merb_controller_test/templates/controller_spec.rb +0 -8
- data/rspec_generators/merb_controller_test/templates/edit_spec.rb +0 -12
- data/rspec_generators/merb_controller_test/templates/helper_spec.rb +0 -5
- data/rspec_generators/merb_controller_test/templates/index_spec.rb +0 -12
- data/rspec_generators/merb_controller_test/templates/new_spec.rb +0 -12
- data/rspec_generators/merb_controller_test/templates/show_spec.rb +0 -5
- data/rspec_generators/merb_model_test/merb_model_test_generator.rb +0 -26
- data/rspec_generators/merb_model_test/templates/model_spec_template.erb +0 -7
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/spec/fixtures/config/environments/environment_config_test.yml +0 -1
- data/spec/fixtures/config/merb.yml +0 -18
- data/spec/fixtures/controllers/dispatch_spec_controllers.rb +0 -235
- data/spec/fixtures/controllers/render_spec_controllers.rb +0 -184
- data/spec/fixtures/foo.rb +0 -3
- data/spec/fixtures/mailers/views/layout/application.html.erb +0 -3
- data/spec/fixtures/mailers/views/layout/application.text.erb +0 -3
- data/spec/fixtures/mailers/views/test_mail_controller/eighth.html.erb +0 -1
- data/spec/fixtures/mailers/views/test_mail_controller/eighth.text.erb +0 -1
- data/spec/fixtures/mailers/views/test_mail_controller/first.html.erb +0 -1
- data/spec/fixtures/mailers/views/test_mail_controller/first.text.erb +0 -1
- data/spec/fixtures/mailers/views/test_mail_controller/ninth.html.erb +0 -1
- data/spec/fixtures/mailers/views/test_mail_controller/ninth.text.erb +0 -1
- data/spec/fixtures/mailers/views/test_mail_controller/second.text.erb +0 -1
- data/spec/fixtures/mailers/views/test_mail_controller/third.html.erb +0 -1
- data/spec/fixtures/models/router_spec_models.rb +0 -30
- data/spec/fixtures/parts/views/layout/todo_part.html.erb +0 -3
- data/spec/fixtures/parts/views/layout/todo_part.xml.erb +0 -3
- data/spec/fixtures/parts/views/todo_part/formatted_output.html.erb +0 -1
- data/spec/fixtures/parts/views/todo_part/formatted_output.js.erb +0 -1
- data/spec/fixtures/parts/views/todo_part/formatted_output.xml.erb +0 -1
- data/spec/fixtures/parts/views/todo_part/list.html.erb +0 -3
- data/spec/fixtures/sample.txt +0 -1
- data/spec/fixtures/views/erubis.html.erb +0 -1
- data/spec/fixtures/views/examples/_erubis.html.erb +0 -1
- data/spec/fixtures/views/examples/_haml.html.haml +0 -1
- data/spec/fixtures/views/examples/_markaby.html.mab +0 -1
- data/spec/fixtures/views/examples/_throw_content.html.erb +0 -6
- data/spec/fixtures/views/examples/hello.xml.builder +0 -1
- data/spec/fixtures/views/examples/js.js.erb +0 -1
- data/spec/fixtures/views/examples/template_catch_content.html.erb +0 -15
- data/spec/fixtures/views/examples/template_catch_content_from_partial.html.erb +0 -6
- data/spec/fixtures/views/examples/template_throw_content.html.erb +0 -10
- data/spec/fixtures/views/examples/template_throw_content_without_block.html.erb +0 -3
- data/spec/fixtures/views/exceptions/admin_access_required.html.erb +0 -1
- data/spec/fixtures/views/extension_template_controller/_nested_js.js.erb +0 -1
- data/spec/fixtures/views/extension_template_controller/_nested_xml.xml.erb +0 -1
- data/spec/fixtures/views/extension_template_controller/_render_partial_multiple_times.html.erb +0 -1
- data/spec/fixtures/views/extension_template_controller/erubis_templates.html.erb +0 -1
- data/spec/fixtures/views/extension_template_controller/erubis_templates.js.erb +0 -1
- data/spec/fixtures/views/extension_template_controller/erubis_templates.rhtml +0 -1
- data/spec/fixtures/views/extension_template_controller/erubis_templates.xml.erb +0 -1
- data/spec/fixtures/views/extension_template_controller/haml_index.html.haml +0 -0
- data/spec/fixtures/views/extension_template_controller/haml_templates.html.haml +0 -1
- data/spec/fixtures/views/extension_template_controller/haml_templates.js.haml +0 -1
- data/spec/fixtures/views/extension_template_controller/haml_templates.xml.haml +0 -1
- data/spec/fixtures/views/extension_template_controller/index.html.erb +0 -0
- data/spec/fixtures/views/extension_template_controller/markaby_index.html.mab +0 -0
- data/spec/fixtures/views/extension_template_controller/markaby_templates.html.mab +0 -1
- data/spec/fixtures/views/extension_template_controller/markaby_templates.js.mab +0 -1
- data/spec/fixtures/views/extension_template_controller/markaby_templates.xml.mab +0 -1
- data/spec/fixtures/views/extension_template_controller/render_multiple_partials.html.erb +0 -4
- data/spec/fixtures/views/extension_template_controller/render_nested_js.js.erb +0 -1
- data/spec/fixtures/views/extension_template_controller/render_nested_xml.xml.erb +0 -1
- data/spec/fixtures/views/haml.html.haml +0 -1
- data/spec/fixtures/views/haml.xml.haml +0 -2
- data/spec/fixtures/views/layout/application.html.erb +0 -1
- data/spec/fixtures/views/layout/application.xml.erb +0 -1
- data/spec/fixtures/views/layout/nested/example.html.erb +0 -1
- data/spec/fixtures/views/markaby.html.mab +0 -1
- data/spec/fixtures/views/nested/example/test.html.erb +0 -1
- data/spec/fixtures/views/partials/_erubis.html.erb +0 -1
- data/spec/fixtures/views/partials/_erubis_collection.html.erb +0 -1
- data/spec/fixtures/views/partials/_erubis_collection_with_locals.html.erb +0 -1
- data/spec/fixtures/views/partials/_erubis_new.html.erb +0 -1
- data/spec/fixtures/views/partials/_haml.html.haml +0 -1
- data/spec/fixtures/views/partials/_haml_collection.html.haml +0 -1
- data/spec/fixtures/views/partials/_haml_collection_with_locals.html.haml +0 -1
- data/spec/fixtures/views/partials/_haml_new.html.haml +0 -1
- data/spec/fixtures/views/partials/_markaby.html.mab +0 -1
- data/spec/fixtures/views/partials/_markaby_collection.html.mab +0 -1
- data/spec/fixtures/views/partials/_markaby_collection_with_locals.html.mab +0 -1
- data/spec/fixtures/views/partials/_markaby_new.html.mab +0 -1
- data/spec/fixtures/views/render_object_controller/render_object_with_template.html.erb +0 -1
- data/spec/fixtures/views/render_object_controller/render_object_with_template.js.erb +0 -1
- data/spec/fixtures/views/render_object_controller/render_object_with_template.xml.erb +0 -1
- data/spec/fixtures/views/template_views/interface__buffer_erubis.html.erb +0 -4
- data/spec/fixtures/views/template_views/interface__buffer_haml.html.haml +0 -7
- data/spec/fixtures/views/template_views/interface__buffer_markaby.html.mab +0 -7
- data/spec/fixtures/views/template_views/interface_capture_erubis.html.erb +0 -15
- data/spec/fixtures/views/template_views/interface_capture_haml.html.haml +0 -15
- data/spec/fixtures/views/template_views/interface_capture_markaby.html.mab +0 -4
- data/spec/fixtures/views/template_views/interface_concat_erubis.html.erb +0 -12
- data/spec/fixtures/views/template_views/interface_concat_haml.html.haml +0 -11
- data/spec/fixtures/views/template_views/interface_concat_markaby.html.mab +0 -14
- data/spec/fixtures/views/test.dir/the_template.html.erb +0 -1
- data/spec/merb/abstract_controller_spec.rb +0 -38
- data/spec/merb/assets_spec.rb +0 -207
- data/spec/merb/caching_spec.rb +0 -102
- data/spec/merb/config_spec.rb +0 -29
- data/spec/merb/controller_filters_spec.rb +0 -253
- data/spec/merb/controller_spec.rb +0 -126
- data/spec/merb/cookie_store_spec.rb +0 -72
- data/spec/merb/cookies_spec.rb +0 -96
- data/spec/merb/core_ext/class_spec.rb +0 -97
- data/spec/merb/core_ext/enumerable_spec.rb +0 -27
- data/spec/merb/core_ext/hash_spec.rb +0 -251
- data/spec/merb/core_ext/inflector_spec.rb +0 -34
- data/spec/merb/core_ext/kernel_spec.rb +0 -25
- data/spec/merb/core_ext/numeric_spec.rb +0 -26
- data/spec/merb/core_ext/object_spec.rb +0 -47
- data/spec/merb/core_ext/string_spec.rb +0 -22
- data/spec/merb/core_ext/symbol_spec.rb +0 -7
- data/spec/merb/dependency_spec.rb +0 -22
- data/spec/merb/dispatch_spec.rb +0 -528
- data/spec/merb/fake_request_spec.rb +0 -80
- data/spec/merb/generator_spec.rb +0 -248
- data/spec/merb/handler_spec.rb +0 -169
- data/spec/merb/mail_controller_spec.rb +0 -177
- data/spec/merb/mailer_spec.rb +0 -87
- data/spec/merb/multipart_spec.rb +0 -50
- data/spec/merb/part_controller_spec.rb +0 -124
- data/spec/merb/plugins_spec.rb +0 -80
- data/spec/merb/render_spec.rb +0 -469
- data/spec/merb/request_spec.rb +0 -287
- data/spec/merb/responder_spec.rb +0 -562
- data/spec/merb/router_spec.rb +0 -900
- data/spec/merb/server_spec.rb +0 -19
- data/spec/merb/template_spec.rb +0 -41
- data/spec/merb/upload_handler_spec.rb +0 -108
- data/spec/merb/version_spec.rb +0 -33
- data/spec/merb/view_context_spec.rb +0 -366
- data/spec/spec_generator_helper.rb +0 -34
- data/spec/spec_helper.rb +0 -101
- data/spec/spec_helpers/url_shared_behaviour.rb +0 -112
- data/test_unit_generators/merb_controller_test/merb_controller_test_generator.rb +0 -53
- data/test_unit_generators/merb_controller_test/templates/functional_test.rb +0 -17
- data/test_unit_generators/merb_controller_test/templates/helper_test.rb +0 -9
- data/test_unit_generators/merb_model_test/merb_model_test_generator.rb +0 -29
- data/test_unit_generators/merb_model_test/templates/model_test_unit_template.erb +0 -9
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Inflector do
|
|
4
|
-
it "should transform words from singular to plural" do
|
|
5
|
-
"post".pluralize.should == "posts"
|
|
6
|
-
"octopus".pluralize.should =="octopi"
|
|
7
|
-
"the blue mailman".pluralize.should == "the blue mailmen"
|
|
8
|
-
"CamelOctopus".pluralize.should == "CamelOctopi"
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
it "should transform words from plural to singular" do
|
|
12
|
-
"posts".singularize.should == "post"
|
|
13
|
-
"octopi".singularize.should == "octopus"
|
|
14
|
-
"the blue mailmen".singularize.should == "the blue mailman"
|
|
15
|
-
"CamelOctopi".singularize.should == "CamelOctopus"
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it "should transform class names to table names" do
|
|
19
|
-
"RawScaledScorer".tableize.should == "raw_scaled_scorers"
|
|
20
|
-
"egg_and_ham".tableize.should == "egg_and_hams"
|
|
21
|
-
"fancyCategory".tableize.should == "fancy_categories"
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
it "should tranform table names to class names" do
|
|
25
|
-
"egg_and_hams".classify.should == "EggAndHam"
|
|
26
|
-
"post".classify.should == "Post"
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it "should create a foreign key name from a class name" do
|
|
30
|
-
"Message".foreign_key.should == "message_id"
|
|
31
|
-
"Message".foreign_key(false).should == "messageid"
|
|
32
|
-
"Admin::Post".foreign_key.should == "post_id"
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "extracting options from arguments" do
|
|
4
|
-
def the_method(*args)
|
|
5
|
-
[extract_options_from_args!(args), args]
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it "should extract the hash if the last item is a hash" do
|
|
9
|
-
opts,args = the_method(:one, :two, :key => :value)
|
|
10
|
-
opts.should == { :key => :value }
|
|
11
|
-
args.should == [:one, :two]
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
it "should return nil for the opts if no hash is provided" do
|
|
15
|
-
opts,args = the_method(:one, :two)
|
|
16
|
-
opts.should be_nil
|
|
17
|
-
args.should == [:one, :two]
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "should return two hashes" do
|
|
21
|
-
opts,args = the_method({ :one => :two }, { :key => :value })
|
|
22
|
-
opts.should == {:key => :value}
|
|
23
|
-
args.should == [{:one => :two}]
|
|
24
|
-
end
|
|
25
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "A Numeric object" do
|
|
4
|
-
it "should be able to convert to US currency" do
|
|
5
|
-
1.5.to_currency.should == "$1.50"
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it "should be able to convert to Danish currency" do
|
|
9
|
-
15_000_000.5.to_currency(nil, ".", ",", "DM").should == "15.000.000,50DM"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
{
|
|
13
|
-
:microsecond => Float(10 ** -6), :millisecond => Float(10 ** -3), :second => 1,
|
|
14
|
-
:minute => 60, :hour => 3600, :day => 86400, :week => 604800,
|
|
15
|
-
:month => 2592000, :year => 31536000, :decade => 315360000
|
|
16
|
-
}.each do |method,seconds|
|
|
17
|
-
|
|
18
|
-
it "should be able to convert to #{method}s (singular version)" do
|
|
19
|
-
1.send(method).should == seconds
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it "should be able to convert to #{method}s (plural version)" do
|
|
23
|
-
2.send("#{method}s").should == seconds * 2
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
-
|
|
3
|
-
class String
|
|
4
|
-
def self.define_meta(meth, val)
|
|
5
|
-
meta_def(meth) { val }
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
class MyString < String; end
|
|
9
|
-
|
|
10
|
-
describe "An object" do
|
|
11
|
-
it "should be able to return a passed in object that is modified by a block" do
|
|
12
|
-
(returning({}) {|x| x.merge!(:foo => :bar)}).should == {:foo => :bar}
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "should be able to get a meta class" do
|
|
16
|
-
MyString.meta_class.to_s.should == "#<Class:MyString>"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
it "should be able to execute code in the meta-class' context" do
|
|
20
|
-
(MyString.meta_eval { self }).should == MyString.meta_class
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
it "should be able to define a method on the meta-class" do
|
|
24
|
-
MyString.define_meta :foo, :bar
|
|
25
|
-
MyString.foo.should == :bar
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it "should be able to define methods on its instances" do
|
|
29
|
-
MyString.class_def(:foo) { :bar }
|
|
30
|
-
MyString.new.foo.should == :bar
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
{[] => true,
|
|
34
|
-
[1] => false,
|
|
35
|
-
[nil] => false,
|
|
36
|
-
nil => true,
|
|
37
|
-
true => false,
|
|
38
|
-
false => true,
|
|
39
|
-
"" => true,
|
|
40
|
-
" " => true,
|
|
41
|
-
" hey " => false
|
|
42
|
-
}.each do |obj, expected|
|
|
43
|
-
it "should be able to determine whether the #{obj.class} #{obj.inspect} is blank" do
|
|
44
|
-
obj.blank?.should == expected
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "A String" do
|
|
4
|
-
it "should convert a path/like/this to a Constant::String::Like::This" do
|
|
5
|
-
"path/like/this".to_const_string.should == "Path::Like::This"
|
|
6
|
-
"path".to_const_string.should == "Path"
|
|
7
|
-
"snake_case/path/with_several_parts".to_const_string.should == "SnakeCase::Path::WithSeveralParts"
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
it "should raise an error rather than freeze when trying to convert bad Paths/12Like/-this" do
|
|
11
|
-
Timeout::timeout(1) do
|
|
12
|
-
lambda do
|
|
13
|
-
"Paths/12Like/-this".to_const_string
|
|
14
|
-
end.should raise_error(String::InvalidPathConversion)
|
|
15
|
-
end.should_not raise_error(Timeout::Error)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it "should remove any indentation and add +indentation+ number of spaces" do
|
|
19
|
-
"foo\n bar\n".indent(3).should == " foo\n bar\n"
|
|
20
|
-
" foo\n bar\n".indent(3).should == " foo\n bar\n"
|
|
21
|
-
end
|
|
22
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "Kernel#dependency" do
|
|
4
|
-
|
|
5
|
-
before do
|
|
6
|
-
File.stub!(:directory?).with(Merb.root / "gems").and_return(true)
|
|
7
|
-
Gem.stub!(:use_paths)
|
|
8
|
-
Gem.stub!(:clear_paths)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
it "loads in files from the local gem-cache first" do
|
|
12
|
-
Gem.should_receive(:activate).with("json_pure", true).and_return(true)
|
|
13
|
-
Kernel.dependency "json_pure"
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
it "does a require if it can't find it in either gem cache" do
|
|
17
|
-
Gem.stub!(:activate).twice.with("RedCloth", true).and_raise(LoadError)
|
|
18
|
-
Kernel.should_receive(:require).with("RedCloth")
|
|
19
|
-
Kernel.dependency "RedCloth"
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
end
|
data/spec/merb/dispatch_spec.rb
DELETED
|
@@ -1,528 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
|
-
require_fixtures '/controllers/dispatch_spec_controllers'
|
|
3
|
-
|
|
4
|
-
describe Merb::Dispatcher do
|
|
5
|
-
before :all do
|
|
6
|
-
Merb::Config[:allow_reloading] = false
|
|
7
|
-
Merb::Router.prepare do |r|
|
|
8
|
-
r.resource :icon
|
|
9
|
-
r.resources :posts,
|
|
10
|
-
:member => { :stats => [:get, :put] },
|
|
11
|
-
:collection => { :filter => [:get] } do |post|
|
|
12
|
-
post.resources :comments, :member => { :stats => [:get, :put] }
|
|
13
|
-
post.resource :profile
|
|
14
|
-
end
|
|
15
|
-
r.resources :as do |a|
|
|
16
|
-
a.resources :bs do |b|
|
|
17
|
-
b.resources :cs
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
r.match('/admin') do |admin|
|
|
22
|
-
admin.resources :tags
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
r.default_routes
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it "should not overwrite url params with query string params" do
|
|
30
|
-
controller, action = request(:get, '/foo/bar/42?id=24')
|
|
31
|
-
controller.class.should == Foo
|
|
32
|
-
action.should == "bar"
|
|
33
|
-
controller.params[:id].should == '42'
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "should not allow private and protected methods to be called" do
|
|
37
|
-
controller, action = request(:get, '/foo/call_filters')
|
|
38
|
-
controller.status.should == Merb::ControllerExceptions::ActionNotFound::STATUS
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it "should handle request: GET /foo/bar and return Foo#bar" do
|
|
42
|
-
controller, action = request(:get, '/foo/bar')
|
|
43
|
-
e = controller.params[:exception]
|
|
44
|
-
controller.class.should == Foo
|
|
45
|
-
action.should == "bar"
|
|
46
|
-
controller.body.should == "bar"
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
it "should handle request: GET /foo/bar/1.xml and return Foo#bar format xml" do
|
|
50
|
-
controller, action = request(:get, '/foo/bar/1.xml')
|
|
51
|
-
controller.class.should == Foo
|
|
52
|
-
controller.params[:format].should == 'xml'
|
|
53
|
-
action.should == "bar"
|
|
54
|
-
controller.body.should == "bar"
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
it "should handle request: GET /foo/bar.xml and return Foo#bar format xml" do
|
|
58
|
-
controller, action = request(:get, '/foo/bar.xml')
|
|
59
|
-
controller.class.should == Foo
|
|
60
|
-
controller.params[:format].should == 'xml'
|
|
61
|
-
action.should == "bar"
|
|
62
|
-
controller.body.should == "bar"
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
it "should handle request: GET /foo.xml and return Foo#index format xml" do
|
|
66
|
-
controller, action = request(:get, '/foo.xml')
|
|
67
|
-
controller.class.should == Foo
|
|
68
|
-
controller.params[:format].should == 'xml'
|
|
69
|
-
action.should == "index"
|
|
70
|
-
controller.body.should == "index"
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
it "should handle request: GET /foo and return Foo#index" do
|
|
74
|
-
controller, action = request(:get, '/foo')
|
|
75
|
-
controller.class.should == Foo
|
|
76
|
-
action.should == "index"
|
|
77
|
-
controller.body.should == "index"
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
it "should handle request: GET /icon and return Icon#show" do
|
|
81
|
-
controller, action = request(:get, '/icon')
|
|
82
|
-
controller.class.should == Icon
|
|
83
|
-
action.should == "show"
|
|
84
|
-
controller.body.should == :show
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
it "should handle request: GET /icon.xml and return Icon#show format xml" do
|
|
88
|
-
controller, action = request(:get, '/icon.xml')
|
|
89
|
-
controller.class.should == Icon
|
|
90
|
-
action.should == "show"
|
|
91
|
-
controller.params[:format].should == 'xml'
|
|
92
|
-
controller.body.should == :show
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
it "should handle request: GET /icon/new and return Icon#new" do
|
|
96
|
-
controller, action = request(:get, '/icon/new')
|
|
97
|
-
controller.class.should == Icon
|
|
98
|
-
action.should == "new"
|
|
99
|
-
controller.body.should == :new
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
it "should handle request: GET /icon;edit and return Icon#edit" do
|
|
103
|
-
controller, action = request(:get, '/icon;edit')
|
|
104
|
-
controller.class.should == Icon
|
|
105
|
-
action.should == "edit"
|
|
106
|
-
controller.body.should == :edit
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
it "should handle request: GET /icon/edit and return Icon#edit" do
|
|
110
|
-
controller, action = request(:get, '/icon/edit')
|
|
111
|
-
controller.class.should == Icon
|
|
112
|
-
action.should == "edit"
|
|
113
|
-
controller.body.should == :edit
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
it "should handle request: POST /icon and return Icon#create" do
|
|
117
|
-
controller, action = request(:post, '/icon')
|
|
118
|
-
controller.class.should == Icon
|
|
119
|
-
action.should == "create"
|
|
120
|
-
controller.body.should == :create
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
it "should handle request: PUT /icon and return Icon#update" do
|
|
124
|
-
controller, action = request(:put, '/icon')
|
|
125
|
-
controller.class.should == Icon
|
|
126
|
-
action.should == "update"
|
|
127
|
-
controller.body.should == :update
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
it "should handle request: DELETE /icon and return Icon#destroy" do
|
|
131
|
-
controller, action = request(:delete, '/icon')
|
|
132
|
-
controller.class.should == Icon
|
|
133
|
-
action.should == "destroy"
|
|
134
|
-
controller.body.should == :destroy
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
it "should handle request: GET /admin/tags and return Tags#index" do
|
|
138
|
-
controller, action = request(:get, '/admin/tags')
|
|
139
|
-
controller.class.should == Tags
|
|
140
|
-
action.should == "index"
|
|
141
|
-
controller.body.should == :index
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
it "should handle request: GET /admin/tags.xml and return Tags#index format xml" do
|
|
145
|
-
controller, action = request(:get, '/admin/tags.xml')
|
|
146
|
-
controller.class.should == Tags
|
|
147
|
-
action.should == "index"
|
|
148
|
-
controller.params[:format].should == 'xml'
|
|
149
|
-
controller.body.should == :index
|
|
150
|
-
end
|
|
151
|
-
|
|
152
|
-
it "should handle request: GET /posts and return Posts#index" do
|
|
153
|
-
controller, action = request(:get, '/posts')
|
|
154
|
-
controller.class.should == Posts
|
|
155
|
-
action.should == "index"
|
|
156
|
-
controller.body.should == :index
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
it "should handle request: GET /posts;filter and return Posts#filter" do
|
|
160
|
-
controller, action = request(:get, '/posts;filter')
|
|
161
|
-
controller.class.should == Posts
|
|
162
|
-
action.should == "filter"
|
|
163
|
-
controller.body.should == :filter
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
it "should handle request: GET /posts/filter and return Posts#filter" do
|
|
167
|
-
controller, action = request(:get, '/posts/filter')
|
|
168
|
-
controller.class.should == Posts
|
|
169
|
-
action.should == "filter"
|
|
170
|
-
controller.body.should == :filter
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
it "should handle request: GET /posts/1/comments and return Comments#index with post_id == 1" do
|
|
174
|
-
controller, action = request(:get, '/posts/1/comments')
|
|
175
|
-
controller.class.should == Comments
|
|
176
|
-
action.should == "index"
|
|
177
|
-
controller.body.should == :index
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
it "should handle request: GET /posts/1/profile and return Profile#show with post_id == 1" do
|
|
181
|
-
controller, action = request(:get, '/posts/1/profile')
|
|
182
|
-
controller.class.should == Profile
|
|
183
|
-
action.should == "show"
|
|
184
|
-
controller.body.should == :show
|
|
185
|
-
end
|
|
186
|
-
|
|
187
|
-
it "should handle request: GET /posts/1/profile.xml and return Profile#show with post_id == 1" do
|
|
188
|
-
controller, action = request(:get, '/posts/1/profile.xml')
|
|
189
|
-
controller.class.should == Profile
|
|
190
|
-
controller.params[:format].should == 'xml'
|
|
191
|
-
action.should == "show"
|
|
192
|
-
controller.body.should == :show
|
|
193
|
-
end
|
|
194
|
-
|
|
195
|
-
it "should handle request: GET /posts.xml and return Posts#index format xml" do
|
|
196
|
-
controller, action = request(:get, '/posts.xml')
|
|
197
|
-
controller.class.should == Posts
|
|
198
|
-
controller.params[:format].should == 'xml'
|
|
199
|
-
action.should == "index"
|
|
200
|
-
controller.body.should == :index
|
|
201
|
-
end
|
|
202
|
-
|
|
203
|
-
it "should handle request: GET /posts/1 and return Posts#show" do
|
|
204
|
-
controller, action = request(:get, '/posts/1')
|
|
205
|
-
controller.class.should == Posts
|
|
206
|
-
action.should == "show"
|
|
207
|
-
controller.params[:id].should == '1'
|
|
208
|
-
controller.body.should == :show
|
|
209
|
-
end
|
|
210
|
-
|
|
211
|
-
it "should handle request: GET /posts/1/comments/1 and return Comments#show with post_id == 1" do
|
|
212
|
-
controller, action = request(:get, '/posts/1/comments/1')
|
|
213
|
-
controller.class.should == Comments
|
|
214
|
-
controller.params[:id].should == '1'
|
|
215
|
-
controller.params[:post_id].should == '1'
|
|
216
|
-
action.should == "show"
|
|
217
|
-
controller.body.should == :show
|
|
218
|
-
end
|
|
219
|
-
|
|
220
|
-
it "should handle request: GET /as/1/bs/1 and return Bs#show with as_id == 1 & id == 1" do
|
|
221
|
-
controller, action = request(:get, '/as/1/bs/1')
|
|
222
|
-
controller.class.should == Bs
|
|
223
|
-
controller.params[:id].should == '1'
|
|
224
|
-
controller.params[:a_id].should == '1'
|
|
225
|
-
action.should == "show"
|
|
226
|
-
controller.body.should == :show
|
|
227
|
-
end
|
|
228
|
-
|
|
229
|
-
it "should handle request: GET /as/1/bs/1/cs and return Cs#show with a_id == 1 & b_id == 1" do
|
|
230
|
-
controller, action = request(:get, '/as/1/bs/1/cs')
|
|
231
|
-
controller.class.should == Cs
|
|
232
|
-
controller.params[:b_id].should == '1'
|
|
233
|
-
controller.params[:a_id].should == '1'
|
|
234
|
-
action.should == "index"
|
|
235
|
-
controller.body.should == :index
|
|
236
|
-
end
|
|
237
|
-
|
|
238
|
-
it "should handle request: GET /as/1/bs/1/cs/1 and return Bs#show with as_id == 1 & b_id == 1 & id == 1" do
|
|
239
|
-
controller, action = request(:get, '/as/1/bs/1/cs/1')
|
|
240
|
-
controller.class.should == Cs
|
|
241
|
-
controller.params[:id].should == '1'
|
|
242
|
-
controller.params[:a_id].should == '1'
|
|
243
|
-
controller.params[:b_id].should == '1'
|
|
244
|
-
action.should == "show"
|
|
245
|
-
controller.body.should == :show
|
|
246
|
-
end
|
|
247
|
-
|
|
248
|
-
it "should handle request: GET /posts/1.xml and return Posts#show format xml" do
|
|
249
|
-
controller, action = request(:get, '/posts/1.xml')
|
|
250
|
-
controller.class.should == Posts
|
|
251
|
-
controller.params[:format].should == 'xml'
|
|
252
|
-
action.should == "show"
|
|
253
|
-
controller.params[:id].should == '1'
|
|
254
|
-
controller.body.should == :show
|
|
255
|
-
end
|
|
256
|
-
|
|
257
|
-
it "should handle request: GET /posts/1/comments/1.xml and return Comments#show with post_id == 1 and format xml" do
|
|
258
|
-
controller, action = request(:get, '/posts/1/comments/1.xml')
|
|
259
|
-
controller.class.should == Comments
|
|
260
|
-
controller.params[:id].should == '1'
|
|
261
|
-
controller.params[:format].should == 'xml'
|
|
262
|
-
controller.params[:post_id].should == '1'
|
|
263
|
-
action.should == "show"
|
|
264
|
-
controller.body.should == :show
|
|
265
|
-
end
|
|
266
|
-
|
|
267
|
-
it "should handle request: GET /posts/new and return Posts#new" do
|
|
268
|
-
controller, action = request(:get, '/posts/new')
|
|
269
|
-
controller.class.should == Posts
|
|
270
|
-
action.should == "new"
|
|
271
|
-
controller.body.should == :new
|
|
272
|
-
end
|
|
273
|
-
|
|
274
|
-
it "should handle request: GET /posts/1/comments/new and return Comments#new with post_id == 1" do
|
|
275
|
-
controller, action = request(:get, '/posts/1/comments/new')
|
|
276
|
-
controller.class.should == Comments
|
|
277
|
-
action.should == "new"
|
|
278
|
-
controller.body.should == :new
|
|
279
|
-
end
|
|
280
|
-
|
|
281
|
-
it "should handle request: GET /posts/1;edit and return Posts#edit" do
|
|
282
|
-
controller, action = request(:get, '/posts/1;edit')
|
|
283
|
-
controller.class.should == Posts
|
|
284
|
-
action.should == "edit"
|
|
285
|
-
controller.params[:id].should == '1'
|
|
286
|
-
controller.body.should == :edit
|
|
287
|
-
end
|
|
288
|
-
|
|
289
|
-
it "should handle request: GET /posts/1/edit and return Posts#edit" do
|
|
290
|
-
controller, action = request(:get, '/posts/1/edit')
|
|
291
|
-
controller.class.should == Posts
|
|
292
|
-
action.should == "edit"
|
|
293
|
-
controller.params[:id].should == '1'
|
|
294
|
-
controller.body.should == :edit
|
|
295
|
-
end
|
|
296
|
-
|
|
297
|
-
it "should handle request: GET /posts/1/comments/1;edit and return Comments#edit with post_id == 1" do
|
|
298
|
-
controller, action = request(:get, '/posts/1/comments/1;edit')
|
|
299
|
-
controller.class.should == Comments
|
|
300
|
-
controller.params[:id].should == '1'
|
|
301
|
-
controller.params[:post_id].should == '1'
|
|
302
|
-
action.should == "edit"
|
|
303
|
-
controller.body.should == :edit
|
|
304
|
-
end
|
|
305
|
-
|
|
306
|
-
it "should handle request: GET /posts/1/comments/1/edit and return Comments#edit with post_id == 1" do
|
|
307
|
-
controller, action = request(:get, '/posts/1/comments/1/edit')
|
|
308
|
-
controller.class.should == Comments
|
|
309
|
-
controller.params[:id].should == '1'
|
|
310
|
-
controller.params[:post_id].should == '1'
|
|
311
|
-
action.should == "edit"
|
|
312
|
-
controller.body.should == :edit
|
|
313
|
-
end
|
|
314
|
-
|
|
315
|
-
it "should handle request: POST /posts and return Posts#create" do
|
|
316
|
-
controller, action = request(:post, '/posts')
|
|
317
|
-
controller.class.should == Posts
|
|
318
|
-
action.should == "create"
|
|
319
|
-
controller.body.should == :create
|
|
320
|
-
end
|
|
321
|
-
|
|
322
|
-
it "should handle request: POST /posts/1/comments and return Comments#create with post_id == 1" do
|
|
323
|
-
controller, action = request(:post, '/posts/1/comments')
|
|
324
|
-
controller.class.should == Comments
|
|
325
|
-
action.should == "create"
|
|
326
|
-
controller.body.should == :create
|
|
327
|
-
end
|
|
328
|
-
|
|
329
|
-
it "should handle request: POST /posts/1/comments.xml and return Comments#create with post_id == 1 and format xml" do
|
|
330
|
-
controller, action = request(:post, '/posts/1/comments.xml')
|
|
331
|
-
controller.class.should == Comments
|
|
332
|
-
controller.params[:format].should == 'xml'
|
|
333
|
-
action.should == "create"
|
|
334
|
-
controller.body.should == :create
|
|
335
|
-
end
|
|
336
|
-
|
|
337
|
-
it "should handle request: POST /posts.xml and return Posts#create format xml" do
|
|
338
|
-
controller, action = request(:post, '/posts.xml')
|
|
339
|
-
controller.class.should == Posts
|
|
340
|
-
controller.params[:format].should == 'xml'
|
|
341
|
-
action.should == "create"
|
|
342
|
-
controller.body.should == :create
|
|
343
|
-
end
|
|
344
|
-
|
|
345
|
-
it "should handle request: PUT /posts/1 and return Posts#update" do
|
|
346
|
-
controller, action = request(:put, '/posts/1')
|
|
347
|
-
controller.class.should == Posts
|
|
348
|
-
action.should == "update"
|
|
349
|
-
controller.params[:id].should == '1'
|
|
350
|
-
controller.body.should == :update
|
|
351
|
-
end
|
|
352
|
-
|
|
353
|
-
it "should handle request: PUT /posts/1/comments/1 and return Comments#update with post_id == 1" do
|
|
354
|
-
controller, action = request(:put, '/posts/1/comments/1')
|
|
355
|
-
controller.class.should == Comments
|
|
356
|
-
action.should == "update"
|
|
357
|
-
controller.params[:post_id].should == '1'
|
|
358
|
-
controller.params[:id].should == '1'
|
|
359
|
-
controller.body.should == :update
|
|
360
|
-
end
|
|
361
|
-
|
|
362
|
-
it "should handle request: PUT /posts/1.xml and return Posts#update format xml" do
|
|
363
|
-
controller, action = request(:put, '/posts/1.xml')
|
|
364
|
-
controller.class.should == Posts
|
|
365
|
-
controller.params[:format].should == 'xml'
|
|
366
|
-
controller.params[:id].should == '1'
|
|
367
|
-
action.should == "update"
|
|
368
|
-
controller.body.should == :update
|
|
369
|
-
end
|
|
370
|
-
|
|
371
|
-
it "should handle request: PUT /posts/1/comments/1.xml and return Comments#update with post_id == 1 and format xml" do
|
|
372
|
-
controller, action = request(:put, '/posts/1/comments/1.xml')
|
|
373
|
-
controller.class.should == Comments
|
|
374
|
-
action.should == "update"
|
|
375
|
-
controller.params[:post_id].should == '1'
|
|
376
|
-
controller.params[:format].should == 'xml'
|
|
377
|
-
controller.params[:id].should == '1'
|
|
378
|
-
controller.body.should == :update
|
|
379
|
-
end
|
|
380
|
-
|
|
381
|
-
it "should handle request: DELETE /posts/1 and return Posts#destroy" do
|
|
382
|
-
controller, action = request(:delete, '/posts/1')
|
|
383
|
-
controller.class.should == Posts
|
|
384
|
-
controller.params[:id].should == '1'
|
|
385
|
-
action.should == "destroy"
|
|
386
|
-
controller.body.should == :destroy
|
|
387
|
-
end
|
|
388
|
-
|
|
389
|
-
it "should handle request: DELETE /posts/1/comments/1 and return Comments#destroy with post_id == 1" do
|
|
390
|
-
controller, action = request(:delete, '/posts/1/comments/1')
|
|
391
|
-
controller.class.should == Comments
|
|
392
|
-
controller.params[:id].should == '1'
|
|
393
|
-
controller.params[:post_id].should == '1'
|
|
394
|
-
action.should == "destroy"
|
|
395
|
-
controller.body.should == :destroy
|
|
396
|
-
end
|
|
397
|
-
|
|
398
|
-
it "should handle request: DELETE /posts/1.xml and return Posts#destroy format xml" do
|
|
399
|
-
controller, action = request(:delete, '/posts/1.xml')
|
|
400
|
-
controller.class.should == Posts
|
|
401
|
-
controller.params[:format].should == 'xml'
|
|
402
|
-
controller.params[:id].should == '1'
|
|
403
|
-
action.should == "destroy"
|
|
404
|
-
controller.body.should == :destroy
|
|
405
|
-
end
|
|
406
|
-
|
|
407
|
-
it "should handle request: DELETE /posts/1/comments/1.xml and return Comments#destroy with post_id == 1" do
|
|
408
|
-
controller, action = request(:delete, '/posts/1/comments/1.xml')
|
|
409
|
-
controller.class.should == Comments
|
|
410
|
-
controller.params[:id].should == '1'
|
|
411
|
-
controller.params[:format].should == 'xml'
|
|
412
|
-
controller.params[:post_id].should == '1'
|
|
413
|
-
action.should == "destroy"
|
|
414
|
-
controller.body.should == :destroy
|
|
415
|
-
end
|
|
416
|
-
|
|
417
|
-
it "should handle request: GET /posts/1;stats and return Posts#stats" do
|
|
418
|
-
controller, action = request(:get, '/posts/1;stats')
|
|
419
|
-
controller.class.should == Posts
|
|
420
|
-
action.should == 'stats'
|
|
421
|
-
controller.params[:id].should == '1'
|
|
422
|
-
controller.body.should == :stats
|
|
423
|
-
end
|
|
424
|
-
|
|
425
|
-
it "should handle request: GET /posts/1/stats and return Posts#stats" do
|
|
426
|
-
controller, action = request(:get, '/posts/1/stats')
|
|
427
|
-
controller.class.should == Posts
|
|
428
|
-
action.should == 'stats'
|
|
429
|
-
controller.params[:id].should == '1'
|
|
430
|
-
controller.body.should == :stats
|
|
431
|
-
end
|
|
432
|
-
|
|
433
|
-
it "should handle request: GET /posts/1/comments/1;stats and return Comments#stats with post_id == 1" do
|
|
434
|
-
controller, action = request(:get, '/posts/1/comments/1;stats')
|
|
435
|
-
controller.class.should == Comments
|
|
436
|
-
action.should == 'stats'
|
|
437
|
-
controller.params[:id].should == '1'
|
|
438
|
-
controller.params[:post_id].should == '1'
|
|
439
|
-
controller.body.should == :stats
|
|
440
|
-
end
|
|
441
|
-
|
|
442
|
-
it "should handle request: GET /posts/1/comments/1/stats and return Comments#stats with post_id == 1" do
|
|
443
|
-
controller, action = request(:get, '/posts/1/comments/1/stats')
|
|
444
|
-
controller.class.should == Comments
|
|
445
|
-
action.should == 'stats'
|
|
446
|
-
controller.params[:id].should == '1'
|
|
447
|
-
controller.params[:post_id].should == '1'
|
|
448
|
-
controller.body.should == :stats
|
|
449
|
-
end
|
|
450
|
-
|
|
451
|
-
it "should handle request: PUT /posts/1;stats and return Posts#stats" do
|
|
452
|
-
controller, action = request(:put, '/posts/1;stats')
|
|
453
|
-
controller.class.should == Posts
|
|
454
|
-
action.should == 'stats'
|
|
455
|
-
controller.params[:id].should == '1'
|
|
456
|
-
controller.body.should == :stats
|
|
457
|
-
end
|
|
458
|
-
|
|
459
|
-
it "should handle request: PUT /posts/1/comments/1;stats and return Comments#stats with post_id == 1" do
|
|
460
|
-
controller, action = request(:get, '/posts/1/comments/1;stats')
|
|
461
|
-
controller.class.should == Comments
|
|
462
|
-
action.should == 'stats'
|
|
463
|
-
controller.params[:id].should == '1'
|
|
464
|
-
controller.params[:post_id].should == '1'
|
|
465
|
-
controller.body.should == :stats
|
|
466
|
-
end
|
|
467
|
-
|
|
468
|
-
it "should handle request: PUT /posts/1/comments/1/stats and return Comments#stats with post_id == 1" do
|
|
469
|
-
controller, action = request(:get, '/posts/1/comments/1/stats')
|
|
470
|
-
controller.class.should == Comments
|
|
471
|
-
action.should == 'stats'
|
|
472
|
-
controller.params[:id].should == '1'
|
|
473
|
-
controller.params[:post_id].should == '1'
|
|
474
|
-
controller.body.should == :stats
|
|
475
|
-
end
|
|
476
|
-
|
|
477
|
-
it "should show the custom error page" do
|
|
478
|
-
controller, action = request(:get, '/foo/error')
|
|
479
|
-
controller.body.should == "oh no!"
|
|
480
|
-
end
|
|
481
|
-
|
|
482
|
-
it "should show the a 404 error page" do
|
|
483
|
-
controller, action = request(:get, '/foo/raise404')
|
|
484
|
-
controller.status.should == Merb::ControllerExceptions::NotFound::STATUS
|
|
485
|
-
end
|
|
486
|
-
|
|
487
|
-
it "should not show the a 404 error page if you call with upcase url" do
|
|
488
|
-
controller, action = request(:get, '/Posts/1')
|
|
489
|
-
controller.status.should == Merb::ControllerExceptions::NotFound::STATUS
|
|
490
|
-
end
|
|
491
|
-
|
|
492
|
-
it "should not show the a 404 error page if you call with - in the controller name with no explicit route" do
|
|
493
|
-
controller, action = request(:get, '/pos-ts/1')
|
|
494
|
-
controller.status.should == Merb::ControllerExceptions::NotFound::STATUS
|
|
495
|
-
end
|
|
496
|
-
|
|
497
|
-
if defined?(ParseTreeArray)
|
|
498
|
-
it "should support parameterized actions with required arguments" do
|
|
499
|
-
controller, action = request(:get, '/bar/foo/1')
|
|
500
|
-
controller.body.should == "1"
|
|
501
|
-
end
|
|
502
|
-
|
|
503
|
-
it "should support parameterized actions with required and optional arguments" do
|
|
504
|
-
controller, action = request(:get, '/bar/bar?a=1&b=3')
|
|
505
|
-
controller.body.should == "1 3"
|
|
506
|
-
end
|
|
507
|
-
|
|
508
|
-
it "should use optional arguments in parameters if they exist" do
|
|
509
|
-
controller, action = request(:get, '/bar/bar?a=1')
|
|
510
|
-
controller.body.should == "1 2"
|
|
511
|
-
end
|
|
512
|
-
|
|
513
|
-
it "should use optional arguments even if a later argument is provided" do
|
|
514
|
-
controller, action = request(:get, '/bar/baz?a=1&c=5')
|
|
515
|
-
controller.body.should == "1 2 5"
|
|
516
|
-
end
|
|
517
|
-
|
|
518
|
-
it "should support actionargs with false as defaults" do
|
|
519
|
-
controller, action = request(:get, '/bar/bat?a=1')
|
|
520
|
-
controller.body.should == "1 false"
|
|
521
|
-
end
|
|
522
|
-
|
|
523
|
-
it "should support actionargs with nil as defaults" do
|
|
524
|
-
controller, action = request(:get, '/bar/bam?a=1')
|
|
525
|
-
controller.body.should == "1 nil"
|
|
526
|
-
end
|
|
527
|
-
end
|
|
528
|
-
end
|