ó SÉLjc@s1dZdZyddlZWnek r;ddlZnXddlmZddlmZddlm Z ddlm Z ddlm Z dd lm Z dd lm Z dd lmZdd lmZdd lmZdZdejfd„ƒYZdejfd„ƒYZedkr-ejƒndS(sàUnittest that directly tests the output of the pure-Python protocol compiler. See //google/protobuf/internal/reflection_test.py for a test which further ensures that we can use Python protocol message objects as we expect. s#robinson@google.com (Will Robinson)iÿÿÿÿN(ttest_bad_identifiers_pb2(tunittest_custom_options_pb2(tunittest_import_pb2(tunittest_import_public_pb2(tunittest_mset_pb2(tunittest_mset_wire_format_pb2(t unittest_no_generic_services_pb2(t unittest_pb2(tservice(tsymbol_databasei t GeneratorTestcBsÎeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs6d}tj}|j|jj|jj|jƒdS(Ntoptional_nested_message(Rt TestAllTypest assertEqualt NestedMessaget DESCRIPTORtfields_by_namet message_type(tselft field_namet proto_type((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestNestedMessageDescriptor@s   cCsÄ|jdtjƒ|jdtjƒ|jdtjƒtjƒ}|jd|jƒ|jdtjjƒ|jd|jƒ|jdtjjƒ|jd|jƒ|jdtjjƒdS(Niiiiii( R Rt FOREIGN_FOOt FOREIGN_BARt FOREIGN_BAZR tFOOtBARtBAZ(Rtproto((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testEnumsGs cstjƒ}d„‰‡fd†}|j||jƒƒ|j|jdkƒ|j||jƒƒ|j|jdkƒ|jˆ|jƒƒ|j||jƒƒ|j|jdkƒ|j||jƒƒ|j|jdkƒ|jˆ|jƒƒ|j d|j ƒdS(NcSs ||kS(N((tval((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pytisnan\scsˆ|ƒ oˆ|dƒS(Ni((R(R(sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pytisinf_sis? ? ?? ?? ??? ??/ ??-( RtTestExtremeDefaultValuest assertTruet inf_doubletneg_inf_doublet nan_doublet inf_floatt neg_inf_floatt nan_floatR t cpp_trigraph(RtmessageR ((RsK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestExtremeDefaultValuesWs  cCstjj}itd6td6td6td6}tg|jD]'}|j|kr;|j|jf^q;ƒ}|j ||ƒdS(Ntoptional_int32trepeated_int32R t default_int32( RR RtFalsetTruetdicttfieldstnamethas_default_valueR (Rtdesctexpected_has_default_by_nametfthas_default_by_name((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestHasDefaultValuesps   *cCs?|jtjjtjjƒ|jtjjjtjjƒdS(N(R Rtoptional_int32_extensiontcontaining_typetTestAllExtensionsRt TestRequiredtsingle(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt'testContainingTypeBehaviorForExtensions€s cCs9|jtjjdƒ|jtjjjtjjƒdS(N(R RR:textension_scopetNoneR=R>R(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestExtensionScope†scCsW|jtjjƒ|jtjjjƒtjj}|jd}|j|j ƒdS(Nta(R"RR:t is_extensionR=R>RR(Rtmessage_descriptortnon_extension_descriptor((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestIsExtensionŒs   cCs)tjƒ}|j|jjƒjƒdS(N(RtTestMessageSetR"Rt GetOptionstmessage_set_wire_format(RR((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testOptions”s cCs9tjƒ}|jjdjƒ}|j|dk ƒdS(NtAnEnum(RtTestMessageWithCustomOptionsRtenum_types_by_nameRIR"RA(RRt enum_options((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestMessageWithCustomOptions˜s cCs‚|jttjjjƒttjjjtjjjtjjjgƒƒ|jtj jjgƒ|jtjjjjgƒdS(N( R tsetRR Rt nested_typesRt OptionalGroupt RepeatedGrouptTestEmptyMessage(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestNestedTypesŸs  cCs¢|jtjjjdkƒ|jtjjjdkƒ|jtjjjjtjjƒ|jtjjjjtjjƒ|jtjj jjtjjƒdS(N( R"RRURR;RAR R RRT(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestContainingType«s  cCs9|jtjjdkƒ|jtjjtjjƒdS(N( R"Rt _FOREIGNENUMR;RAR t_TESTALLTYPES_NESTEDENUMR R(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt"testContainingTypeInEnumDescriptorºscCs¬|jtjjjjdƒtjjj}|j|jjdƒ|jtjjjjdƒ|jtj jjdƒ|jtj jjdƒ|jtj jjdƒdS(Ntprotobuf_unittesttprotobuf_unittest_import( R RR RtfiletpackageRRt ImportMessageRXRYt _IMPORTENUM(RR5((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testPackage¿s   cCsg|jtjjjgƒ|jtjjjdtfgƒ|jtjjjdddtfgƒdS( Nii*i+i/i”i(i*i+(i/i”(R RR Rtextension_rangesR<t MAX_EXTENSIONtTestMultipleExtensionRanges(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestExtensionRangeÒs  cCs�|jtjjdƒ|jtjjdƒ|jtjjdkƒ|jtjjt jgƒ|jt jjt jgƒ|jt jj t jgƒdS(Nsgoogle/protobuf/unittest.protoR[( R RRR3R^t assertFalset serialized_pbRAt dependenciesRRtpublic_dependencies(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestFileDescriptorÜs  cCst|jttdƒƒ|jttdƒƒ|jttdƒƒttdƒrp|jttjtjƒƒndS(Nt TestMessageRttest_extensiont TestService(R"thasattrRRft issubclassRmRtService(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestNoGenericServicesçs cCsItj}|jtj|jtjjƒ|jtjj|jkƒdS(N(RRR t _TESTALLTYPEStmessage_types_by_nameR3Rft_TESTALLTYPES_NESTEDMESSAGE(Rt file_type((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestMessageTypesByNameòs  cCs-tj}|jtj|jtjjƒdS(N(RRR RXRNR3(RRu((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestEnumTypesByNameþs cCs-tj}|jtj|jtjjƒdS(N(RRR tmy_extension_stringtextensions_by_nameR3(RRu((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestExtensionsByNames cCs^tjƒ}|jd|jjƒtjƒ}|jd|jƒ|jtjtjkƒdS(Ni( RR R toptional_public_import_messageteRtPublicImportMessageR"R(Rtall_type_prototpublic_import_proto((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestPublicImports s    cCsxtjƒ}|j|jtjdƒ|j|jtjdƒ|j|jtjdƒ|j|jtjdƒdS(Ntfootbartbaztqux(RtTestBadIdentifiersR t ExtensionsR*t descriptort reflectionR(RR*((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestBadIdentifierss cCs<tjj}|jdt|jƒƒ|jd|jdjƒ|jd|jdjƒ|j||jdj ƒ|j|jd|j dƒt ddddgƒ}|j|t g|jdj D]}|j^qƃƒxV|j jƒD]E\}}||kr$|j|jd|jƒqï|j|jƒqïWdS(Nit oneof_fieldit oneof_uint32toneof_nested_messaget oneof_stringt oneof_bytes(RR RR tlentoneofsR3tindextassertIsR;toneofs_by_nameRQR2Rtitemstcontaining_oneoft assertIsNone(RR5t nested_namestfieldRt field_desc((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testOneof"s  - (t__name__t __module__RRR+R9R?RBRGRKRPRVRWRZRaReRjRqRvRwRzR€R‰Rš(((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyR >s,               tSymbolDatabaseRegistrationTestcBs)eZdZd„Zd„Zd„ZRS(s?Checks that messages, enums and files are correctly registered.cCs¾|jtjtjƒjdƒƒ|jtjjtjƒjdƒƒ|jtƒ�tjƒjdƒWdQX|jtjj tjƒjdƒƒ|jtjj tjƒjdƒƒdS(Nsprotobuf_unittest.TestAllTypess,protobuf_unittest.TestAllTypes.NestedMessagesprotobuf_unittest.NestedMessages,protobuf_unittest.TestAllTypes.OptionalGroups,protobuf_unittest.TestAllTypes.RepeatedGroup( R RR R tDefaultt GetSymbolRt assertRaisestKeyErrorRSRT(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testGetSymbol8s"         cCsN|jdtjƒjjdƒjƒ|jdtjƒjjdƒjƒdS(Nsprotobuf_unittest.ForeignEnums)protobuf_unittest.TestAllTypes.NestedEnum(R R RžtpooltFindEnumTypeByNamet full_name(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyRKs cCs)|jdtjƒjjdƒjƒdS(Nsgoogle/protobuf/unittest.proto(R R RžR£tFindFileByNameR3(R((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyttestFindFileByNameUs(R›Rœt__doc__R¢RR§(((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyR�5s  t__main__(R¨t __author__t unittest2tunittestt ImportErrortgoogle.protobuf.internalRtgoogle.protobufRRRRRRRRR RctTestCaseR R�R›tmain(((sK/usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt's( ÷&