ó SÉLjc@s)dZdZddlZddlZddlZddlZyddlZWnek rkddlZnXddl m Z ddl m Z ddl m Z ddl mZddl mZdd l mZdd l mZddl m Zdd l mZdd l mZdd l mZddl mZdejfd„ƒYZdejfd„ƒYZe jeeƒdefd„ƒYƒZdefd„ƒYZdefd„ƒYZdejfd„ƒYZdejfd„ƒYZe jeeƒdefd„ƒYƒZ e!dkr%ej"ƒndS( s%Test for google.protobuf.text_format.s kenton@google.com (Kenton Varda)iÿÿÿÿN(t_parameterized(t any_test_pb2(tmap_unittest_pb2(tunittest_mset_pb2(t unittest_pb2(tunittest_proto3_arena_pb2(tapi_implementation(tmessage_set_extensions_pb2(t test_util(tdescriptor_pool(t text_formattSimpleTextFormatTestscBseZd„ZRS(cCs.x'tjD]}|jdt|ƒƒq WdS(Ni(R t_QUOTESt assertEqualtlen(tselftquote((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestQuoteMarksAreSingleCharsFs(t__name__t __module__R(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyR @stTextFormatBasecBs,eZd„Zd„Zd„Zd„ZRS(cCsRtj|ƒ�=}ttkr(|jƒSg|D]}|jdƒ^q/SWdQXdS(Nsutf-8(Rt GoldenFiletstrtbytest readlinestdecode(Rtgolden_filenametft golden_line((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt ReadGoldenNscCs,|j|ƒ}|j|dj|ƒƒdS(Nt(RtassertMultiLineEqualtjoin(RttextRt golden_lines((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pytCompareToGoldenFileSscCs|j||ƒdS(N(R (RR!t golden_text((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pytCompareToGoldenTextWscCs[|jddƒjddƒjddƒjddƒ}tjdtjƒjd|ƒ}|S(Nse+0se+se-0se-s\.0$R(treplacetretcompilet MULTILINEtsub(RR!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pytRemoveRedundantZerosZs!(RRRR#R%R+(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRLs   tTextFormatTestcBseZd„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„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs¢|jƒ}|jjdƒ|jjdƒ|jjdƒ|jjdƒ|jjdƒ|jjdƒ|jjdƒ|j|jtj |ƒƒdƒdS( Nlûÿÿÿlÿÿÿÿgw¾Ÿ/Ý^@gÆtþQFÖ„DgŽ‹‚°6(RR4R5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt#testParseRepeatedMessageShortFormat}s cCs<|jƒ}d}tj||ƒ|j|jƒ|ƒdS(NR(R-R RKR (RR4R5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseEmptyText‰s cCss|jƒ}d}|jtjƒ�}tj||ƒWdQX|j|jjƒdƒ|j|jjƒdƒdS(Nsrepeated_string: "\xc3\xc3"ii( R-t assertRaisesR t ParseErrorRKR t exceptiontGetLinet GetColumn(RR4R5R!te((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseInvalidUtf8�s  cCs8|jƒ}d}tj|tjdtj||ƒdS(Ntfoos?1:1 : Message type "\w+.TestAllTypes" has no field named "foo".(R-R8tassertRaisesRegexR R~RK(RR4R5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseSingleWord—s  cCs8|jƒ}d}tj|tjdtj||ƒdS(Nsunknown_field: 8 sI1:1 : Message type "\w+.TestAllTypes" has no field named "unknown_field".(R-R8R…R R~RK(RR4R5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseUnknownFieldžs  cCs8|jƒ}d}tj|tjdtj||ƒdS(Nsoptional_nested_enum: BARRsG1:23 : Enum type "\w+.TestAllTypes.NestedEnum" has no value named BARR.(R-R8R…R R~RK(RR4R5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseBadEnumValue¥s  cCs8|jƒ}d}tj|tjdtj||ƒdS(Nsoptional_int32: borks#1:17 : Couldn't parse integer: bork(R-R8R…R R~RK(RR4R5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseBadIntValue­s  cCsú|jƒ}d}tj||ƒd}|jd|jdƒ|j|d|d|jdƒ|j|d|d |jd ƒ|j||d||d|jd ƒ|j||d||d |jd ƒ|j|d |jdƒdS(Nsrepeated_string: "\xf\x62" repeated_string: "\\xf\\x62" repeated_string: "\\\xf\\\x62" repeated_string: "\\\\xf\\\\x62" repeated_string: "\\\\\xf\\\\\x62" repeated_string: "\x5cx20"s\sbitxftx62istbiiitx20i(R-R RKR R2(RR4R5R!tSLASH((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseStringFieldUnescape´s ##cCsK|jƒ}d}tj||ƒ}|j||ƒ|jd|jƒdS(Ns%optional_int32: 42 optional_int32: 67iC(R-R RsRLR toptional_int32(RR4R5R!RO((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMergeDuplicateScalarsÉs  cCsQ|jƒ}d}tj||ƒ}|j||kƒ|jd|jjƒdS(NsCoptional_nested_message { bb: 1 } optional_nested_message { bb: 2 }i(R-R Rst assertTrueR toptional_nested_messageR>(RR4R5R!RO((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt&testMergeDuplicateNestedMessageScalarsÐs  cCsW|jƒ}d|_|jƒ}tjtj|ƒ|ƒ|jd|jdƒƒdS(Ni t oneof_uint32t oneof_field(R-R•R RKR3R t WhichOneof(RR4tmtm2((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseOneofØs    cCsNdjddgƒ}|jƒ}tj||ƒ|jd|jdƒƒdS(Ns soneof_uint32: 11soneof_string: "foo"t oneof_stringR–(R R-R RsR R—(RR4tm_stringR™((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMergeMultipleOneofßs cCsQdjddgƒ}|jƒ}|jtjdƒ�tj||ƒWdQXdS(Ns soneof_uint32: 11soneof_string: "foo"s is specified along with field (R R-tassertRaisesRegexpR R~RK(RR4RœR™((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseMultipleOneofås    ( RRR6R:RARERGRHRPRQR[R^RjRlRpRvRxRyRzR{R|RƒR†R‡RˆR‰R�R‘R”RšR�RŸ(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyR,es<      !                 t OnlyWorksWithProto2RightNowTestscBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(cCsEtjƒ}tj|ƒ|j|jtj|dtƒƒdƒdS(Ntpointy_bracketss*text_format_unittest_data_pointy_oneof.txt( RR-RRmR#R+R R3R?(RR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrintAllFieldsPointyòs    cCssdj|jdƒƒ}tjƒ}tj||ƒ}|j||ƒtjƒ}tj|ƒ|j ||ƒdS(Ns s/text_format_unittest_data_oneof_implemented.txt( R RRR-R RKRLRRmR (RR$RNROR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseGoldenús     cCs?tjƒ}tj|ƒ|j|jtj|ƒƒdƒdS(Ns/text_format_unittest_data_oneof_implemented.txt(RR-RRmR#R+R R3(RR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrintAllFieldss   cCs�tjƒ}d|_d|_d|_d|j_d|j_|j|j t j |dt ƒƒdƒ|j|j t j |ƒƒdƒdS( Nt115ieioiituse_index_ordersWmy_string: "115" my_int: 101 my_float: 111 optional_nested_message { oo: 0 bb: 1 } sWmy_int: 101 my_string: "115" my_float: 111 optional_nested_message { bb: 1 oo: 0 } ( RtTestFieldOrderingst my_stringtmy_inttmy_floatR“tooR>R%R+R R3R?(RR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrintInIndexOrder s       cCsj|jdƒ}tjƒ}tj||ƒ}|j||ƒtjƒ}tj|ƒ|j||ƒdS(Ns/text_format_unittest_data_oneof_implemented.txt( RRR-R t MergeLinesRLRRmR (RtopenedRNROR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMergeLinesGoldens   cCsj|jdƒ}tjƒ}tj||ƒ}|j||ƒtjƒ}tj|ƒ|j||ƒdS(Ns/text_format_unittest_data_oneof_implemented.txt( RRR-R t ParseLinesRLRRmR (RR®RNROR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseLinesGolden's   cCsztjƒ}d|jd_s( RR´tstringtascii_uppercaseR¹treversedR R%R R3(RR5R¾tgolden((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMapOrderEnforcementYs  ( RRR¢R£R¤R¬R¯R±R»RÃ(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyR ðs    (t Proto2TestscBsÅ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„ZRS(cCs¥tjƒ}tjj}tjj}d|jj|_d|jj|_|j t j |ƒdƒt j ƒ}t j}d|j|_|j t j |ƒdƒdS(NiR„s“message_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } tbarsF[google.protobuf.internal.TestMessageSetExtension3] { text: "bar" } (RtTestMessageSetContainertTestMessageSetExtension1tmessage_set_extensiontTestMessageSetExtension2t message_sett ExtensionstiRR%R R3RtTestMessageSettmessage_set_extension3R!(RR5text1text2text((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrintMessageSetvs      cCs“tjtƒ}tjƒ}tjj}tjj}d|jj |_ d|jj |_ tj ||dt ƒ|j|jƒdƒ|jƒdS(NiR„tuse_field_numbers?1 { 1545008 { 15: 23 } 1547769 { 25: "foo" } } (R RaRJRRÆRÇRÈRÉRÊRËRÌRt PrintMessageR?R%RcRd(RRhR5RÏRÐ((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt testPrintMessageSetByFieldNumber�s   cCsmtjƒ}tjj}tjj}d|jj|_d|jj|_|j t j |dt ƒdƒdS(NiR„R;s‚message_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } }( RRÆRÇRÈRÉRÊRËRÌRR%R R3R?(RR5RÏRÐ((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrintMessageSetAsOneLine¡s   cCsÈtjƒ}d}tj||ƒ|jd|jdƒ|jd|jdƒtjƒ}d}tj||ƒtjj }tj j }|jd|j j |j ƒ|jd|j j |jƒdS(Ns&repeated_uint64: 1 repeated_uint64: 2 iiis“message_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } iR„(RR-R RKR R0RRÆRÇRÈRÉRÊRËRÌR(RR5R!RÏRÐ((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseMessageSet²s    cCsWtjƒ}d}tj||dtjƒƒ|jtj|dtjƒƒ|ƒdS(Ns™value { [type.googleapis.com/google.protobuf.internal.TestAny] { [google.protobuf.internal.TestAnyExtension1.extension1] { i: 10 } } } R (ttest_extend_anytTestAnyR RsR tDefaultR%R3(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestExtensionInsideAnyMessageÈs c Cs6tjƒ}d}tj||dtƒ|jd|jdƒ|jd|jdƒtjƒ}d}tj||dtƒtj j }tj j }|jd|j j |jƒ|jd|j j |jƒtjƒ}d }tj|tjd tj||ƒd }tj|tjd tj||dtƒdS( Ns34: 1 repeated_uint64: 2 tallow_field_numberiiis?1 { 1545008 { 15: 23 } 1547769 { 25: "foo" } } iR„s34:1 s>1:1 : Message type "\w+.TestAllTypes" has no field named "34".s1234:1 s@1:1 : Message type "\w+.TestAllTypes" has no field named "1234".(RR-R RKR?R R0RRÆRÇRÈRÉRÊRËRÌRR8R…R~(RR5R!RÏRÐ((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseMessageByFieldNumber×s4     cCs?tjƒ}tj|ƒ|j|jtj|ƒƒdƒdS(Ns(text_format_unittest_extensions_data.txt(RtTestAllExtensionsRtSetAllExtensionsR#R+R R3(RR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrintAllExtensionss   cCsEtjƒ}tj|ƒ|j|jtj|dtƒƒdƒdS(NR¡s/text_format_unittest_extensions_data_pointy.txt( RRÞRRßR#R+R R3R?(RR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrintAllExtensionsPointys    cCsadj|jdƒƒ}tjƒ}tj||ƒtjƒ}tj|ƒ|j||ƒdS(Ns s(text_format_unittest_extensions_data.txt( R RRRÞR RKRRßR (RR$RNR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseGoldenExtensionss     cCsXtjƒ}tj|ƒtj|ƒ}tjƒ}tj||ƒ|j||ƒdS(N(RRÞRRßR R3RKR (RR5RoRN((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseAllExtensionss    c Csçtjƒ}d}tj||dtƒd}|jtj|ƒ|ƒtjƒ}d}tj|tj dtj||dtƒtjƒ}d}tj|tj dtj||dtƒtjƒ}d}tj|tj dtj||dtƒtjƒ}d }tj|tj d tj||dtƒtjƒ}d }tj|tj d tj||dtƒtjƒ}d }tj||dtƒtj j }tj j }|j d|jj|jƒ|j d|jj|jƒdS(Nsâmessage_set { [unknown_extension] { i: 23 bin: "à" [nested_unknown_ext]: { i: 23 x: x test: "test_string" floaty_float: -0.315 num: -inf multiline_str: "abc" "def" "xyz." [nested_unknown_ext.ext]: < i: 23 i: 24 pointfloat: .3 test: "test_string" floaty_float: -0.315 num: -inf long_string: "test" "test2" > } } [unknown_extension]: 5 } tallow_unknown_extensionsmessage_set { } s3message_set { [unknown_extension] { i: } } sInvalid field value: }sGmessage_set { [unknown_extension] { str: "malformed string } } sInvalid field value: "sSmessage_set { [unknown_extension] { str: "malformed multiline string } } s7message_set { [malformed_extension] < i: -5 } s5:1 : Expected ">".s)message_set { unknown_field: true } sb2:3 : Message type "proto2_wireformat_unittest.TestMessageSet" has no field named "unknown_field".s“message_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } iR„(RRÆR RKR?R%R3R8R…R~RÇRÈRÉR RÊRËRÌR(RR5R!RÂt malformedRÏRÐ((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt testParseAllowedUnknownExtension"sr              cCsZtjƒ}d}|jtjƒ�}tj||ƒWdQX|jt|jƒdƒdS(Ns#optional_nested_message { "bb": 1 }s/1:27 : Expected identifier or number, got "bb".( RR-R}R R~RKR RR(RR5R!R‚((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseBadIdentifierœs  cCsftjƒ}d}tj|tjdtj||ƒtjƒ}tj|tjdtj||ƒdS(Ns[unknown_extension]: 8 s31:2 : Extension "unknown_extension" not registered.sM1:2 : Message type "protobuf_unittest.TestAllTypes" does not have extensions.(RRÞR8R…R R~RKR-(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseBadExtension¤s  cCs8tjƒ}d}tj|tjdtj||ƒdS(Nsoptional_nested_enum: 100sL1:23 : Enum type "\w+.TestAllTypes.NestedEnum" has no value with number 100.(RR-R8R…R R~RK(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseNumericUnknownEnum¯s  cCs@tjƒ}d}tj||ƒ|jd|jtjƒdS(Nsa[protobuf_unittest.optional_int32_extension]: 42 [protobuf_unittest.optional_int32_extension]: 67iC(RRÞR RsR RËtoptional_int32_extension(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt"testMergeDuplicateExtensionScalars·s   cCs8tjƒ}d}tj|tjdtj||ƒdS(Nsa[protobuf_unittest.optional_int32_extension]: 42 [protobuf_unittest.optional_int32_extension]: 67s‹1:96 : Message type "protobuf_unittest.TestAllExtensions" should not have multiple "protobuf_unittest.optional_int32_extension" extensions.(RRÞR8R…R R~RK(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt"testParseDuplicateExtensionScalars¿s  cCs8tjƒ}d}tj|tjdtj||ƒdS(NsCoptional_nested_message { bb: 1 } optional_nested_message { bb: 2 }sh1:65 : Message type "protobuf_unittest.TestAllTypes.NestedMessage" should not have multiple "bb" fields.(RR-R8R…R R~RK(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt&testParseDuplicateNestedMessageScalarsÉs   cCs8tjƒ}d}tj|tjdtj||ƒdS(Ns%optional_int32: 42 optional_int32: 67sf1:36 : Message type "protobuf_unittest.TestAllTypes" should not have multiple "optional_int32" fields.(RR-R8R…R R~RK(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseDuplicateScalarsÒs   cCs`tjƒ}d}tj|tjdtj||ƒd}tj|tjdtj||ƒdS(NsRepeatedGroup: ".sRepeatedGroup: {s1:16 : Expected "}".(RR-R8R…R R~RK(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseGroupNotClosedÚs cCs~tjƒ}d}tj||ƒ|j|jdƒƒ|jƒtjƒ}d}tj||ƒ|j|jdƒƒdS(NsOptionalGroup: {}t optionalgroupsOptionalGroup: <>(RR-R RKR’tHasFieldRr(RR5R!((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestParseEmptyGroupãs   cCs³d}tjƒ}tj||ƒ|jd|jdƒ|jd|jdƒ|jd|jdƒ|jd|jdƒ|jd |j d ƒ|jd |j d j ƒdS(NsHmap_int32_int32 { key: -123 value: -456 } map_int64_int64 { key: -8589934592 value: -17179869184 } map_uint32_uint32 { key: 123 value: 456 } map_uint64_uint64 { key: 8589934592 value: 17179869184 } map_string_string { key: "abc" value: "123" } map_int32_foreign_message { key: 111 value { c: 5 } } i8þÿÿi…ÿÿÿii"i!iÈi{R²R³iiollýÿÿÿllýÿÿÿll( RR´R RKR RµR¶R·R¸R¹RºR](RR!R5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt testParseMapòs (RRRÒRÕRÖR×RÛRÝRàRáRâRãRæRçRèRéRëRìRíRîRïRòRó(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRÄts*      )   z     t Proto3TestscBs†eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „ZRS(cCsZtjƒ}d|_tjƒ}|jj|ƒ|jtj |dt j ƒƒdƒdS(NR¿R s[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } ( Rt OneStringtdataRRÙt any_valuetPackR R R3R RÚ(Rtpacked_messageR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrintMessageExpandAnys     cCsstjƒ}tjƒ}d|_|jjƒj|ƒd|_|jjƒj|ƒ|jt j |ƒdƒdS(Ntstring0tstring1sÊrepeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string0" } } repeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string1" } } ( RRõRRÙRötrepeated_any_valueR=RøR R R3(RRùR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt!testPrintMessageExpandAnyRepeated(s     cCs`tjƒ}d|_tjƒ}|jj|ƒtjƒ}|j t j |d|ƒdƒdS(NR¿R sdany_value { type_url: "type.googleapis.com/protobuf_unittest.OneString" value: "\n\006string" } ( RRõRöRRÙR÷RøR tDescriptorPoolR R R3(RRùR5t empty_pool((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt2testPrintMessageExpandAnyDescriptorPoolMissingType<s    cCsTtjƒ}d|_tjƒ}|jj|ƒ|jtj |dt ƒdƒdS(NR¿R¡s[any_value < [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > > ( RRõRöRRÙR÷RøR R R3R?(RRùR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt'testPrintMessageExpandAnyPointyBracketsIs    cCsTtjƒ}d|_tjƒ}|jj|ƒ|jtj |dt ƒdƒdS(NR¿R;sRany_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } }( RRõRöRRÙR÷RøR R R3R?(RRùR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt"testPrintMessageExpandAnyAsOneLineWs    c Csftjƒ}d|_tjƒ}|jj|ƒ|jtj |dt dt dt j ƒƒdƒdS(NR¿R;R¡R sRany_value < [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > >( RRõRöRRÙR÷RøR R R3R?R RÚ(RRùR5((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt0testPrintMessageExpandAnyAsOneLinePointyBracketsds     cCsWtjƒ}tjƒ}d|_tj|ƒ}tj||ƒ|jd|jƒdS(Niç(RR-toptional_nested_enumR R3RKR (RR5tmessage2t text_string((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestUnknownEnumsss    cCsžtjƒ}d}tj||ƒtjƒ}|jj|ƒ|jd|j ƒ|j ƒtj ||ƒtjƒ}|jj|ƒ|jd|j ƒdS(Ns[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } R¿( RRÙR RsRRõR÷tUnpackR RöRrRK(RR5R!Rù((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMergeExpandedAny{s    cCs€tjƒ}d}tj||ƒtjƒ}|jdj|ƒ|jd|j ƒ|jdj|ƒ|jd|j ƒdS(NsÊrepeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string0" } } repeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string1" } } iRûiRü( RRÙR RsRRõRýR R Rö(RR5R!Rù((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMergeExpandedAnyRepeatedŒs   cCsUtjƒ}d}tj||ƒtjƒ}|jj|ƒ|jd|j ƒdS(Ns[any_value { [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > } R¿( RRÙR RsRRõR÷R R Rö(RR5R!Rù((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt"testMergeExpandedAnyPointyBracketsŸs   cCsHtjƒ}d}tj||ƒtjƒ}|jd|jjƒdS(NsYany_value { [type.otherapi.com/protobuf_unittest.OneString] { data: "string" } } s-type.otherapi.com/protobuf_unittest.OneString( RRÙR RsRRõR R÷ttype_url(RR5R!Rù((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMergeAlternativeUrl«s    c Csltjƒ}d}|jtjƒ�)}tjƒ}tj||d|ƒWdQX|jt |j ƒdƒdS(Ns[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } R s=Type protobuf_unittest.OneString not found in descriptor pool( RRÙR}R R~R RÿRsR RR(RR5R!R‚R((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt-testMergeExpandedAnyDescriptorPoolMissingType·s   cCsUd}tjƒ}tj||ƒtjƒ}|jj|ƒ|jd|j ƒdS(Nsdany_value { type_url: "type.googleapis.com/protobuf_unittest.OneString" value: "\n\006string" } R¿( RRÙR RsRRõR÷R R Rö(RR!R5Rù((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMergeUnexpandedAnyÅs   cCsZtjƒ}d}|jtjƒ�}tj||ƒWdQX|jt|jƒdƒdS(NsUany_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" s3:11 : Expected "}".( RRÙR}R R~RsR RR(RR5R!R‚((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestMergeMissingAnyEndTokenÐs  (RRRúRþRRRRRR R R RRRR(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRôs         t TokenizerTestcBs}eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS( cTCsÚd}tj|jƒƒ}|jdfd|jdf|jdfd|jdf|jdfd|jdf|jd fd|jd f|jd fd|jd f|jd fd|jdf|jdfd|jdf|jdfdd|jdfd|jtdƒf|jdfd|jtdƒ f|jdfd|jt f|jdfd|jt fd|jdfd|jdf|jdfd|jdf|jdfd|jdf|jdfd|jd f|jd!fd|jd"f|jd#fd|jd$f|jd%fd|jt f|jd&fd|jt f|jd'fd|jt f|jd(fd|jt f|jd)fd|jt f|jd*fd|jt f|jd+fd|jtdƒf|jd,fd|jtd-ƒf|jd.fd|jtd/ƒfgR}d0}xº|j ƒsÕ||}t |t ƒrg|j}|j||ƒ|jƒnat |d1tƒr­tj|d1ƒr­|jtj|d0ƒƒƒn|j|d1|d0ƒƒ|d17}qWdS(2Ns„identifier1:"string1" identifier2 : 123 identifier3 :'string' identifiER_4 : 1.1e+2 ID5:-0.23 ID6:'aaaa\'bbbb' ID7 : "aa\"bb" ID8: {A:inf B:-inf C:true D:false} ID9: 22 ID10: -111111111111111111 ID11: -22 ID12: 2222222222222222222 ID13: 1.23456f ID14: 1.2e+2f false_bool: 0 true_BOOL:t true_bool1: 1 false_BOOL1:f False_bool: False True_bool: True X:iNf Y:-inF Z:nANt identifier1t:Rüt identifier2i{t identifier3R¿t identifiER_4g€[@tID5gq= ×£pÍ¿tID6s aaaa'bbbbtID7saa"bbtID8t{tAtinftBtCtDt}tID9itID10lüÿÿÿÇqÀÞ{U tID11iêÿÿÿtID12lŽc/Y-·vtID13g82�üÁÀó?tID14g^@t false_boolt true_BOOLt true_bool1t false_BOOL1t False_boolt True_booltXtYs-inftZtnanii(R t Tokenizert splitlinestConsumeIdentifiert ConsumeStringtConsumeIntegert ConsumeFloattfloatt ConsumeBoolR?RJtAtEndt isinstanceRttokenR t NextTokentmathtisnanR’(RR!t tokenizertmethodsRÌR˜R=((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestSimpleTokenCasesÜs„                       & cCsYd }d }d|d|df}tj|jƒƒ}|jd|jƒƒ|j|d|jƒƒ|j|d|jƒƒ|j|jƒƒd}tj|jƒƒ}|jd|jƒƒ|jd|jƒƒ|jt|jƒƒ|jt |jƒƒ|j tj ƒ�|jƒWdQX|jd|j ƒƒ|j|jƒƒdS( Nii?i s-1 %d %diÿÿÿÿs -0 0 0 1.2ig333333ó?llÿÿÿÿllÿÿ( R R3R4R R7R’R;R?tTryConsumeIntegerRJR}R~R8(Rt int64_maxt uint32_maxR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeAbstractIntegers)s$cCs²d }d }d|d|df}tj|jƒƒ}|jtjtj|ƒ|jtjtj|ƒ|jdtj|ƒƒ|jtjtj|ƒ|jtjtj|ƒ|j|dtj |ƒƒ|jtjtj |ƒ|j|dtj|ƒƒ|j |j ƒƒd}tj|jƒƒ}|jdtj|ƒƒ|jdtj|ƒƒ|jdtj|ƒƒ|jdtj|ƒƒ|j |j ƒƒdS( Nii?i s-1 %d %diÿÿÿÿs -0 -0 0 0illÿÿÿÿllÿÿ( R R3R4R}R~t_ConsumeUint32t_ConsumeUint64R t _ConsumeInt32t _ConsumeInt64R’R;(RRERFR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeIntegersBs2          cCsùd}tj|jƒƒ}|jtj|jƒd}tj|jƒƒ}|jtj|jƒd}tj|jƒƒ}|jtj|jƒd}tj|jƒƒ}|jtj|jƒd}tj|jƒƒ}|jtj|jƒdS(Ns "string1'sstring1"s "\xt"s "\"s "\x"(R R3R4R}R~tConsumeByteString(RR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeByteStringbscCs5d}tj|jƒƒ}|jtj|jƒdS(Ns not-a-bool(R R3R4R}R~R:(RR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeBoolwscCsBtjdjƒƒ}|j|jƒƒ|jtj|jƒdS(Ns# some comment(R R3R4R’R;R}R~tConsumeComment(RRA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestSkipComment|scCs[tjdjƒdtƒ}|j|jƒƒ|jd|jƒƒ|j|jƒƒdS(Ns# some commentt skip_comments( R R3R4RJt assertFalseR;R RPR’(RRA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeComment�s  cCswd}tj|jƒdtƒ}|jd|jƒƒ|j|jƒƒ|jd|jƒƒ|j|jƒƒdS(Ns # some comment # another commentRRs# some comments# another comment( R R3R4RJR RPRSR;R’(RR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeTwoCommentsˆs cCsÖd}tj|jƒdtƒ}|jtj|jƒ|jd|jƒƒ|j|j dƒ|j ƒ|jtj|jƒ|jd|j ƒƒ|j |j ƒƒ|jd|jƒƒ|j|j ƒƒdS(Nssome_number: 4 # some commentRRt some_numberRis# some comment(R R3R4RJR}R~RPR R5R=R>R7RSR;R’(RR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeTrailingComment�s cCsatjdjƒdtƒ}|j|jƒƒ|jtdf|jƒƒ|j|jƒƒdS(Ns# some commentRR( R R3R4RJRSR;R tConsumeCommentOrTrailingCommentR’(RRA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeLineCommentŸs   cCsƒd}tj|jƒdtƒ}|jtdf|jƒƒ|j|jƒƒ|jtdf|jƒƒ|j|jƒƒdS(Ns # some comment # another commentRRs# some comments# another comment( R R3R4RJR RXRSR;R’(RR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestConsumeTwoLineComments§s  cCsÜd}tj|jƒdtƒ}|jtj|jƒ|jd|jƒƒ|j|j dƒ|j ƒ|jtj|jƒ|jd|j ƒƒ|j |j ƒƒ|jtdf|jƒƒ|j|j ƒƒdS(Nssome_number: 4 # some commentRRRVRis# some comment(R R3R4RJR}R~RXR R5R=R>R7RSR;R?R’(RR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt"testConsumeAndCheckTrailingComment±s      cCs�d}tj|jƒdtƒ}|jd|jƒƒ|j|jdƒ|jƒ|jd|jƒƒ|jt df|j ƒƒ|j |j ƒƒdS(Ns2some_number: 4 # some comment # not a new commentRRRVRis"# some comment # not a new comment( R R3R4RJR R5R=R>R7R?RXR’R;(RR!RA((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestHashinCommentÃs  (RRRCRGRLRNRORQRTRURWRYRZR[R\(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRÚs M         tPrettyPrinterTestcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCsVd„}|jƒ}|jjƒ}d|_|jtj|dtd|ƒdƒdS(NcSs ~~~dS(N(tNone(R5tindentR;((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRiÕs i*R;tmessage_formatters"repeated_nested_message { bb: 42 }(R-R<R=R>R%R R3R?(RR4RiR5R@((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrettyPrintNoMatchÓs   cs\‡fd†}ˆjƒ}|jjƒ}d|_|jtj|dtd|ƒdƒdS(Ncs-~~|jˆjjjkr)d|jSdS(NsMy lucky number is %s(R_R-t NestedMessageR>(R˜R_R;(R4(sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRiãsi*R;R`s1repeated_nested_message { My lucky number is 42 }(R-R<R=R>R%R R3R?(RR4RiR5R@((R4sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrettyPrintOneLineás  cs�‡fd†}ˆjƒ}|jjƒ}d|_|jtj|dtd|ƒdƒ|jtj|dtd|ƒdƒdS(NcsG|jˆjjjkrC|r$dndd|}d||jfSdS(Nt s sMy lucky number is:%s%s(R_R-RbR>R^(R˜R_R;tline_deliminator(R4(sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRiòsi*R;R`s2repeated_nested_message { My lucky number is: 42 }s7repeated_nested_message { My lucky number is: 42 } ( R-R<R=R>R%R R3R?RJ(RR4RiR5R@((R4sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrettyPrintMultiLineðs  csi‡fd†}ˆjƒ}|jtj|dtd|ƒdƒ|jtj|dtd|ƒdƒdS(Ncs#~~|jˆjjkrdSdS(NsThe is the message!(R_R-R^(R˜R_R;(R4(sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRisR;R`sThe is the message! sThe is the message!(R-R%R R3RJR?(RR4RiR5((R4sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrettyPrintEntireMessages cs�‡fd†}ˆjƒ}d|_|jjƒ}d|_|jjƒ}d|_|j}d|_|jtj|dt d|ƒdƒdS( Ncs-~~|jˆjjjkr)d|jSdS(NsMy lucky number is %s(R_R-RbR>R^(R˜R_R;(R4(sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyRis i=i*iciR;R`s§optional_int32: 61 optional_nested_message { My lucky number is 1 } repeated_nested_message { My lucky number is 42 } repeated_nested_message { My lucky number is 99 }( R-R�R<R=R>R“R%R R3R?(RR4RiR5R@((R4sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyttestPrettyPrintMultiplePartss      (RRRaRcRfRgRh(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyR]Ðs     t__main__(#t__doc__t __author__R?R'R8R¿t unittest2tunittestt ImportErrortgoogle.protobuf.internalRtgoogle.protobufRRRRRRRØRRR R tTestCaseR Rt ParametersR,R RÄRôRR]Rtmain(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/text_format_test.pyt!sF      ÿ‹„ÿ¥Âö]