diff options
Diffstat (limited to 'spec/ruby/core/array/pack')
| -rw-r--r-- | spec/ruby/core/array/pack/buffer_spec.rb | 72 |
1 files changed, 35 insertions, 37 deletions
diff --git a/spec/ruby/core/array/pack/buffer_spec.rb b/spec/ruby/core/array/pack/buffer_spec.rb index f2dc3e1930..28b317eacb 100644 --- a/spec/ruby/core/array/pack/buffer_spec.rb +++ b/spec/ruby/core/array/pack/buffer_spec.rb @@ -2,51 +2,49 @@ require_relative '../../../spec_helper' -ruby_version_is '2.4' do - describe "Array#pack with :buffer option" do - it "returns specified buffer" do - n = [ 65, 66, 67 ] - buffer = " "*3 - result = n.pack("ccc", buffer: buffer) #=> "ABC" - result.should equal(buffer) - end +describe "Array#pack with :buffer option" do + it "returns specified buffer" do + n = [ 65, 66, 67 ] + buffer = " "*3 + result = n.pack("ccc", buffer: buffer) #=> "ABC" + result.should equal(buffer) + end - it "adds result at the end of buffer content" do - n = [ 65, 66, 67 ] # result without buffer is "ABC" + it "adds result at the end of buffer content" do + n = [ 65, 66, 67 ] # result without buffer is "ABC" - buffer = "" - n.pack("ccc", buffer: buffer).should == "ABC" + buffer = "" + n.pack("ccc", buffer: buffer).should == "ABC" - buffer = "123" - n.pack("ccc", buffer: buffer).should == "123ABC" + buffer = "123" + n.pack("ccc", buffer: buffer).should == "123ABC" + + buffer = "12345" + n.pack("ccc", buffer: buffer).should == "12345ABC" + end - buffer = "12345" - n.pack("ccc", buffer: buffer).should == "12345ABC" + it "raises TypeError exception if buffer is not String" do + lambda { [65].pack("ccc", buffer: []) }.should raise_error( + TypeError, "buffer must be String, not Array") + end + + context "offset (@) is specified" do + it 'keeps buffer content if it is longer than offset' do + n = [ 65, 66, 67 ] + buffer = "123456" + n.pack("@3ccc", buffer: buffer).should == "123ABC" end - it "raises TypeError exception if buffer is not String" do - lambda { [65].pack("ccc", buffer: []) }.should raise_error( - TypeError, "buffer must be String, not Array") + it "fills the gap with \\0 if buffer content is shorter than offset" do + n = [ 65, 66, 67 ] + buffer = "123" + n.pack("@6ccc", buffer: buffer).should == "123\0\0\0ABC" end - context "offset (@) is specified" do - it 'keeps buffer content if it is longer than offset' do - n = [ 65, 66, 67 ] - buffer = "123456" - n.pack("@3ccc", buffer: buffer).should == "123ABC" - end - - it "fills the gap with \\0 if buffer content is shorter than offset" do - n = [ 65, 66, 67 ] - buffer = "123" - n.pack("@6ccc", buffer: buffer).should == "123\0\0\0ABC" - end - - it 'does not keep buffer content if it is longer than offset + result' do - n = [ 65, 66, 67 ] - buffer = "1234567890" - n.pack("@3ccc", buffer: buffer).should == "123ABC" - end + it 'does not keep buffer content if it is longer than offset + result' do + n = [ 65, 66, 67 ] + buffer = "1234567890" + n.pack("@3ccc", buffer: buffer).should == "123ABC" end end end |
