From 40a5ba30fb41eba633106509c5b362761b18d497 Mon Sep 17 00:00:00 2001 From: Kevin Robatel Date: Mon, 5 Feb 2018 12:04:25 +0100 Subject: Add SuppressedSummaryReporter and TestUnitReporter only if necessary --- railties/test/minitest/rails_plugin_test.rb | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 railties/test/minitest/rails_plugin_test.rb (limited to 'railties/test/minitest/rails_plugin_test.rb') diff --git a/railties/test/minitest/rails_plugin_test.rb b/railties/test/minitest/rails_plugin_test.rb new file mode 100644 index 0000000000..423e74fc66 --- /dev/null +++ b/railties/test/minitest/rails_plugin_test.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require "abstract_unit" + +class Minitest::RailsPluginTest < ActiveSupport::TestCase + setup do + @options = Minitest.process_args [] + @output = StringIO.new("".encode("UTF-8")) + end + + test "default reporters are replaced" do + reporter = Minitest::CompositeReporter.new + reporter << Minitest::SummaryReporter.new(@output, @options) + reporter << Minitest::ProgressReporter.new(@output, @options) + reporter << Minitest::Reporter.new(@output, @options) + + Minitest::plugin_rails_replace_reporters(reporter, {}) + + assert_equal 3, reporter.reporters.count + assert reporter.reporters.any? { |candidate| candidate.kind_of?(Minitest::SuppressedSummaryReporter) } + assert reporter.reporters.any? { |candidate| candidate.kind_of?(::Rails::TestUnitReporter) } + assert reporter.reporters.any? { |candidate| candidate.kind_of?(Minitest::Reporter) } + end + + test "no custom reporters are added if nothing to replace" do + reporter = Minitest::CompositeReporter.new + + Minitest::plugin_rails_replace_reporters(reporter, {}) + + assert_equal 0, reporter.reporters.count + end + + test "handle the case when reporter is not CompositeReporter" do + reporter = Minitest::Reporter.new + + Minitest::plugin_rails_replace_reporters(reporter, {}) + end +end -- cgit v1.2.3