test/array_test.rb in bindata-2.3.3 vs test/array_test.rb in bindata-2.3.4
- old
+ new
@@ -10,53 +10,53 @@
end
end
describe "with some but not all mandatory parameters supplied" do
it "raises an error" do
- args = {:initial_length => 3}
+ args = {initial_length: 3}
lambda { BinData::Array.new(args) }.must_raise ArgumentError
end
end
it "warns about :length" do
Kernel.must_warn ":length is not used with BinData::Array. You probably want to change this to :initial_length" do
- obj = BinData::Array.new(:type => :uint8, :length => 3)
+ obj = BinData::Array.new(type: :uint8, length: 3)
obj.read "123"
end
end
it "warns about :read_length" do
Kernel.must_warn ":read_length is not used with BinData::Array. You probably want to change this to :initial_length" do
- obj = BinData::Array.new(:type => :uint8, :read_length => 3)
+ obj = BinData::Array.new(type: :uint8, read_length: 3)
obj.read "123"
end
end
it "fails if a given type is unknown" do
- args = {:type => :does_not_exist, :initial_length => 3}
+ args = {type: :does_not_exist, initial_length: 3}
lambda { BinData::Array.new(args) }.must_raise BinData::UnRegisteredTypeError
end
it "fails if :initial_length is not an integer" do
- args = {:type => :uint8, :initial_length => "3"}
+ args = {type: :uint8, initial_length: "3"}
lambda { BinData::Array.new(args) }.must_raise ArgumentError
end
it "does not allow both :initial_length and :read_until" do
- args = {:initial_length => 3, :read_until => lambda { false } }
+ args = {initial_length: 3, read_until: -> { false } }
lambda { BinData::Array.new(args) }.must_raise ArgumentError
end
it "accepts BinData::Base as :type" do
- obj = BinData::Int8.new(:initial_value => 5)
- array = BinData::Array.new(:type => obj, :initial_length => 1)
+ obj = BinData::Int8.new(initial_value: 5)
+ array = BinData::Array.new(type: obj, initial_length: 1)
array.must_equal [5]
end
end
describe BinData::Array, "with no elements" do
- let(:obj) { BinData::Array.new(:type => :uint32le) }
+ let(:obj) { BinData::Array.new(type: :uint32le) }
it "initial state" do
assert obj.clear?
obj.must_be_empty
obj.length.must_equal 0
@@ -73,12 +73,12 @@
end
end
describe BinData::Array, "with several elements" do
let(:obj) {
- type = [:uint32le, {:initial_value => lambda { index + 1 }}]
- BinData::Array.new(:type => type, :initial_length => 5)
+ type = [:uint32le, {initial_value: -> { index + 1 }}]
+ BinData::Array.new(type: type, initial_length: 5)
}
it "initial state" do
assert obj.clear?
obj.wont_be_empty
@@ -105,11 +105,11 @@
obj.assign([BinData::Uint32le.new(4), BinData::Uint32le.new(5), BinData::Uint32le.new(6)])
obj.must_equal [4, 5, 6]
end
it "assigns a bindata array" do
- array = BinData::Array.new([4, 5, 6], :type => :uint32le)
+ array = BinData::Array.new([4, 5, 6], type: :uint32le)
obj.assign(array)
obj.must_equal [4, 5, 6]
end
it "returns the first element" do
@@ -199,12 +199,12 @@
end
end
describe BinData::Array, "when accessing elements" do
let(:obj) {
- type = [:uint32le, {:initial_value => lambda { index + 1 }}]
- data = BinData::Array.new(:type => type, :initial_length => 5)
+ type = [:uint32le, {initial_value: -> { index + 1 }}]
+ data = BinData::Array.new(type: type, initial_length: 5)
data.assign([1, 2, 3, 4, 5])
data
}
it "inserts with positive indexes" do
@@ -271,56 +271,56 @@
describe BinData::Array, "with :read_until" do
describe "containing +element+" do
it "reads until the sentinel is reached" do
read_until = lambda { element == 5 }
- obj = BinData::Array.new(:type => :int8, :read_until => read_until)
+ obj = BinData::Array.new(type: :int8, read_until: read_until)
obj.read "\x01\x02\x03\x04\x05\x06\x07\x08"
obj.must_equal [1, 2, 3, 4, 5]
end
end
describe "containing +array+ and +index+" do
it "reads until the sentinel is reached" do
read_until = lambda { index >= 2 and array[index - 2] == 5 }
- obj = BinData::Array.new(:type => :int8, :read_until => read_until)
+ obj = BinData::Array.new(type: :int8, read_until: read_until)
obj.read "\x01\x02\x03\x04\x05\x06\x07\x08"
obj.must_equal [1, 2, 3, 4, 5, 6, 7]
end
end
describe ":eof" do
it "reads records until eof" do
- obj = BinData::Array.new(:type => :int8, :read_until => :eof)
+ obj = BinData::Array.new(type: :int8, read_until: :eof)
obj.read "\x01\x02\x03"
obj.must_equal [1, 2, 3]
end
it "reads records until eof, ignoring partial records" do
- obj = BinData::Array.new(:type => :int16be, :read_until => :eof)
+ obj = BinData::Array.new(type: :int16be, read_until: :eof)
obj.read "\x00\x01\x00\x02\x03"
obj.must_equal [1, 2]
end
it "reports exceptions" do
- array_type = [:string, {:read_length => lambda { unknown_variable }}]
- obj = BinData::Array.new(:type => array_type, :read_until => :eof)
+ array_type = [:string, {read_length: -> { unknown_variable }}]
+ obj = BinData::Array.new(type: array_type, read_until: :eof)
lambda { obj.read "\x00\x01\x00\x02\x03" }.must_raise NoMethodError
end
end
end
describe BinData::Array, "nested within an Array" do
let(:obj) {
- nested_array_params = { :type => [:int8, { :initial_value => :index }],
- :initial_length => lambda { index + 1 } }
- BinData::Array.new(:type => [:array, nested_array_params],
- :initial_length => 3)
+ nested_array_params = { type: [:int8, { initial_value: :index }],
+ initial_length: -> { index + 1 } }
+ BinData::Array.new(type: [:array, nested_array_params],
+ initial_length: 3)
}
it "#snapshot" do
obj.snapshot.must_equal [ [0], [0, 1], [0, 1, 2] ]
end
@@ -332,27 +332,27 @@
end
describe BinData::Array, "subclassed" do
class IntArray < BinData::Array
endian :big
- default_parameter :initial_element_value => 0
+ default_parameter initial_element_value: 0
- uint16 :initial_value => :initial_element_value
+ uint16 initial_value: :initial_element_value
end
it "forwards parameters" do
- obj = IntArray.new(:initial_length => 7)
+ obj = IntArray.new(initial_length: 7)
obj.length.must_equal 7
end
it "overrides default parameters" do
- obj = IntArray.new(:initial_length => 3, :initial_element_value => 5)
+ obj = IntArray.new(initial_length: 3, initial_element_value: 5)
obj.to_binary_s.must_equal_binary "\x00\x05\x00\x05\x00\x05"
end
end
describe BinData::Array, "of bits" do
- let(:obj) { BinData::Array.new(:type => :bit1, :initial_length => 15) }
+ let(:obj) { BinData::Array.new(type: :bit1, initial_length: 15) }
it "reads" do
str = [0b0001_0100, 0b1000_1000].pack("CC")
obj.read(str)
obj[0].must_equal 0