summaryrefslogtreecommitdiff
path: root/test/logger/test_formatter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/logger/test_formatter.rb')
-rw-r--r--test/logger/test_formatter.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/logger/test_formatter.rb b/test/logger/test_formatter.rb
new file mode 100644
index 0000000000..9465722991
--- /dev/null
+++ b/test/logger/test_formatter.rb
@@ -0,0 +1,35 @@
+# coding: US-ASCII
+# frozen_string_literal: false
+require 'logger'
+
+class TestFormatter < Test::Unit::TestCase
+ def test_call
+ severity = 'INFO'
+ time = Time.now
+ progname = 'ruby'
+ msg = 'This is a test'
+ formatter = Logger::Formatter.new
+
+ result = formatter.call(severity, time, progname, msg)
+ time_matcher = /\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}/
+ matcher = /#{severity[0..0]}, \[#{time_matcher} #\d+\] #{severity} -- #{progname}: #{msg}\n/
+
+ assert_match(matcher, result)
+ end
+
+ class CustomFormatter < Logger::Formatter
+ def call(time)
+ format_datetime(time)
+ end
+ end
+
+ def test_format_datetime
+ time = Time.now
+ formatter = CustomFormatter.new
+
+ result = formatter.call(time)
+ matcher = /^\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}$/
+
+ assert_match(matcher, result)
+ end
+end