diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-09-25 09:26:42 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-09-25 09:26:42 -0700 |
commit | c96b20f8d985c6fa87a8efda7a4884e3c35e5739 (patch) | |
tree | 4fd35e201d0636a50c398525d81e62b8adba536a /activesupport/test/testing/constant_lookup_test.rb | |
parent | a05a079c109ebbafd8112be0044c9d82b4a28d97 (diff) | |
parent | 64f254ccf74242453421d0c495388293dbc06c71 (diff) | |
download | rails-c96b20f8d985c6fa87a8efda7a4884e3c35e5739.tar.gz rails-c96b20f8d985c6fa87a8efda7a4884e3c35e5739.tar.bz2 rails-c96b20f8d985c6fa87a8efda7a4884e3c35e5739.zip |
Merge pull request #7749 from blowmage/minitest
Improve support for minitest's spec DSL
Diffstat (limited to 'activesupport/test/testing/constant_lookup_test.rb')
-rw-r--r-- | activesupport/test/testing/constant_lookup_test.rb | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/activesupport/test/testing/constant_lookup_test.rb b/activesupport/test/testing/constant_lookup_test.rb new file mode 100644 index 0000000000..f39d38e5cd --- /dev/null +++ b/activesupport/test/testing/constant_lookup_test.rb @@ -0,0 +1,58 @@ +require 'abstract_unit' + +class Foo; end +class Bar < Foo; + def index; end + def self.index; end +end +class Baz < Bar; end +module FooBar; end + +class TestLookup < ActiveSupport::TestCase + + def find_foo(name) + self.class.determine_constant_from_test_name(name) do |constant| + Class === constant && constant < Foo + end + end + + def find_module(name) + self.class.determine_constant_from_test_name(name) do |constant| + Module === constant + end + end + + def test_find_bar_from_foo + assert_equal Bar, find_foo("Bar") + assert_equal Bar, find_foo("Bar::index") + assert_equal Bar, find_foo("Bar::index::authenticated") + assert_equal Bar, find_foo("BarTest") + assert_equal Bar, find_foo("BarTest::index") + assert_equal Bar, find_foo("BarTest::index::authenticated") + end + + def test_find_module + assert_equal FooBar, find_module("FooBar") + assert_equal FooBar, find_module("FooBar::index") + assert_equal FooBar, find_module("FooBar::index::authenticated") + assert_equal FooBar, find_module("FooBarTest") + assert_equal FooBar, find_module("FooBarTest::index") + assert_equal FooBar, find_module("FooBarTest::index::authenticated") + end + + def test_returns_nil_when_cant_find_foo + assert_nil find_foo("DoesntExist") + assert_nil find_foo("DoesntExistTest") + assert_nil find_foo("DoesntExist::Nadda") + assert_nil find_foo("DoesntExist::Nadda::Nope") + assert_nil find_foo("DoesntExist::Nadda::Nope::NotHere") + end + + def test_returns_nil_when_cant_find_module + assert_nil find_module("DoesntExist") + assert_nil find_module("DoesntExistTest") + assert_nil find_module("DoesntExist::Nadda") + assert_nil find_module("DoesntExist::Nadda::Nope") + assert_nil find_module("DoesntExist::Nadda::Nope::NotHere") + end +end |