diff options
author | Samuel Williams <[email protected]> | 2022-12-08 18:19:53 +1300 |
---|---|---|
committer | GitHub <[email protected]> | 2022-12-08 18:19:53 +1300 |
commit | 6fd5d2dc003bda5ce0685abd2b975d7ac7079d46 (patch) | |
tree | a7cffd3b1b2f40b76511d785b5c00f3d35245ee6 /spec/ruby/core | |
parent | b2764752b2bccb8e4574891d380d0f0a3d67add0 (diff) |
Introduce `IO.new(..., path:)` and promote `File#path` to `IO#path`. (#6867)
Notes
Notes:
Merged-By: ioquatix <[email protected]>
Diffstat (limited to 'spec/ruby/core')
-rw-r--r-- | spec/ruby/core/file/shared/path.rb | 14 | ||||
-rw-r--r-- | spec/ruby/core/io/path_spec.rb | 11 |
2 files changed, 19 insertions, 6 deletions
diff --git a/spec/ruby/core/file/shared/path.rb b/spec/ruby/core/file/shared/path.rb index 0a5abe33f0..ee8109ba05 100644 --- a/spec/ruby/core/file/shared/path.rb +++ b/spec/ruby/core/file/shared/path.rb @@ -78,13 +78,15 @@ describe :file_path, shared: true do rm_r @dir end - it "raises IOError if file was opened with File::TMPFILE" do - begin - File.open(@dir, File::RDWR | File::TMPFILE) do |f| - -> { f.send(@method) }.should raise_error(IOError) + ruby_version_is ""..."3.1" do + it "raises IOError if file was opened with File::TMPFILE" do + begin + File.open(@dir, File::RDWR | File::TMPFILE) do |f| + -> { f.send(@method) }.should raise_error(IOError) + end + rescue Errno::EOPNOTSUPP, Errno::EINVAL, Errno::EISDIR + skip "no support from the filesystem" end - rescue Errno::EOPNOTSUPP, Errno::EINVAL, Errno::EISDIR - skip "no support from the filesystem" end end end diff --git a/spec/ruby/core/io/path_spec.rb b/spec/ruby/core/io/path_spec.rb new file mode 100644 index 0000000000..51055673d7 --- /dev/null +++ b/spec/ruby/core/io/path_spec.rb @@ -0,0 +1,11 @@ +require_relative '../../spec_helper' + +describe "IO#path" do + ruby_version_is "3.2" do + it "returns the path of the file associated with the IO object" do + File.open(tmp("io_path.txt"), "w") do |file| + IO.new(file.fileno, path: file.path, autoclose: false).path.should == file.path + end + end + end +end |