rails/activesupport/test/silence_logger_test.rb
Michael Grosser 203998c916
allow running each test with pure ruby path/to/test.rb
also:
 - makes test dependencies obvious
 - makes tests runnable from within subfolders
2019-12-18 08:49:19 -06:00

36 lines
726 B
Ruby

# frozen_string_literal: true
require_relative "abstract_unit"
require "active_support/logger_silence"
require "logger"
class LoggerSilenceTest < ActiveSupport::TestCase
class MyLogger < ::Logger
include ActiveSupport::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