spec/base_spec.rb in bindata-0.11.1 vs spec/base_spec.rb in bindata-1.0.0

- old
+ new

@@ -8,11 +8,11 @@ def clear; end def clear?; end def _do_read(io) end def _done_read; end def _do_write(io) end - def _do_num_bytes(x) end + def _do_num_bytes; end def _assign(x); end def _snapshot; end expose_methods_for_testing end @@ -22,11 +22,11 @@ def clear; mock.clear; end def clear?; mock.clear?; end def _do_read(io) mock._do_read(io); end def _done_read; mock._done_read; end def _do_write(io) mock._do_write(io); end - def _do_num_bytes(x) mock._do_num_bytes(x) end + def _do_num_bytes; mock._do_num_bytes; end def _assign(x); mock._assign(x); end def _snapshot; mock._snapshot; end end describe BinData::Base, "when subclassing" do @@ -40,16 +40,14 @@ it "should raise errors on unimplemented methods" do lambda { @obj.clear }.should raise_error(NotImplementedError) lambda { @obj.clear? }.should raise_error(NotImplementedError) lambda { @obj.assign(nil) }.should raise_error(NotImplementedError) - lambda { @obj.debug_name_of(nil) }.should raise_error(NotImplementedError) - lambda { @obj.offset_of(nil) }.should raise_error(NotImplementedError) lambda { @obj._do_read(nil) }.should raise_error(NotImplementedError) lambda { @obj._done_read }.should raise_error(NotImplementedError) lambda { @obj._do_write(nil) }.should raise_error(NotImplementedError) - lambda { @obj._do_num_bytes(nil) }.should raise_error(NotImplementedError) + lambda { @obj._do_num_bytes }.should raise_error(NotImplementedError) lambda { @obj._snapshot }.should raise_error(NotImplementedError) end end describe BinData::Base, "with parameters" do @@ -166,31 +164,10 @@ it "should not allow parameters with nil values" do lambda { WithParamBase.new(:p1 => 1, :p2 => nil) }.should raise_error(ArgumentError) end -=begin -# TODO: how should we evaluate internal parameters? think about this - it "should only recall mandatory, default and optional parameters" do - obj = WithParamBase.new(:p1 => 1, :p3 => 3, :p4 => 4, :p5 => 5) - obj.should have_param(:p1) - obj.should_not have_param(:p2) - obj.should have_param(:p3) - obj.should_not have_param(:p4) - obj.should_not have_param(:p5) - end - - it "should evaluate mandatory, default and optional parameters" do - obj = WithParamBase.new(:p1 => 1, :p3 => lambda {1 + 2}, :p4 => 4, :p5 => 5) - obj.eval_parameter(:p1).should == 1 - obj.eval_parameter(:p2).should be_nil - obj.eval_parameter(:p3).should == 3 - obj.eval_parameter(:p4).should be_nil - obj.eval_parameter(:p5).should be_nil - end -=end - it "should be able to access without evaluating" do obj = WithParamBase.new(:p1 => :asym, :p3 => lambda {1 + 2}) obj.get_parameter(:p1).should == :asym obj.get_parameter(:p2).should be_nil obj.get_parameter(:p3).should respond_to(:arity) @@ -205,11 +182,11 @@ super(io) end end before(:each) do - @io = StringIO.new("12345678901234567890") + @io = BinData::IO.create_string_io("12345678901234567890") end it "should fail if offset is incorrect" do @io.seek(2) obj = TenByteOffsetBase.new(:check_offset => 8) @@ -243,11 +220,11 @@ super(io) end end before(:each) do - @io = StringIO.new("12345678901234567890") + @io = BinData::IO.create_string_io("12345678901234567890") end it "should be mutually exclusive with :check_offset" do params = { :check_offset => 8, :adjust_offset => 8 } lambda { TenByteAdjustingOffsetBase.new(params) }.should raise_error(ArgumentError) @@ -315,10 +292,10 @@ class WriteToSBase < BaseStub def _do_write(io) io.writebytes("abc"); end end obj = WriteToSBase.new - io = StringIO.new + io = BinData::IO.create_string_io obj.write(io) io.rewind written = io.read obj.to_binary_s.should == written end