From c90d31eb376ebe331394112697ec33a22f61c2d8 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sun, 7 Oct 2007 18:54:36 +0000 Subject: Correct BufferedLogger#level? checks. Closes #9806. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7775 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activesupport/CHANGELOG | 2 ++ activesupport/lib/active_support/buffered_logger.rb | 2 +- activesupport/test/buffered_logger_test.rb | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index e7d905540e..77432a7720 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Correct BufferedLogger#level? checks. #9806 [wildchild, Johan Sorensen] + * String#to_xs uses Eric Wong's fast_xs extension, if available, for Builder speedup. http://bogomips.org/fast_xs/ [Jeremy Kemper] * Introduce BasicObject as Builder::BlankSlate for Ruby 1.9 forward compatibility. [Jeremy Kemper] diff --git a/activesupport/lib/active_support/buffered_logger.rb b/activesupport/lib/active_support/buffered_logger.rb index e666b7f0ed..37e6d200cd 100644 --- a/activesupport/lib/active_support/buffered_logger.rb +++ b/activesupport/lib/active_support/buffered_logger.rb @@ -70,7 +70,7 @@ module ActiveSupport end def #{severity.downcase}? - @level == #{severity} + #{severity} >= @level end EOT end diff --git a/activesupport/test/buffered_logger_test.rb b/activesupport/test/buffered_logger_test.rb index dc6b59aee9..5ce197eba8 100644 --- a/activesupport/test/buffered_logger_test.rb +++ b/activesupport/test/buffered_logger_test.rb @@ -85,6 +85,13 @@ class BufferedLoggerTest < Test::Unit::TestCase assert !@output.string.empty?, @logger.buffer.size end end + + def test_should_know_if_its_loglevel_is_below_a_given_level + ActiveSupport::BufferedLogger::Severity.constants.each do |level| + @logger.level = ActiveSupport::BufferedLogger::Severity.const_get(level) - 1 + assert @logger.send("#{level.downcase}?"), "didn't know if it was #{level.downcase}? or below" + end + end def test_should_auto_flush_every_n_messages @logger.auto_flushing = 5 -- cgit v1.2.3