ó v®¸Qc@€s©dZddlmZddlZddlZddlmZddlmZye Wne k rrd„Z nXdej fd „ƒYZ d ej fd „ƒYZ dS( sUnit tests for pytree.py. NOTE: Please *don't* add doc strings to individual test methods! In verbose mode, printing of the module, class and method name is much more helpful than printing of (the first line of) the docstring, especially when debugging a test. iÿÿÿÿ(twith_statementNi(tsupport(tpytreecC€st|ƒ}|jƒ|S(N(tlisttsort(tlsttl((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pytsorteds  t TestNodescB€sIeZdZejd$kr'd„Znd„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„Zd„Z d„Z!d „Z"d!„Z#d"„Z$d#„Z%RS(%s(Unit tests for nodes (Base, Leaf, Node).iicC€sîtjddƒ}tjdtƒ:}tjdtƒ|j|jƒdƒ|j dƒWdQX|j|j dƒ|jt |ƒdƒx$|D]}|j |j tkƒqW|jt|djƒd ƒ|jt|d jƒd ƒdS( Nidtfootrecordtalwaystthiiis3get_prefix() is deprecated; use the prefix propertyis3set_prefix() is deprecated; use the prefix property(RtLeaftwarningstcatch_warningstTruet simplefiltertDeprecationWarningt assertEqualt get_prefixt set_prefixtprefixtlent assertTruetcategorytstrtmessage(tselfRtwtwarning((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_deprecated_prefix_methods$s cC€s|jttjƒdS(N(t assertRaisestAssertionErrorRtBase(R((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_instantiate_base3scC€s<tjddƒ}|j|jdƒ|j|jdƒdS(NidR (RRRttypetvalue(Rtl1((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_leaf8scC€s,tjddƒ}|jt|ƒdƒdS(NidR sLeaf(100, 'foo')(RRRtrepr(RR'((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_leaf_repr=scC€s`tjddƒ}|jt|ƒdƒtjdddddfƒ}|jt|ƒdƒdS( NidR tcontextt i is foo(i i(RRRR(RR'tl2((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_leaf_strAscC€s5tjddƒ}d|_|jt|ƒdƒdS(Niitfoo_tfoo_5(RRRRR(RR'((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_leaf_str_numeric_valueGs cC€sˆtjddƒ}tjddddd fƒ}|j||ƒtjddƒ}tjddƒ}|j||ƒ|j||ƒdS( NidR R+R,iiietbar(ii(RRRtassertNotEqual(RR'R-tl3tl4((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_leaf_equalityNscC€setjddƒ}|j|jdƒ|j|jƒd|_|j|jdƒ|j|jƒdS(NidR R s ## (RRRRt assertFalset was_changedR(RR'((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_leaf_prefixWs  cC€sltjddƒ}tjddƒ}tjd||gƒ}|j|jdƒ|j|j||gƒdS(NidR iÈR2iè(RRtNodeRR%tchildren(RR'R-tn1((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_node_s cC€sxtjddƒ}tjddddd fƒ}tjd||gƒ}|jt|ƒd t|ƒt|ƒfƒdS( NidR R2R+R,iiièsNode(1000, [%s, %s])(ii(RRR:RR)(RR'R-R<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_reprfs cC€sbtjddƒ}tjddddd fƒ}tjd||gƒ}|jt|ƒd ƒdS( NidR R2R+R,iiièsfoo bar(ii(RRR:RR(RR'R-R<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_node_strmscC€s€tjddƒ}|j|jdƒtjd|gƒ}|j|jdƒd|_|j|jdƒ|j|jdƒdS(NidR R ièR,(RRRRR:(RR'R<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_prefixss cC€stjddddƒ}tjddddƒ}tjd||gƒ}|j|jƒ|jƒ|j|jƒdƒ|j|jƒdƒtjdddd ƒ}tjd||gƒ}|j|jƒ|jƒ|j|jƒdƒ|j|jƒdƒdS( NidR RtaR2tbièR tc(RRR:Rt get_suffixR(RR'R-R<R4tn2((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_get_suffix|scC€sftjddƒ}tjdgdddfƒ}|j||ƒtjdd ƒ}|j||ƒdS( NièR+R,iiié((ii((RR:RR3(RR<REtn3((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_equalityŒs cC€s™tjddƒ}tjddƒ}tjd|gƒ}tjd|gƒ}|j||ƒtjddƒ}tjd|gƒ}|j||ƒdS(NidR ièR2(RRR:RR3(RR'R-R<RER4RG((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_recursive_equality“scC€sþtjddƒ}tjddƒ}tjddƒ}tjd|||gƒ}|j|j|||gƒ|jt|jtƒƒ|j|j ƒtjddƒ}|j |ƒ|j|j|||gƒ|jt|jtƒƒ|j|j ƒdS(NidR t+R2ièt-( RRR:RR;Rt isinstanceRR7R8treplace(RR'R-R4R<tl2new((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_replaces cC€s¯tjddƒ}tjddƒ}tjddƒ}tjd|||gƒ}|jtjddƒtjddƒgƒ|jt|ƒdƒ|jt|jt ƒƒdS(NidR RJR2ièt*sfoo**bar( RRR:RMRRRRLR;R(RR'R-R4R<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_replace_with_list«s+cC€s¤tjddƒ}tjddƒ}tjddƒ}tjd||gƒ}tjd|gƒ}tjd||gƒ}|jt|jƒƒ|||gƒdS(NidR R2tfooeyiè(RRR:RRtleaves(RR'R-R4RERGR<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_leavesµscC€s¬tjddƒ}tjddƒ}tjd||gƒ}tjdgƒ}tjd||gƒ}|j|jƒdƒ|j|jƒdƒ|j|jƒdƒdS(NidR R2ièiii(RRR:Rtdepth(RR'R-RERGR<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_depth¿scC€s•tjddƒ}tjddƒ}tjddƒ}tjd||gƒ}tjd||gƒ}|jt|jƒƒ|||||gƒdS(NidR R2RRiè(RRR:RRt post_order(RR'R-R4tc1R<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_post_orderÊs cC€s•tjddƒ}tjddƒ}tjddƒ}tjd||gƒ}tjd||gƒ}|jt|jƒƒ|||||gƒdS(NidR R2RRiè(RRR:RRt pre_order(RR'R-R4RXR<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_pre_orderÒs cC€satjddƒ}|j|jƒ|jƒ|j|jƒtjddƒ}tjd|gƒ}|j|jƒ|jƒ|j|jƒtjddƒ}tjddƒ}tjddƒ}tjd|||gƒ}tjd|gƒ}|j|jƒ|j|jƒ|j|jƒ|jƒ|j|jƒ|j|jƒ|j|jƒdS(NidtfièR RJR2(RRR7R8tchangedRR:(RR'R<R-R4RE((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_changedÚs*   cC€sZxSdD]K}tjddd|ƒ}|jt|ƒ|dƒ|j|j|ƒqWdS(Ntxyz_R idRR(R_R (RRRRRR(RRR'((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_leaf_constructor_prefixôs cC€s°x©d D]¡}tjddƒ}tjddddƒ}tjd||gd|ƒ}|jt|ƒ|d ƒ|j|j|ƒ|j|j|ƒ|j|jdƒqWdS( NR_R idRR Rt_iètself_foo(sxyz_R (RRR:RRRR(RRR'R-R<((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_constructor_prefixús cC€sotjddƒ}tjddƒ}tjd||gƒ}tjd|gƒ}|j|jƒdƒ|j|jgƒ|j|j|ƒ|j|jdƒ|j|jdƒ|j|j ƒ|j |j ƒ|j|jƒdƒ|j|jƒdƒ|j|jgƒ|j|jdƒ|j|jdƒ|j|jdƒ|j |j ƒ|j |j ƒdS(NidR ièii( RRR:RtremoveR;tparenttNoneR7R8R(RR'R-R<RE((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_removes&cC€sbtjdgƒ}|jƒ|j|jdƒtjddƒ}|jƒ|j|jdƒdS(NièidR (RR:RdRReRfR(RR<R'((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_remove_parentlesss   cC€s/tjddƒ}tjd|gƒ}tjddƒ}|jd|ƒ|j|jdƒ|j|j|ƒ|j|j|gƒtjd|gƒ}|jd|ƒ|j|jdƒ|j|j|ƒ|j|jdƒ|j|j|gƒ|jt |jd|ƒ|jt |jdt ƒdS(NidR ièR2ii( RRR:t set_childRReRfR;R!t IndexErrort ExceptionR(RR'R<R-RE((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_set_child$scC€sÐtjddƒ}tjd|gƒ}tjddƒ}|jd|ƒ|j|j|ƒ|j|j||gƒtjddƒ}|jd|ƒ|j|j|||gƒ|jt|jdt ƒdS(NidR ièR2itabci( RRR:t insert_childRReR;R!RkR(RR'R<R-R4((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_insert_child9scC€s¿tjdgƒ}tjddƒ}|j|ƒ|j|j|ƒ|j|j|gƒtjddƒ}|j|ƒ|j|j|ƒ|j|j||gƒ|jt|jt ƒdS(NièidR R2( RR:Rt append_childRReR;R!RkR(RR<R'R-((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_append_childIs  cC€s|tjdgƒ}tjdgƒ}tjd||gƒ}|j|j|kƒ|j|jdƒ|j|jdƒdS(Niè(RR:Rt next_siblingRRf(RR<REtp1((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_next_siblingYs cC€s|tjddƒ}tjddƒ}tjd||gƒ}|j|j|kƒ|j|jdƒ|j|jdƒdS(NidRARBiè(RRR:RRrRRf(RR'R-Rs((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_leaf_next_siblingbs cC€s|tjdgƒ}tjdgƒ}tjd||gƒ}|j|j|kƒ|j|jdƒ|j|jdƒdS(Niè(RR:Rt prev_siblingRRf(RR<RERs((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_prev_siblingks cC€s|tjddƒ}tjddƒ}tjd||gƒ}|j|j|kƒ|j|jdƒ|j|jdƒdS(NidRARBiè(RRR:RRvRRf(RR'R-Rs((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_leaf_prev_siblingts (ii(&t__name__t __module__t__doc__tsyst version_infoR R$R(R*R.R1R6R9R=R>R?R@RFRHRIRORQRTRVRYR[R^R`RcRgRhRlRoRqRtRuRwRx(((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyRsF                      t TestPatternscB€s2eZdZd„Zd„Zd„Zd„ZRS(s&Unit tests for tree matching patterns.c C€s‘tjddƒ}tjddƒ}tjddƒ}tjd||gƒ}tjd|gƒ}tjd||gƒ}tjddddƒ}i}|j|j|d|ƒƒ|j|iƒ|j|j|d|ƒƒ|j|iƒ|j|j|d|ƒƒ|j|iƒ|j|j|d|ƒƒ|j|i|d6ƒi}|j|j|d|ƒƒ|j|iƒtjd|gddƒ} |j| j|d|ƒƒ|j|iƒ|j| j|d|ƒƒ|j|iƒ|j| j|d|ƒƒ|j|i|d6|d6ƒi}|j| j|d|ƒƒ|j|iƒ|j| j|d|ƒƒ|j|iƒdS( NidR R2iètnametpltresultstpn( RRR:t LeafPatternR7tmatchRRt NodePattern( RR'R-R4R<REtrootR€trR‚((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_basic_patterns‚s>c C€sBtjddƒ}tjddƒ}tjddƒ}tjd||gƒ}tjd|gƒ}tjd||gƒ}tjddddƒ}tjd|gddƒ}tj|g||ggddƒ} i} |j| j|g| ƒƒ|j| iƒ|j| j|g| ƒƒ|j| iƒ|j | j|g| ƒƒ|jt | j ƒƒdddgƒ|j| d|ƒ|j| d|ƒ|j| d|gƒ|j| i|d6|d6|gd6ƒi} |j | j||g| ƒƒ|j| i|d6||gd6ƒ|j | d|kƒi} dS( NidR R2ièRR€R‚tpw( RRR:RƒR…tWildcardPatternR7t match_seqRRRtkeys( RR'R-R4R<RER†R€R‚R‰R‡((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_wildcard¦s2$%($cC€s’tjddƒ}tjddƒ}tjddƒ}tjddƒ}tjddƒ}tjddƒ}||||||g}tjd|ƒ}tjddd ƒ} tjddd ƒ} tjddd ƒ} tjddd ƒ} tjddd ƒ} tjdddƒ}tj| | | g| | g| | g| | g| |ggddddddƒ}|jg|j|ƒD]}|d^q{dddddgƒtjddd|gddƒ}ttj|g|gƒƒ}|jt |ƒdƒ|d\}}|j|dƒ|jt |dƒdƒ|j|d||||||gƒx2dD]*}|j|d|tjd|ƒƒq`WdS(NiRARBRCtdteR\iètpatpbtpctpdtpetpftmintmaxiRR‰iiiiiR%tcontenttprtabcdeftp( RRR:RƒRŠRtgenerate_matchesR…RRR(RtlatlbtlctldtletlfRSR†RR‘R’R“R”R•R‰txR™tmatchesRCR‡((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_generate_matchesÅs8!)!& cC€sÄtjdtjdƒtjddƒtjdƒfƒ}tjddƒ}tjddƒ}tjdd ƒ}tjd|||gƒ}i}|j|j||ƒƒ|j|d|gƒdS( NiKiRtargsit(iR£t)( RR…RƒRŠRR:RR„R(RtpatternR'R-R4tnodeR‡((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_has_key_exampleãs  (RyRzR{RˆRR¥R«(((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyR~~s  $  (R{t __future__RR|RR Rtlib2to3RRt NameErrortTestCaseRR~(((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt s    ÿa