summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2022-12-23 10:52:10 -0800
committerGitHub <noreply@github.com>2022-12-24 07:52:10 +1300
commit11ad9a42d76ba785b2ec93f327469ead9b810ef4 (patch)
tree92585023c4e099a2658985801ab2b553bc5aebaa /test/ruby
parentaf4cd997a160c4eddc935dd384dbd0160d3160ce (diff)
Fix missing handling of offset argument in `IO::Buffer` `pread` and `pwrite`. (#7012)
Notes
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_io_buffer.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/ruby/test_io_buffer.rb b/test/ruby/test_io_buffer.rb
index 70070e93c9..d9fa22fd2a 100644
--- a/test/ruby/test_io_buffer.rb
+++ b/test/ruby/test_io_buffer.rb
@@ -373,6 +373,20 @@ class TestIOBuffer < Test::Unit::TestCase
io.close!
end
+ def test_pread_offset
+ io = Tempfile.new
+ io.write("Hello World")
+ io.seek(0)
+
+ buffer = IO::Buffer.new(128)
+ buffer.pread(io, 6, 5, 6)
+
+ assert_equal "World", buffer.get_string(6, 5)
+ assert_equal 0, io.tell
+ ensure
+ io.close!
+ end
+
def test_pwrite
io = Tempfile.new
@@ -388,6 +402,21 @@ class TestIOBuffer < Test::Unit::TestCase
io.close!
end
+ def test_pwrite_offset
+ io = Tempfile.new
+
+ buffer = IO::Buffer.new(128)
+ buffer.set_string("Hello World")
+ buffer.pwrite(io, 6, 5, 6)
+
+ assert_equal 0, io.tell
+
+ io.seek(6)
+ assert_equal "World", io.read(5)
+ ensure
+ io.close!
+ end
+
def test_operators
source = IO::Buffer.for("1234123412")
mask = IO::Buffer.for("133\x00")