Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make tests for the presence of MiniTest consistent.
There is an inconsistency between the conditional logic in the definition of ActiveSupport::TestCase and the conditional logic in ActiveSupport::Testing::SetupAndTeardown [1]. In some circumstances, it's possible for MiniTest to be defined, but for ActiveSupport::TestCase *not* to have MiniTest::Unit::TestCase or MiniTest::Assertions in its ancestor chain. e.g. in Ruby 1.8 with the minitest gem included in the bundle. In this case, the Test::Unit/MiniTest shim/wrapper is not present and so Test::Unit::TestCase (and therefore ActiveSupport::TestCase) is completely independent of MiniTest::Unit::TestCase. The conditional logic in the definition of ActiveSupport::TestCase does not take this scenario into account, whereas the logic in ActiveSupport::Testing::SetupAndTeardown does take it into account. The changes in this commit are an alternative to the change in [2] which was reverted in [3]. Similar conditional logic exists in ActiveSupport::Testing::Isolation [4], ActiveSupport::Testing::Pending [5], ActiveSupport::Testing::Performance [6], and in their respective tests. I have not addressed these, because I know less about what's going on there, but it would be worth bringing them all into line too. [1] https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/setup_and_teardown.rb#L13 [2] c3e186e [3] 267fb61 [4] https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/isolation.rb#L41 [5] https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/pending.rb#L14 [6] https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/performance.rb#L17
- Loading branch information