diff options
author | Jeremy Evans <code@jeremyevans.net> | 2023-02-10 10:33:53 -0800 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2023-03-24 12:29:00 -0700 |
commit | 6c60006de5cfd75f10a1b4a3d822e2de41d22db6 (patch) | |
tree | 846c8feffac56b046d35059a001d095c2283bda9 /spec/ruby | |
parent | 836e9a192ba4fdc56a2d3d94f5840869f77fd3bf (diff) |
Raise ArgumentError if IO.read is provided negative offset
Fixes [Bug #19380]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/7289
Diffstat (limited to 'spec/ruby')
-rw-r--r-- | spec/ruby/core/io/read_spec.rb | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/spec/ruby/core/io/read_spec.rb b/spec/ruby/core/io/read_spec.rb index 0184c88f44..8bffd50876 100644 --- a/spec/ruby/core/io/read_spec.rb +++ b/spec/ruby/core/io/read_spec.rb @@ -128,9 +128,18 @@ describe "IO.read" do -> { IO.read @fname, -1 }.should raise_error(ArgumentError) end - it "raises an Errno::EINVAL when not passed a valid offset" do - -> { IO.read @fname, 0, -1 }.should raise_error(Errno::EINVAL) - -> { IO.read @fname, -1, -1 }.should raise_error(Errno::EINVAL) + ruby_version_is ''...'3.3' do + it "raises an Errno::EINVAL when not passed a valid offset" do + -> { IO.read @fname, 0, -1 }.should raise_error(Errno::EINVAL) + -> { IO.read @fname, -1, -1 }.should raise_error(Errno::EINVAL) + end + end + + ruby_version_is '3.3' do + it "raises an ArgumentError when not passed a valid offset" do + -> { IO.read @fname, 0, -1 }.should raise_error(ArgumentError) + -> { IO.read @fname, -1, -1 }.should raise_error(ArgumentError) + end end it "uses the external encoding specified via the :external_encoding option" do |