• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc.  All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file or at
6 // https://developers.google.com/open-source/licenses/bsd
7 
8 package com.google.protobuf;
9 
10 import junit.framework.TestCase;
11 
12 /**
13  * Tests that proto2 api generation doesn't cause compile errors when compiling protocol buffers
14  * that have names that would otherwise conflict if not fully qualified (like @Deprecated
15  * and @Override).
16  *
17  * @author jonp@google.com (Jon Perlow)
18  */
19 public class TestBadIdentifiers extends TestCase {
20 
testCompilation()21   public void testCompilation() {
22     // If this compiles, it means the generation was correct.
23     TestBadIdentifiersProto.Deprecated unused1 =
24         TestBadIdentifiersProto.Deprecated.newBuilder().build();
25     TestBadIdentifiersProto.Override unused2 =
26         TestBadIdentifiersProto.Override.getDefaultInstance();
27   }
28 
29   @SuppressWarnings({"IgnoredPureGetter", "CheckReturnValue"}) // TODO: Fix this
testGetDescriptor()30   public void testGetDescriptor() {
31     TestBadIdentifiersProto.getDescriptor();
32     TestBadIdentifiersProto.Descriptor.getDefaultInstance().getDescriptor();
33     TestBadIdentifiersProto.Descriptor.getDefaultInstance().getDescriptorForType();
34     TestBadIdentifiersProto.Descriptor.NestedDescriptor.getDefaultInstance().getDescriptor();
35     TestBadIdentifiersProto.Descriptor.NestedDescriptor.getDefaultInstance().getDescriptorForType();
36   }
37 
testConflictingFieldNames()38   public void testConflictingFieldNames() throws Exception {
39     TestBadIdentifiersProto.TestConflictingFieldNames message =
40         TestBadIdentifiersProto.TestConflictingFieldNames.getDefaultInstance();
41     // Make sure generated accessors are properly named.
42     assertEquals(0, message.getInt32Field1Count());
43     assertEquals(0, message.getEnumField2Count());
44     assertEquals(0, message.getStringField3Count());
45     assertEquals(0, message.getBytesField4Count());
46     assertEquals(0, message.getMessageField5Count());
47 
48     assertEquals(0, message.getInt32FieldCount11());
49     assertEquals(0, message.getEnumFieldCount12().getNumber());
50     assertEquals("", message.getStringFieldCount13());
51     assertEquals(ByteString.EMPTY, message.getBytesFieldCount14());
52     assertEquals(0, message.getMessageFieldCount15().getSerializedSize());
53 
54     assertEquals(0, message.getInt32Field21Count());
55     assertEquals(0, message.getEnumField22Count());
56     assertEquals(0, message.getStringField23Count());
57     assertEquals(0, message.getBytesField24Count());
58     assertEquals(0, message.getMessageField25Count());
59 
60     assertEquals(0, message.getInt32Field1List().size());
61     assertEquals(0, message.getInt32FieldList31());
62 
63     assertEquals(0, message.getInt64FieldCount());
64     assertEquals(
65         0L,
66         message
67             .getExtension(TestBadIdentifiersProto.TestConflictingFieldNames.int64FieldCount)
68             .longValue());
69     assertEquals(
70         0L,
71         message
72             .getExtension(TestBadIdentifiersProto.TestConflictingFieldNames.int64FieldList)
73             .longValue());
74 
75     assertEquals("", message.getFieldName32());
76     assertEquals("", message.getFieldName33());
77     assertEquals(0, message.get2Conflict34());
78     assertEquals(0, message.get2Conflict35());
79   }
80 
testNumberFields()81   public void testNumberFields() throws Exception {
82     TestBadIdentifiersProto.TestLeadingNumberFields message =
83         TestBadIdentifiersProto.TestLeadingNumberFields.getDefaultInstance();
84     // Make sure generated accessors are properly named.
85     assertFalse(message.has30DayImpressions());
86     assertEquals(0, message.get30DayImpressions());
87     assertEquals(0, message.get60DayImpressionsCount());
88     assertEquals(0, message.get60DayImpressionsList().size());
89 
90     assertFalse(message.has2Underscores());
91     assertEquals("", message.get2Underscores());
92     assertEquals(0, message.get2RepeatedUnderscoresCount());
93     assertEquals(0, message.get2RepeatedUnderscoresList().size());
94 
95     assertFalse(message.has32());
96     assertEquals(0, message.get32());
97     assertEquals(0, message.get64Count());
98     assertEquals(0, message.get64List().size());
99   }
100 }
101