summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2025-11-22 23:40:35 +0900
committerNobuyoshi Nakada <nobu.nakada@gmail.com>2025-12-17 12:35:38 +0900
commitf430fbbfacea5690d790dd9060ca4118431fc2fb (patch)
treea5be32583847b793320833dc3a26b9b34448a53f
parent87274c7203bbf5c1c834b4ecd1c20d46ec88d7ac (diff)
IO::Buffer: Fill the test for `IO::Buffer#clear`
-rw-r--r--test/ruby/test_io_buffer.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/test/ruby/test_io_buffer.rb b/test/ruby/test_io_buffer.rb
index cc79988423..62766130ce 100644
--- a/test/ruby/test_io_buffer.rb
+++ b/test/ruby/test_io_buffer.rb
@@ -489,7 +489,21 @@ class TestIOBuffer < Test::Unit::TestCase
def test_clear
buffer = IO::Buffer.new(16)
- buffer.set_string("Hello World!")
+ assert_equal "\0" * 16, buffer.get_string
+ buffer.clear(1)
+ assert_equal "\1" * 16, buffer.get_string
+ buffer.clear(2, 1, 2)
+ assert_equal "\1" + "\2"*2 + "\1"*13, buffer.get_string
+ buffer.clear(2, 1)
+ assert_equal "\1" + "\2"*15, buffer.get_string
+ buffer.clear(260)
+ assert_equal "\4" * 16, buffer.get_string
+ assert_raise(TypeError) {buffer.clear("x")}
+
+ assert_raise(ArgumentError) {buffer.clear(0, 20)}
+ assert_raise(ArgumentError) {buffer.clear(0, 0, 20)}
+ assert_raise(ArgumentError) {buffer.clear(0, 10, 10)}
+ assert_raise(ArgumentError) {buffer.clear(0, (1<<64)-8, 10)}
end
def test_invalidation