Checkout of Instiki Trunk 1/21/2007.
This commit is contained in:
commit
69b62b6f33
1138 changed files with 139586 additions and 0 deletions
82
vendor/rails/activesupport/test/clean_logger_test.rb
vendored
Normal file
82
vendor/rails/activesupport/test/clean_logger_test.rb
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
require 'test/unit'
|
||||
require 'stringio'
|
||||
require File.dirname(__FILE__) + '/../lib/active_support/clean_logger'
|
||||
require File.dirname(__FILE__) + '/../lib/active_support/core_ext/kernel.rb' unless defined? silence_warnings
|
||||
|
||||
class CleanLoggerTest < Test::Unit::TestCase
|
||||
def setup
|
||||
@out = StringIO.new
|
||||
@logger = Logger.new(@out)
|
||||
end
|
||||
|
||||
def test_format_message
|
||||
@logger.error 'error'
|
||||
assert_equal "error\n", @out.string
|
||||
end
|
||||
|
||||
def test_silence
|
||||
# Without yielding self.
|
||||
@logger.silence do
|
||||
@logger.debug 'debug'
|
||||
@logger.info 'info'
|
||||
@logger.warn 'warn'
|
||||
@logger.error 'error'
|
||||
@logger.fatal 'fatal'
|
||||
end
|
||||
|
||||
# Yielding self.
|
||||
@logger.silence do |logger|
|
||||
logger.debug 'debug'
|
||||
logger.info 'info'
|
||||
logger.warn 'warn'
|
||||
logger.error 'error'
|
||||
logger.fatal 'fatal'
|
||||
end
|
||||
|
||||
# Silencer off.
|
||||
Logger.silencer = false
|
||||
@logger.silence do |logger|
|
||||
logger.warn 'unsilenced'
|
||||
end
|
||||
Logger.silencer = true
|
||||
|
||||
assert_equal "error\nfatal\nerror\nfatal\nunsilenced\n", @out.string
|
||||
end
|
||||
end
|
||||
|
||||
class CleanLogger_182_to_183_Test < Test::Unit::TestCase
|
||||
def setup
|
||||
silence_warnings do
|
||||
if Logger.method_defined?(:formatter=)
|
||||
Logger.send(:alias_method, :hide_formatter=, :formatter=)
|
||||
Logger.send(:undef_method, :formatter=)
|
||||
else
|
||||
Logger.send(:define_method, :formatter=) { }
|
||||
end
|
||||
load File.dirname(__FILE__) + '/../lib/active_support/clean_logger.rb'
|
||||
end
|
||||
|
||||
@out = StringIO.new
|
||||
@logger = Logger.new(@out)
|
||||
@logger.progname = 'CLEAN LOGGER TEST'
|
||||
end
|
||||
|
||||
def teardown
|
||||
silence_warnings do
|
||||
if Logger.method_defined?(:hide_formatter=)
|
||||
Logger.send(:alias_method, :formatter=, :hide_formatter=)
|
||||
else
|
||||
Logger.send(:undef_method, :formatter=)
|
||||
end
|
||||
load File.dirname(__FILE__) + '/../lib/active_support/clean_logger.rb'
|
||||
end
|
||||
end
|
||||
|
||||
# Since we've fooled Logger into thinking we're on 1.8.2 if we're on 1.8.3
|
||||
# and on 1.8.3 if we're on 1.8.2, it'll define format_message with the
|
||||
# wrong order of arguments and therefore print progname instead of msg.
|
||||
def test_format_message_with_faked_version
|
||||
@logger.error 'error'
|
||||
assert_equal "CLEAN LOGGER TEST\n", @out.string
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue