aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/test/spec_type_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionmailer/test/spec_type_test.rb')
-rw-r--r--actionmailer/test/spec_type_test.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/actionmailer/test/spec_type_test.rb b/actionmailer/test/spec_type_test.rb
new file mode 100644
index 0000000000..90db59c2d2
--- /dev/null
+++ b/actionmailer/test/spec_type_test.rb
@@ -0,0 +1,37 @@
+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