summaryrefslogtreecommitdiff
path: root/test/logger/test_logger.rb
diff options
context:
space:
mode:
authorsonots <sonots@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-18 10:45:40 +0000
committersonots <sonots@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-18 10:45:40 +0000
commita0409533866991529136224b549f53f2ab61c8e4 (patch)
tree85b7685702092ba264dccae8e0c5e8b2cb78bb54 /test/logger/test_logger.rb
parentec2f63167ea71880f78cf73a3b676425655f78cb (diff)
Allow specifying logger parameters in constructor
* lib/logger.rb: Allow specifying logger prameters such as level, progname, datetime_format, formatter in constructor [Bug #12224] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/logger/test_logger.rb')
-rw-r--r--test/logger/test_logger.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb
index 836d3b30f4..ce3952352c 100644
--- a/test/logger/test_logger.rb
+++ b/test/logger/test_logger.rb
@@ -166,6 +166,48 @@ class TestLogger < Test::Unit::TestCase
assert_nil(logger.datetime_format)
end
+ def test_initialize_with_level
+ # default
+ logger = Logger.new(STDERR)
+ assert_equal(Logger::DEBUG, logger.level)
+ # config
+ logger = Logger.new(STDERR, level: :info)
+ assert_equal(Logger::INFO, logger.level)
+ end
+
+ def test_initialize_with_progname
+ # default
+ logger = Logger.new(STDERR)
+ assert_equal(nil, logger.progname)
+ # config
+ logger = Logger.new(STDERR, progname: :progname)
+ assert_equal(:progname, logger.progname)
+ end
+
+ def test_initialize_with_formatter
+ # default
+ logger = Logger.new(STDERR)
+ log = log(logger, :info, "foo")
+ assert_equal("foo\n", log.msg)
+ # config
+ logger = Logger.new(STDERR, formatter: proc { |severity, timestamp, progname, msg|
+ "#{severity}:#{msg}\n\n"
+ })
+ line = log_raw(logger, :info, "foo")
+ assert_equal("INFO:foo\n\n", line)
+ end
+
+ def test_initialize_with_datetime_format
+ # default
+ logger = Logger.new(STDERR)
+ log = log_add(logger, INFO, "foo")
+ assert_match(/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\s*\d+ $/, log.datetime)
+ # config
+ logger = Logger.new(STDERR, datetime_format: "%d%b%Y@%H:%M:%S")
+ log = log_add(logger, INFO, "foo")
+ assert_match(/^\d\d\w\w\w\d\d\d\d@\d\d:\d\d:\d\d$/, log.datetime)
+ end
+
def test_reopen
logger = Logger.new(STDERR)
logger.reopen(STDOUT)