diff options
Diffstat (limited to 'spec/ruby/core/io/binread_spec.rb')
| -rw-r--r-- | spec/ruby/core/io/binread_spec.rb | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/spec/ruby/core/io/binread_spec.rb b/spec/ruby/core/io/binread_spec.rb index 5e936ac6ba..3023c7f177 100644 --- a/spec/ruby/core/io/binread_spec.rb +++ b/spec/ruby/core/io/binread_spec.rb @@ -28,20 +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 it "raises an Errno::EINVAL when not passed a valid offset" do - lambda { IO.binread @fname, 0, -1 }.should raise_error(Errno::EINVAL) + -> { 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 |
