aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2018-10-03 16:45:53 -0400
committerGitHub <noreply@github.com>2018-10-03 16:45:53 -0400
commitebf98df9fb705738ece08e3182d41e6f604be491 (patch)
treeb9bf196968abd893ebba3a01eb55a406a32a8d88 /activesupport/test
parentf0e9a8987329bb848b712044942160a3a3468343 (diff)
parent05ad44eb89047ac13e31149fa6cbc1459c5545a9 (diff)
downloadrails-ebf98df9fb705738ece08e3182d41e6f604be491.tar.gz
rails-ebf98df9fb705738ece08e3182d41e6f604be491.tar.bz2
rails-ebf98df9fb705738ece08e3182d41e6f604be491.zip
Merge pull request #34055 from Edouard-chin/ec-logger-fix
Fix the LoggerSilence to work as described:
Diffstat (limited to 'activesupport/test')
-rw-r--r--activesupport/test/broadcast_logger_test.rb3
-rw-r--r--activesupport/test/silence_logger_test.rb35
2 files changed, 37 insertions, 1 deletions
diff --git a/activesupport/test/broadcast_logger_test.rb b/activesupport/test/broadcast_logger_test.rb
index eacb358ee0..7dfa8a62bd 100644
--- a/activesupport/test/broadcast_logger_test.rb
+++ b/activesupport/test/broadcast_logger_test.rb
@@ -123,6 +123,8 @@ module ActiveSupport
end
class CustomLogger
+ include ActiveSupport::LoggerSilence
+
attr_reader :adds, :closed, :chevrons
attr_accessor :level, :progname, :formatter, :local_level
@@ -174,7 +176,6 @@ module ActiveSupport
end
class FakeLogger < CustomLogger
- include ActiveSupport::LoggerSilence
end
end
end
diff --git a/activesupport/test/silence_logger_test.rb b/activesupport/test/silence_logger_test.rb
new file mode 100644
index 0000000000..fc5c5c1161
--- /dev/null
+++ b/activesupport/test/silence_logger_test.rb
@@ -0,0 +1,35 @@
+# frozen_string_literal: true
+
+require "abstract_unit"
+require "active_support/logger_silence"
+require "logger"
+
+class LoggerSilenceTest < ActiveSupport::TestCase
+ class MyLogger < ::Logger
+ include LoggerSilence
+ end
+
+ setup do
+ @io = StringIO.new
+ @logger = MyLogger.new(@io)
+ end
+
+ test "#silence silences the log" do
+ @logger.silence(Logger::ERROR) do
+ @logger.info("Foo")
+ end
+ @io.rewind
+
+ assert_empty @io.read
+ end
+
+ test "#debug? is true when setting the temporary level to Logger::DEBUG" do
+ @logger.level = Logger::INFO
+
+ @logger.silence(Logger::DEBUG) do
+ assert_predicate @logger, :debug?
+ end
+
+ assert_predicate @logger, :info?
+ end
+end