@ -2910,6 +2910,20 @@ public class NanoTest extends TestCase {
assertTrue ( Arrays . equals ( enums , message . getExtension ( RepeatedExtensions . repeatedEnum ) ) ) ;
}
public void testNullExtensions ( ) throws Exception {
// Check that clearing the extension on an empty message is a no-op.
Extensions . ExtendableMessage message = new Extensions . ExtendableMessage ( ) ;
message . setExtension ( SingularExtensions . someMessage , null ) ;
assertEquals ( 0 , MessageNano . toByteArray ( message ) . length ) ;
// Check that the message is empty after setting and clearing an extension.
AnotherMessage another = new AnotherMessage ( ) ;
message . setExtension ( SingularExtensions . someMessage , another ) ;
assertTrue ( MessageNano . toByteArray ( message ) . length > 0 ) ;
message . setExtension ( SingularExtensions . someMessage , null ) ;
assertEquals ( 0 , MessageNano . toByteArray ( message ) . length ) ;
}
public void testUnknownFields ( ) throws Exception {
// Check that we roundtrip (serialize and deserialize) unrecognized fields.
AnotherMessage message = new AnotherMessage ( ) ;