File tree Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -99,6 +99,7 @@ def fixup_mode(dev, filename)
99
99
else
100
100
def fixup_mode ( dev , filename )
101
101
return dev if @binmode
102
+ filename = filename . respond_to? ( :to_path ) ? filename . to_path : filename
102
103
dev . autoclose = false
103
104
old_dev = dev
104
105
dev = File . new ( dev . fileno , mode : MODE , path : filename )
Original file line number Diff line number Diff line change 3
3
require 'logger'
4
4
require 'tempfile'
5
5
require 'tmpdir'
6
+ require 'pathname'
6
7
7
8
class TestLogDevice < Test ::Unit ::TestCase
8
9
class LogExcnRaiser
@@ -79,6 +80,20 @@ def test_initialize
79
80
File . unlink ( tempfile )
80
81
tempfile . close ( true )
81
82
end
83
+ # logfile object with Pathname object
84
+ tempfile = Tempfile . new ( "logger" )
85
+ pathname = Pathname . new ( tempfile . path )
86
+ logdev = d ( pathname )
87
+ begin
88
+ logdev . write ( 'world' )
89
+ logfile = File . read ( pathname )
90
+ assert_equal ( 1 , logfile . split ( /\n / ) . size )
91
+ assert_match ( /^world$/ , logfile )
92
+ assert_equal ( pathname , logdev . filename )
93
+ ensure
94
+ logdev . close
95
+ tempfile . close ( true )
96
+ end
82
97
end
83
98
84
99
def test_write
You can’t perform that action at this time.
0 commit comments