ó 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€sdS(N((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ÈR/iè(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 R/R(R)iiièsNode(1000, [%s, %s])(ii(RRR7RR&(RR$R*R9((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_node_reprfs cC€sbtjddƒ}tjddddd fƒ}tjd||gƒ}|jt|ƒd ƒdS( NidR R/R(R)iiièsfoo bar(ii(RRR7RR(RR$R*R9((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)(RRRRR7(RR$R9((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 RtaR/tbièR tc(RRR7Rt get_suffixR(RR$R*R9R1tn2((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_get_suffix|scC€sftjddƒ}tjdgdddfƒ}|j||ƒtjdd ƒ}|j||ƒdS( NièR(R)iiié((ii((RR7RR0(RR9RBtn3((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èR/(RRR7RR0(RR$R*R9RBR1RD((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+R/ièt-( RRR7RR8Rt isinstanceRR4R5treplace(RR$R*R1R9tl2new((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 RGR/ièt*sfoo**bar( RRR7RJRRRRIR8R(RR$R*R1R9((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 R/tfooeyiè(RRR7RRtleaves(RR$R*R1RBRDR9((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 R/ièiii(RRR7Rtdepth(RR$R*RBRDR9((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 R/ROiè(RRR7RRt post_order(RR$R*R1tc1R9((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 R/ROiè(RRR7RRt pre_order(RR$R*R1RUR9((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 RGR/(RRR4R5tchangedRR7(RR$R9R*R1RB((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 (RRR7RRRR(RRR$R*R9((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( RRR7RtremoveR8tparenttNoneR4R5R(RR$R*R9RB((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt test_removes&cC€sbtjdgƒ}|jƒ|j|jdƒtjddƒ}|jƒ|j|jdƒdS(NièidR (RR7RaRRbRcR(RR9R$((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èR/ii( RRR7t set_childRRbRcR8t assertRaisest IndexErrort ExceptionR(RR$R9R*RB((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èR/itabci( RRR7t insert_childRRbR8RgRiR(RR$R9R*R1((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 R/( RR7Rt append_childRRbR8RgRiR(RR9R$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è(RR7Rt next_siblingRRc(RR9RBtp1((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(NidR>R?iè(RRR7RRpRRc(RR$R*Rq((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è(RR7Rt prev_siblingRRc(RR9RBRq((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(NidR>R?iè(RRR7RRtRRc(RR$R*Rq((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+R.R3R6R:R;R<R=RCRERFRLRNRQRSRVRXR[R]R`RdReRjRmRoRrRsRuRv(((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 R/iètnametpltresultstpn( RRR7t LeafPatternR4tmatchRRt NodePattern( RR$R*R1R9RBtrootR~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 R/ièR}R~R€tpw( RRR7RRƒtWildcardPatternR4t match_seqRRRtkeys( RR$R*R1R9RBR„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(NiR>R?R@tdteRYiètpatpbtpctpdtpetpftmintmaxiR}R‡iiiiiR"tcontenttprtabcdeftp( RRR7RRˆRtgenerate_matchesRƒRRR(RtlatlbtlctldtletlfRPR„RŽRRR‘R’R“R‡txR—tmatchesR@R…((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( NiKiR}targsit(iR¡t)( RRƒRRˆRR7RR‚R(RtpatternR$R*R1tnodeR…((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyttest_has_key_exampleãs  (RwRxRyR†R‹R£R©(((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyR|~s  $  (Ryt __future__RRzRR Rtlib2to3RRt NameErrortTestCaseRR|(((s//sys/lib/python2.7/lib2to3/tests/test_pytree.pyt s    ÿa