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,177 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
|
-
|
|
3
|
-
module Merb
|
|
4
|
-
class MailController
|
|
5
|
-
self._template_root = File.expand_path(File.join(File.dirname(__FILE__), '..', "fixtures/mailers/views"))
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
Merb::BootLoader.load_controller_template_path_cache
|
|
9
|
-
Merb::BootLoader.load_inline_helpers
|
|
10
|
-
|
|
11
|
-
class Merb::Mailer
|
|
12
|
-
self.delivery_method = :test_send
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
class TestMailController < Merb::MailController
|
|
16
|
-
|
|
17
|
-
def first
|
|
18
|
-
render_mail
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def second
|
|
22
|
-
render_mail
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def third
|
|
26
|
-
render_mail :text => :first, :html => :third
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def fourth
|
|
30
|
-
render_mail :text => "FOURTH_TEXT", :html => "FOURTH_HTML"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def fifth
|
|
34
|
-
render_mail :action => {:text => :first, :html => :third}
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def sixth
|
|
38
|
-
render_mail :action => {:text => :first}, :html => "SIXTH_HTML"
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def seventh
|
|
42
|
-
render_mail :text => :first, :html => "SEVENTH_HTML"
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def eighth
|
|
46
|
-
@testing = "TEST"
|
|
47
|
-
render_mail
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def ninth
|
|
51
|
-
render_mail
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def tenth
|
|
55
|
-
render_mail
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
class TestController < Merb::Controller
|
|
61
|
-
|
|
62
|
-
def one
|
|
63
|
-
send_mail TestMailController, :ninth, {:from => "foo@bar.com", :to => "foo@bar.com"}, {:x => "ONE_CONTROLLER"}
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
describe "A Merb Mail controller" do
|
|
69
|
-
|
|
70
|
-
def deliver(action)
|
|
71
|
-
TestMailController.dispatch_and_deliver action, :from => "foo@bar.com", :to => "foo@bar.com"
|
|
72
|
-
@delivery = Merb::Mailer.deliveries.last
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
undef :call_action if defined?(call_action)
|
|
76
|
-
def call_action(action)
|
|
77
|
-
@c = new_controller(action, TestController)
|
|
78
|
-
@c.dispatch(action)
|
|
79
|
-
@delivery = Merb::Mailer.deliveries.last
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it "should render files in its directory by default" do
|
|
83
|
-
deliver :first
|
|
84
|
-
@delivery.text.should == "TEXT\nFIRST\nENDTEXT"
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
it "should render files in its directory without a mimetype extension by default" do
|
|
88
|
-
deliver :second
|
|
89
|
-
@delivery.text.should == "TEXT\nSECOND\nENDTEXT"
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
it "should be able to accept a :text => :sym, :html => :sym render_mail" do
|
|
93
|
-
deliver :third
|
|
94
|
-
@delivery.text.should == "TEXT\nFIRST\nENDTEXT"
|
|
95
|
-
@delivery.html.should == "BASIC\nTHIRDHTML\nLAYOUT"
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
it "should be able to accept a :text => STRING, :html => STRING render_mail" do
|
|
99
|
-
deliver :fourth
|
|
100
|
-
@delivery.text.should == "FOURTH_TEXT"
|
|
101
|
-
@delivery.html.should == "FOURTH_HTML"
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
it "should be able to accept an :action => {:text => :sym, :html => :sym}" do
|
|
105
|
-
deliver :fifth
|
|
106
|
-
@delivery.text.should == "TEXT\nFIRST\nENDTEXT"
|
|
107
|
-
@delivery.html.should == "BASIC\nTHIRDHTML\nLAYOUT"
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
it "should be able to accept a mix of action and :html => STRING" do
|
|
111
|
-
deliver :sixth
|
|
112
|
-
@delivery.text.should == "TEXT\nFIRST\nENDTEXT"
|
|
113
|
-
@delivery.html.should == "SIXTH_HTML"
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
it "should be able to accept a mix of :text => :sym and :html => STRING" do
|
|
117
|
-
deliver :seventh
|
|
118
|
-
@delivery.text.should == "TEXT\nFIRST\nENDTEXT"
|
|
119
|
-
@delivery.html.should == "SEVENTH_HTML"
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
it "should hold onto instance variables" do
|
|
123
|
-
deliver :eighth
|
|
124
|
-
@delivery.html.should == "BASIC\nTEST\nLAYOUT"
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
it "should have access to the params sent by the calling controller" do
|
|
128
|
-
@in = Merb::Test::FakeRequest.new
|
|
129
|
-
@res = StringIO.new
|
|
130
|
-
call_action :one
|
|
131
|
-
@delivery.html.should == "BASIC\nONE_CONTROLLER\nLAYOUT"
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
it "should not raise an error if there are no templates" do
|
|
135
|
-
lambda do
|
|
136
|
-
deliver :tenth
|
|
137
|
-
end.should_not raise_error
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
it "should log an error if there are no templates available" do
|
|
141
|
-
Merb.logger.should_receive(:error).once
|
|
142
|
-
deliver :tenth
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
describe "Merb::MailController with url generation" do
|
|
148
|
-
|
|
149
|
-
it_should_behave_like "class with general url generation"
|
|
150
|
-
it_should_behave_like "non routeable controller with url mixin"
|
|
151
|
-
|
|
152
|
-
def new_url_controller(route, params = {:action => 'show', :controller => 'Test'})
|
|
153
|
-
request = OpenStruct.new
|
|
154
|
-
request.route = route
|
|
155
|
-
request.params = params
|
|
156
|
-
response = OpenStruct.new
|
|
157
|
-
response.read = ""
|
|
158
|
-
|
|
159
|
-
@controller = Merb::Controller.build(request, response)
|
|
160
|
-
TestMailController.new(params, @controller)
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
it "should raise an error if no controller is specified and the base controller is not set" do
|
|
164
|
-
c = new_url_controller(@default_route, {})
|
|
165
|
-
lambda do
|
|
166
|
-
the_url = c.url(:action => "bar")
|
|
167
|
-
end.should raise_error
|
|
168
|
-
end
|
|
169
|
-
|
|
170
|
-
it "should use the base controller when it is set to generate a url when no :controller option is specified" do
|
|
171
|
-
c = new_url_controller(@defualt_route, :controller => "foo")
|
|
172
|
-
lambda do
|
|
173
|
-
the_url = c.url(:action => "bar")
|
|
174
|
-
the_url.should == "/foo/bar"
|
|
175
|
-
end.should_not raise_error
|
|
176
|
-
end
|
|
177
|
-
end
|
data/spec/merb/mailer_spec.rb
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
|
-
|
|
3
|
-
class TestMailer < Merb::Mailer
|
|
4
|
-
self.delivery_method = :test_send
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
class TestSMTPMailer < Merb::Mailer
|
|
8
|
-
self.delivery_method = :net_smtp
|
|
9
|
-
self.config = { :host => 'smtp.yourserver.com',
|
|
10
|
-
:port => '25',
|
|
11
|
-
:user => 'user',
|
|
12
|
-
:pass => 'pass',
|
|
13
|
-
:auth => :plain }
|
|
14
|
-
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
class TestSendmailMailer < Merb::Mailer
|
|
18
|
-
self.delivery_method = :sendmail
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def setup_test_mailer klass = TestMailer
|
|
22
|
-
@m = klass.new :to => "test@test.com",
|
|
23
|
-
:from => "foo@bar.com",
|
|
24
|
-
:subject => "Test Subject",
|
|
25
|
-
:body => "Test"
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
describe "a merb mailer" do
|
|
29
|
-
|
|
30
|
-
it "should be able to send test emails" do
|
|
31
|
-
setup_test_mailer
|
|
32
|
-
@m.deliver!
|
|
33
|
-
TestMailer.deliveries.size.should == 1
|
|
34
|
-
delivery = TestMailer.deliveries.last
|
|
35
|
-
delivery.to.should include("test@test.com")
|
|
36
|
-
delivery.from.should include("foo@bar.com")
|
|
37
|
-
delivery.subject.should include("Test Subject")
|
|
38
|
-
delivery.body.should include("Test")
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it "should be able to accept attachments" do
|
|
42
|
-
setup_test_mailer
|
|
43
|
-
@m.attach File.open("README")
|
|
44
|
-
@m.deliver!
|
|
45
|
-
delivery = TestMailer.deliveries.last
|
|
46
|
-
delivery.instance_variable_get("@attachments").size.should == 1
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
it "should be able to accept multiple attachments" do
|
|
50
|
-
setup_test_mailer
|
|
51
|
-
@m.attach [[File.open("README")], [File.open("LICENSE")]]
|
|
52
|
-
@m.deliver!
|
|
53
|
-
delivery = TestMailer.deliveries.last
|
|
54
|
-
delivery.instance_variable_get("@attachments").size.should == 2
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
it "should be able to send mails via SMTP" do
|
|
58
|
-
setup_test_mailer TestSMTPMailer
|
|
59
|
-
Net::SMTP.stub!(:start).and_return(true)
|
|
60
|
-
Net::SMTP.should_receive(:start).with("smtp.yourserver.com", 25, nil, "user", "pass", :plain)
|
|
61
|
-
@m.deliver!
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
it "should send mails via SMTP with no auth" do
|
|
65
|
-
setup_test_mailer TestSMTPMailer
|
|
66
|
-
@m.config[:auth] = nil
|
|
67
|
-
Net::SMTP.stub!(:start).and_return(true)
|
|
68
|
-
Net::SMTP.should_receive(:start).with("smtp.yourserver.com", 25, nil, "user", "pass", nil)
|
|
69
|
-
@m.deliver!
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
it "should be able to send mails via sendmail" do
|
|
73
|
-
sendmail = mock("/usr/sbin/sendmail", :null_object => true)
|
|
74
|
-
setup_test_mailer TestSendmailMailer
|
|
75
|
-
IO.should_receive(:popen).with("/usr/sbin/sendmail #{@m.mail.to}", "w+").and_return(sendmail)
|
|
76
|
-
@m.deliver!
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
it "should be able to use a different sendmail path" do
|
|
80
|
-
sendmail = mock("/somewhere/sendmail", :null_object => true)
|
|
81
|
-
setup_test_mailer TestSendmailMailer
|
|
82
|
-
@m.config[:sendmail_path] = '/somewhere/sendmail'
|
|
83
|
-
IO.should_receive(:popen).with("/somewhere/sendmail #{@m.mail.to}", "w+").and_return(sendmail)
|
|
84
|
-
@m.deliver!
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
end
|
data/spec/merb/multipart_spec.rb
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Merb::Test::Multipart::Param, '.to_multipart' do
|
|
4
|
-
it "should represent the key and value correctly" do
|
|
5
|
-
param = Merb::Test::Multipart::Param.new('foo', 'bar')
|
|
6
|
-
param.to_multipart.should == %(Content-Disposition: form-data; name="foo"\r\n\r\nbar\r\n)
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
describe Merb::Test::Multipart::FileParam, '.to_multipart' do
|
|
11
|
-
it "should represent the key, filename and content correctly" do
|
|
12
|
-
param = Merb::Test::Multipart::FileParam.new('foo', '/bar.txt', 'baz')
|
|
13
|
-
param.to_multipart.should == %(Content-Disposition: form-data; name="foo"; filename="/bar.txt"\r\nContent-Type: text/plain\r\n\r\nbaz\r\n)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
describe Merb::Test::Multipart::Post, '.push_params(params) param parsing' do
|
|
18
|
-
before(:each) do
|
|
19
|
-
@fake_return_param = mock('fake return_param')
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it "should create Param from params when param doesn't respond to read" do
|
|
23
|
-
params = { 'normal' => 'normal_param' }
|
|
24
|
-
Merb::Test::Multipart::Param.should_receive(:new).with('normal', 'normal_param').and_return(@fake_return_param)
|
|
25
|
-
Merb::Test::Multipart::Post.new.push_params(params)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it "should create FileParam from params when param does response to read" do
|
|
29
|
-
file_param = mock('file param')
|
|
30
|
-
file_param.should_receive(:read).and_return('file contents')
|
|
31
|
-
file_param.should_receive(:path).and_return('file.txt')
|
|
32
|
-
params = { 'file' => file_param }
|
|
33
|
-
Merb::Test::Multipart::FileParam.should_receive(:new).with('file', 'file.txt', 'file contents').and_return(@fake_return_param)
|
|
34
|
-
Merb::Test::Multipart::Post.new.push_params(params)
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
describe Merb::Test::Multipart::Post, '.to_multipart' do
|
|
39
|
-
it "should create a multipart request from the params" do
|
|
40
|
-
file_param = mock('file param')
|
|
41
|
-
file_param.should_receive(:read).and_return('file contents')
|
|
42
|
-
file_param.should_receive(:path).and_return('file.txt')
|
|
43
|
-
params = { 'file' => file_param, 'normal' => 'normal_param' }
|
|
44
|
-
multipart = Merb::Test::Multipart::Post.new(params)
|
|
45
|
-
query, content_type = multipart.to_multipart
|
|
46
|
-
content_type.should == "multipart/form-data, boundary=----------0xKhTmLbOuNdArY"
|
|
47
|
-
query.should == "------------0xKhTmLbOuNdArY\r\nContent-Disposition: form-data; name=\"file\"; filename=\"file.txt\"\r\nContent-Type: text/plain\r\n\r\nfile contents\r\n------------0xKhTmLbOuNdArY\r\nContent-Disposition: form-data; name=\"normal\"\r\n\r\nnormal_param\r\n------------0xKhTmLbOuNdArY--"
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
|
-
Merb::Template::Erubis # Need to initialise the Erubis template
|
|
3
|
-
|
|
4
|
-
class Main < Merb::Controller
|
|
5
|
-
|
|
6
|
-
def index
|
|
7
|
-
part TodoPart => :list
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def index2
|
|
11
|
-
part TodoPart => :one
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def index3
|
|
15
|
-
part(TodoPart => :one) + part(TodoPart => :list)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def index4
|
|
19
|
-
provides [:xml, :js]
|
|
20
|
-
part(TodoPart => :formatted_output)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class TodoPart < Merb::PartController
|
|
27
|
-
self._template_root = File.expand_path(File.join(File.dirname(__FILE__), '..', "fixtures/parts/views"))
|
|
28
|
-
|
|
29
|
-
before :load_todos
|
|
30
|
-
|
|
31
|
-
def list
|
|
32
|
-
render
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def one
|
|
36
|
-
render :layout => :none, :action => :list
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def load_todos
|
|
40
|
-
@todos = ["Do this", "Do that", 'Do the other thing']
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def formatted_output
|
|
44
|
-
render
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
describe "A Merb PartController" do
|
|
50
|
-
|
|
51
|
-
before(:each) do
|
|
52
|
-
Merb::Router.prepare do |r|
|
|
53
|
-
r.default_routes
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
it "should render a part template with no layout" do
|
|
58
|
-
controller,action = request(:get, '/main/index2')
|
|
59
|
-
controller.body.should ==
|
|
60
|
-
"TODOPART\nDo this|Do that|Do the other thing\nTODOPART"
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
it "should render a part template with it's own layout" do
|
|
64
|
-
controller,_ = request(:get, '/main/index')
|
|
65
|
-
controller.body.should ==
|
|
66
|
-
"TODOLAYOUT\nTODOPART\nDo this|Do that|Do the other thing\nTODOPART\nTODOLAYOUT"
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
it "should render multiple parts if more then one part is passed in" do
|
|
70
|
-
controller,_ = request(:get, '/main/index3')
|
|
71
|
-
controller.body.should ==
|
|
72
|
-
"TODOPART\nDo this|Do that|Do the other thing\nTODOPART" +
|
|
73
|
-
"TODOLAYOUT\nTODOPART\nDo this|Do that|Do the other thing\nTODOPART\nTODOLAYOUT"
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
it "should render the html format by default to the controller that set it" do
|
|
77
|
-
controller,_ = request(:get, '/main/index4')
|
|
78
|
-
controller.body.should match(/part_html_format/m)
|
|
79
|
-
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it "should render the xml format according to the controller" do
|
|
83
|
-
controller,_ = request(:get, '/main/index4.xml')
|
|
84
|
-
controller.body.should match(/part_xml_format/m)
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
it "should render the xml format according to the controller" do
|
|
88
|
-
controller,_ = request(:get, '/main/index4.js')
|
|
89
|
-
controller.body.should match(/part_js_format/m)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
describe "A Merb Part Controller with urls" do
|
|
95
|
-
|
|
96
|
-
it_should_behave_like "class with general url generation"
|
|
97
|
-
it_should_behave_like "non routeable controller with url mixin"
|
|
98
|
-
|
|
99
|
-
def new_url_controller(route, params = {:action => 'show', :controller => 'Test'})
|
|
100
|
-
request = OpenStruct.new
|
|
101
|
-
request.route = route
|
|
102
|
-
request.params = params
|
|
103
|
-
response = OpenStruct.new
|
|
104
|
-
response.read = ""
|
|
105
|
-
|
|
106
|
-
@controller = Merb::Controller.build(request, response)
|
|
107
|
-
TodoPart.new(@controller)
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
it "should use the web_controllers type if no controller is specified" do
|
|
111
|
-
c = new_url_controller(@default_route, :controller => "my_controller")
|
|
112
|
-
the_url = c.url(:action => "bar")
|
|
113
|
-
the_url.should == "/my_controller/bar"
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
it "should raise an error if the web_controller's params[:controller] is not set" do
|
|
117
|
-
c = new_url_controller(@default_route, {})
|
|
118
|
-
lambda do
|
|
119
|
-
the_url = c.url(:action => "bar")
|
|
120
|
-
the_url.should == "/my_controller/bar"
|
|
121
|
-
end.should raise_error
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
end
|
data/spec/merb/plugins_spec.rb
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "Plugins", "default GENERATOR_SCOPE" do
|
|
4
|
-
it "should have :merb_default first" do
|
|
5
|
-
Merb::GENERATOR_SCOPE.first.should == :merb_default
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it "should have :merb" do
|
|
9
|
-
Merb::GENERATOR_SCOPE.should include(:merb)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
it "should have :rspec last" do
|
|
13
|
-
Merb::GENERATOR_SCOPE.last.should == :rspec
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
describe "Plugins","use_orm" do
|
|
18
|
-
before(:each) do
|
|
19
|
-
Merb::GENERATOR_SCOPE.replace [:merb_default, :merb, :rspec]
|
|
20
|
-
Kernel.stub!(:dependency)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
it "should raise an error if use_orm is called twice" do
|
|
24
|
-
use_orm(:activerecord)
|
|
25
|
-
lambda { use_orm(:datamapper) }.should raise_error
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it "should not have :merb_default in GENERATOR_SCOPE with use_orm(:activerecord)" do
|
|
29
|
-
use_orm(:activerecord)
|
|
30
|
-
Merb::GENERATOR_SCOPE.should_not include(:merb_default)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it "should have :activerecord in GENERATOR_SCOPE with use_orm(:activerecord)" do
|
|
34
|
-
use_orm(:activerecord)
|
|
35
|
-
Merb::GENERATOR_SCOPE.should include(:activerecord)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it "should have :activerecord first in GENERATOR_SCOPE with use_orm(:activerecord)" do
|
|
39
|
-
use_orm(:activerecord)
|
|
40
|
-
Merb::GENERATOR_SCOPE.first.should == :activerecord
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
it "should call dependency :merb_activerecord with use_orm(:activerecord)" do
|
|
44
|
-
Kernel.should_receive(:dependency).with("merb_activerecord").once.
|
|
45
|
-
and_return(true)
|
|
46
|
-
use_orm(:activerecord)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
describe "Plugins","use_test" do
|
|
52
|
-
before(:each) do
|
|
53
|
-
Merb::GENERATOR_SCOPE.replace [:merb_default, :merb, :rspec]
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
it "should have :rspec in GENERATOR_SCOPE by default" do
|
|
57
|
-
Merb::GENERATOR_SCOPE.should include(:rspec)
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
it "should not have :rspec in GENERATOR_SCOPE with use_test(:test_unit)" do
|
|
61
|
-
use_test(:test_unit)
|
|
62
|
-
Merb::GENERATOR_SCOPE.should_not include(:rspec)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
it "should have :test_unit in GENERATOR_SCOPE with use_test(:test_unit)" do
|
|
66
|
-
use_test(:test_unit)
|
|
67
|
-
Merb::GENERATOR_SCOPE.should include(:test_unit)
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
it "should have :test_unit last in GENERATOR_SCOPE with use_test(:test_unit)" do
|
|
71
|
-
use_test(:test_unit)
|
|
72
|
-
Merb::GENERATOR_SCOPE.last.should == :test_unit
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
it "should raise an error if called with an unsupported test framework" do
|
|
76
|
-
lambda { use_test(:fiddlefaddle) }.should raise_error
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
it "should allow adding more than test_unit or rspec via plugins"
|
|
80
|
-
end
|