提交 0ce383db 编写于 作者: M Mike Moore

Register mailer tests for minitest's spec DSL

上级 52db1f91
......@@ -10,6 +10,13 @@ def initialize(name)
end
class TestCase < ActiveSupport::TestCase
# Use AM::TestCase for the base class when describing a mailer
register_spec_type(self) do |desc|
Class === desc && desc < ActionMailer::Base
end
register_spec_type(/Mailer( ?Test)?\z/i, self)
module Behavior
extend ActiveSupport::Concern
......
require 'abstract_unit'
class NotificationMailer < ActionMailer::Base; end
class Notifications < ActionMailer::Base; end
class SpecTypeTest < ActiveSupport::TestCase
def assert_mailer actual
assert_equal ActionMailer::TestCase, actual
end
def refute_mailer actual
refute_equal ActionMailer::TestCase, actual
end
def test_spec_type_resolves_for_class_constants
assert_mailer MiniTest::Spec.spec_type(NotificationMailer)
assert_mailer MiniTest::Spec.spec_type(Notifications)
end
def test_spec_type_resolves_for_matching_strings
assert_mailer MiniTest::Spec.spec_type("WidgetMailer")
assert_mailer MiniTest::Spec.spec_type("WidgetMailerTest")
assert_mailer MiniTest::Spec.spec_type("Widget Mailer Test")
# And is not case sensitive
assert_mailer MiniTest::Spec.spec_type("widgetmailer")
assert_mailer MiniTest::Spec.spec_type("widgetmailertest")
assert_mailer MiniTest::Spec.spec_type("widget mailer test")
end
def test_spec_type_wont_match_non_space_characters
refute_mailer MiniTest::Spec.spec_type("Widget Mailer\tTest")
refute_mailer MiniTest::Spec.spec_type("Widget Mailer\rTest")
refute_mailer MiniTest::Spec.spec_type("Widget Mailer\nTest")
refute_mailer MiniTest::Spec.spec_type("Widget Mailer\fTest")
refute_mailer MiniTest::Spec.spec_type("Widget MailerXTest")
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册