Sha256: fe44b779553d05116ce9913c17c6c76701d3236639c374968f30ce5842a49411
Contents?: true
Size: 1.58 KB
Versions: 5
Compression:
Stored size: 1.58 KB
Contents
require 'spec_helper' describe Protobuf::Message do describe '#to_hash' do context 'generating values for an ENUM field' do it 'converts the enum to its tag representation' do hash = Test::EnumTestMessage.new(:non_default_enum => :TWO).to_hash hash.should eq({ :non_default_enum => 2 }) end it 'does not populate default values' do hash = Test::EnumTestMessage.new.to_hash hash.should eq(Hash.new) end it 'converts repeated enum fields to an array of the tags' do hash = Test::EnumTestMessage.new(:repeated_enums => [ :ONE, :TWO, :TWO, :ONE ]).to_hash hash.should eq({ :repeated_enums => [ 1, 2, 2, 1 ] }) end end context 'generating values for a Message field' do it 'recursively hashes field messages' do hash = Test::Nested.new({ :resource => { :name => 'Nested' } }).to_hash hash.should eq({ :resource => { :name => 'Nested' } }) end it 'recursively hashes a repeated set of messages' do proto = Test::Nested.new(:multiple_resources => [ Test::Resource.new(:name => 'Resource 1'), Test::Resource.new(:name => 'Resource 2') ]) proto.to_hash.should eq({ :multiple_resources => [ { :name => 'Resource 1' }, { :name => 'Resource 2' } ] }) end end end describe '#to_json' do subject do ::Test::ResourceFindRequest.new({ :name => 'Test Name', :active => false }) end its(:to_json) { should eq '{"name":"Test Name","active":false}' } end end
Version data entries
5 entries across 5 versions & 1 rubygems