summaryrefslogtreecommitdiff
path: root/spec/ruby/core/io/binread_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/io/binread_spec.rb')
-rw-r--r--spec/ruby/core/io/binread_spec.rb28
1 files changed, 18 insertions, 10 deletions
diff --git a/spec/ruby/core/io/binread_spec.rb b/spec/ruby/core/io/binread_spec.rb
index b592639f9d..3023c7f177 100644
--- a/spec/ruby/core/io/binread_spec.rb
+++ b/spec/ruby/core/io/binread_spec.rb
@@ -1,6 +1,6 @@
# -*- encoding: utf-8 -*-
-require File.expand_path('../../../spec_helper', __FILE__)
-require File.expand_path('../fixtures/classes', __FILE__)
+require_relative '../../spec_helper'
+require_relative 'fixtures/classes'
describe "IO.binread" do
before :each do
@@ -28,22 +28,30 @@ describe "IO.binread" do
IO.binread(@fname, 5, 3).should == @contents.slice(3, 5)
end
- it "returns a String in ASCII-8BIT encoding" do
- IO.binread(@fname).encoding.should == Encoding::ASCII_8BIT
+ it "returns a String in BINARY encoding" do
+ IO.binread(@fname).encoding.should == Encoding::BINARY
end
- it "returns a String in ASCII-8BIT encoding regardless of Encoding.default_internal" do
+ it "returns a String in BINARY encoding regardless of Encoding.default_internal" do
Encoding.default_internal = Encoding::EUC_JP
- IO.binread(@fname).encoding.should == Encoding::ASCII_8BIT
+ IO.binread(@fname).encoding.should == Encoding::BINARY
end
it "raises an ArgumentError when not passed a valid length" do
- lambda { IO.binread @fname, -1 }.should raise_error(ArgumentError)
+ -> { IO.binread @fname, -1 }.should.raise(ArgumentError)
end
- ruby_version_is "2.3" do # MRI leaks the fd on older versions
- it "raises an Errno::EINVAL when not passed a valid offset" do
- lambda { IO.binread @fname, 0, -1 }.should raise_error(Errno::EINVAL)
+ it "raises an Errno::EINVAL when not passed a valid offset" do
+ -> { IO.binread @fname, 0, -1 }.should.raise(Errno::EINVAL)
+ end
+
+ ruby_version_is ""..."4.0" do
+ # https://bugs.ruby-lang.org/issues/19630
+ it "warns about deprecation given a path with a pipe" do
+ cmd = "|echo ok"
+ -> {
+ IO.binread(cmd)
+ }.should complain(/IO process creation with a leading '\|'/)
end
end
end