From 7c0dfa35dbcfdb60f4cbd07b55f194a04e1b48c1 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Wed, 3 Dec 2008 13:58:47 -0600 Subject: [PATCH] Register bogus template handlers for ActionMailer test fixtures --- actionmailer/test/abstract_unit.rb | 4 ++++ actionmailer/test/mail_service_test.rb | 6 ++++++ actionpack/lib/action_view/template.rb | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/actionmailer/test/abstract_unit.rb b/actionmailer/test/abstract_unit.rb index 1617b88c8e..ad1eac912b 100644 --- a/actionmailer/test/abstract_unit.rb +++ b/actionmailer/test/abstract_unit.rb @@ -9,6 +9,10 @@ # Show backtraces for deprecated behavior for quicker cleanup. ActiveSupport::Deprecation.debug = true +# Bogus template processors +ActionView::Template.register_template_handler :haml, lambda { |template| "Look its HAML!" } +ActionView::Template.register_template_handler :bak, lambda { |template| "Lame backup" } + $:.unshift "#{File.dirname(__FILE__)}/fixtures/helpers" ActionMailer::Base.template_root = "#{File.dirname(__FILE__)}/fixtures" diff --git a/actionmailer/test/mail_service_test.rb b/actionmailer/test/mail_service_test.rb index c49049cc6a..e469302fe1 100644 --- a/actionmailer/test/mail_service_test.rb +++ b/actionmailer/test/mail_service_test.rb @@ -389,6 +389,8 @@ def test_custom_template end def test_custom_templating_extension + assert ActionView::Template.template_handler_extensions.include?("haml"), "haml extension was not registered" + # N.b., custom_templating_extension.text.plain.haml is expected to be in fixtures/test_mailer directory expected = new_mail expected.to = @recipient @@ -799,6 +801,8 @@ def test_explicitly_multipart_with_invalid_content_type end def test_implicitly_multipart_messages + assert ActionView::Template.template_handler_extensions.include?("bak"), "bak extension was not registered" + mail = TestMailer.create_implicitly_multipart_example(@recipient) assert_equal 3, mail.parts.length assert_equal "1.0", mail.mime_version @@ -812,6 +816,8 @@ def test_implicitly_multipart_messages end def test_implicitly_multipart_messages_with_custom_order + assert ActionView::Template.template_handler_extensions.include?("bak"), "bak extension was not registered" + mail = TestMailer.create_implicitly_multipart_example(@recipient, nil, ["text/yaml", "text/plain"]) assert_equal 3, mail.parts.length assert_equal "text/html", mail.parts[0].content_type diff --git a/actionpack/lib/action_view/template.rb b/actionpack/lib/action_view/template.rb index 52378e049e..e32b7688d0 100644 --- a/actionpack/lib/action_view/template.rb +++ b/actionpack/lib/action_view/template.rb @@ -9,9 +9,9 @@ class Template def initialize(template_path, load_paths = []) template_path = template_path.dup + @load_path, @filename = find_full_path(template_path, load_paths) @base_path, @name, @format, @extension = split(template_path) @base_path.to_s.gsub!(/\/$/, '') # Push to split method - @load_path, @filename = find_full_path(template_path, load_paths) # Extend with partial super powers extend RenderablePartial if @name =~ /^_/ -- GitLab