Sha256: 92ddee676a5b0782cc32e56aeb01c9fd1de979731520676788cdaf6af827f971
Contents?: true
Size: 1.61 KB
Versions: 130
Compression:
Stored size: 1.61 KB
Contents
# encoding: ascii-8bit require 'spec_helper' require 'stringio' if defined?(Encoding) Encoding.default_external = 'ASCII-8BIT' end describe MessagePack do it 'to_msgpack returns String' do nil.to_msgpack.class.should == String true.to_msgpack.class.should == String false.to_msgpack.class.should == String 1.to_msgpack.class.should == String 1.0.to_msgpack.class.should == String "".to_msgpack.class.should == String Hash.new.to_msgpack.class.should == String Array.new.to_msgpack.class.should == String end class CustomPack01 def to_msgpack(pk=nil) return MessagePack.pack(self, pk) unless pk.class == MessagePack::Packer pk.write_array_header(2) pk.write(1) pk.write(2) return pk end end class CustomPack02 def to_msgpack(pk=nil) [1,2].to_msgpack(pk) end end it 'calls custom to_msgpack method' do MessagePack.pack(CustomPack01.new).should == [1,2].to_msgpack MessagePack.pack(CustomPack02.new).should == [1,2].to_msgpack CustomPack01.new.to_msgpack.should == [1,2].to_msgpack CustomPack02.new.to_msgpack.should == [1,2].to_msgpack end it 'calls custom to_msgpack method with io' do s01 = StringIO.new MessagePack.pack(CustomPack01.new, s01) s01.string.should == [1,2].to_msgpack s02 = StringIO.new MessagePack.pack(CustomPack02.new, s02) s02.string.should == [1,2].to_msgpack s03 = StringIO.new CustomPack01.new.to_msgpack(s03) s03.string.should == [1,2].to_msgpack s04 = StringIO.new CustomPack02.new.to_msgpack(s04) s04.string.should == [1,2].to_msgpack end end
Version data entries
130 entries across 130 versions & 3 rubygems