test/test_serialize.rb in macks-ruby_protobuf-0.3.2.3 vs test/test_serialize.rb in macks-ruby_protobuf-0.3.3

- old
+ new

@@ -37,6 +37,25 @@ person2 = Tutorial::Person.new person2.parse_from_string serialized_string assert_equal 1234, person2.id assert_equal '山田 太郎', person2.name end + + def test_unknown_field + person = Tutorial::Person.new + person.id = 1234 + person.name = 'a b c' + serialized_string = person.serialize_to_string + + # add invalid field + tag = 1000 + wire_type = Protobuf::WireType::VARINT + serialized_string << Protobuf::Field::VarintField.encode((tag << 3) | wire_type) + serialized_string << Protobuf::Field::VarintField.encode(100) + + # decode + person2 = Tutorial::Person.new + person2.parse_from_string serialized_string + + assert_equal(person, person2) + end end