summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/logger/test_logdevice.rb3
-rw-r--r--test/logger/test_logger.rb23
2 files changed, 26 insertions, 0 deletions
diff --git a/test/logger/test_logdevice.rb b/test/logger/test_logdevice.rb
index 72802f690d..40f646d855 100644
--- a/test/logger/test_logdevice.rb
+++ b/test/logger/test_logdevice.rb
@@ -45,6 +45,7 @@ class TestLogDevice < Test::Unit::TestCase
begin
assert_file.exist?(@filename)
assert_predicate(logdev.dev, :sync)
+ refute_predicate(logdev.dev, :binmode?)
assert_equal(@filename, logdev.filename)
logdev.write('hello')
ensure
@@ -53,6 +54,8 @@ class TestLogDevice < Test::Unit::TestCase
# create logfile whitch is already exist.
logdev = d(@filename)
begin
+ assert_predicate(logdev.dev, :sync)
+ refute_predicate(logdev.dev, :binmode?)
logdev.write('world')
logfile = File.read(@filename)
assert_equal(2, logfile.split(/\n/).size)
diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb
index 5806e0c685..029203877a 100644
--- a/test/logger/test_logger.rb
+++ b/test/logger/test_logger.rb
@@ -240,6 +240,29 @@ class TestLogger < Test::Unit::TestCase
assert_equal("false\n", log.msg)
end
+ def test_add_binary_data_with_binmode_logdev
+ EnvUtil.with_default_internal(Encoding::UTF_8) do
+ begin
+ tempfile = Tempfile.new("logger")
+ tempfile.close
+ filename = tempfile.path
+ File.unlink(filename)
+
+ logger = Logger.new filename, binmode: true
+ logger.level = Logger::DEBUG
+
+ str = +"\x80"
+ str.force_encoding("ASCII-8BIT")
+
+ logger.add Logger::DEBUG, str
+ assert_equal(2, File.binread(filename).split(/\n/).size)
+ ensure
+ logger.close
+ tempfile.unlink
+ end
+ end
+ end
+
def test_level_log
logger = Logger.new(nil)
logger.progname = "my_progname"