ó {G_Tc@sédZddlmZmZddlZddlmZmZmZm Z ddl Z ddl m Z e ed„ƒƒZe ed„ƒƒZedd eƒdd lmZd e fd „ƒYZd „ZedkråeƒndS(s/ Test cases for pyclbr.py Nick Mathewson iÿÿÿÿ(t run_unittestt import_moduleN(t ClassTypet FunctionTypet MethodTypetBuiltinFunctionType(tTestCasecCsdS(N(tNone(((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt scCsdS(N(R(tc((s,/usr/local/lib/python2.7/test/test_pyclbr.pyR stcommandst deprecated(t getstatust PyclbrTestcBs_eZd„Zd„Zd„Zd„Zd d d„Zd„Zd„Z d„Z d„Z RS( cCs^t|ƒt|ƒAt|ƒ}|rZtjd|||fIJ|jd|jƒƒndS(s0 succeed iff {l1} - {ignore} == {l2} - {ignore} sl1=%r l2=%r ignore=%rs %r missingN(tsettsyststderrtfailtpop(tselftl1tl2tignoretmissing((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt assertListEqs cCsR||krdSt||ƒs+dG|GHn|jt||ƒd||fƒdS(s2 succeed iff hasattr(obj,attr) or attr in ignore. Ns???sexpected hasattr(%r, %r)(thasattrt assertTrue(RtobjtattrR((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt assertHasattr$s   cCsF||krdS||kr2tjdI|IJn|j||ƒdS(s* succeed iff key in obj or key in ignore. Ns***(RRtassertIn(RRtkeyR((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt assertHaskey,s   cCs/||kr+||kr+|j||ƒndS(s2 succeed iff a == b or a in ignore or b in ignore N(t assertEqual(RtatbR((s,/usr/local/lib/python2.7/test/test_pyclbr.pytassertEqualsOrIgnored3scCs|d kr*t|tƒidgƒ}ntj|ƒ}d„}x_|jƒD]Q\}}||krmqOn|j|||ƒt||ƒ}t|tj ƒrå|j |t t fƒ|j |krÌqOn|j|j |jƒqO|j |ttfƒ|j |krqOng|jD]} | j^q} g|jD]} t| d| ƒ^q9} y|j| | |ƒWntjd|IJ‚nXg} xB|jjƒD]1} ||t|| ƒ| ƒr¢| j| ƒq¢q¢Wg}x\|jjƒD]K} | d dkr+| ddkr+|jd|| ƒqí|j| ƒqíWyF|j|| |ƒ|j|j |jƒ|j|j|j|ƒWqOtjd|IJ‚qOXqOWd „}x`t|ƒD]R}t||ƒ}t|tt fƒrº|||ƒr |j|||ƒq qºqºWd S( sø succeed iff pyclbr.readmodule_ex(modulename) corresponds to the actual module object, module. Any identifiers in ignore are ignored. If no module is provided, the appropriate module is loaded with __import__.scSsà|j}t|tƒr2t||tƒs•tSnct|tƒsEtS|jdk r~t||tƒ sw|j|k r•tSnt||tƒs•tS|j }|j dƒrÖ|j dƒ rÖd|j j |f}n||kS(Nt__s_%s%s( t__dict__t isinstanceRtStaticMethodTypetFalseRtim_selfRtClassMethodTypet__name__t startswithtendswithtim_class(toclassRtnamet classdicttobjname((s,/usr/local/lib/python2.7/test/test_pyclbr.pytismethodEs   R1sclass=%siR%iþÿÿÿt_cSsBt|tƒr|j|jkSt|tƒr>|j|jkStS(N(R'Rt __module__R,Rt func_globalsR&R)(titemtmodule((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt defined_in‹s N( Rt __import__tglobalstpyclbrt readmodule_extitemsRtgetattrR'tFunctiontassertIsInstanceRRR6R!R9Rttypet __bases__R,tsuperRRRR&tkeystappendtmethodsR$R1tdirR (Rt moduleNameR9RtdictR4R1tvaluetpy_itemtbaset real_basest pyclbr_basest actualMethodstmt foundMethodsR:R8((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt checkModule8s`   %    cCsS|jdƒ|jdddƒtddtƒ}|jd|ƒ|jdƒdS( NR=tdoctestRt DocTestCasetrfc822R tdifflib(RV(RTRtTrue(RRW((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt test_easy—s  cCs|jdƒdS(Nstest.pyclbr_input(RT(R((s,/usr/local/lib/python2.7/test/test_pyclbr.pyttest_decoratorsŸsc Cs™|j}|dddƒ|dddƒ|dddƒ|dƒ|dddƒ|dƒ|dddƒ|dƒ|dƒ|dƒ|dƒdS(NtrandomRtRandomtcgitlogturllibt_CFNumberToInt32t_CStringFromCFStringt_CFSetuptgetproxies_registrytproxy_bypass_registrytproxy_bypass_macosx_sysconft open_httpstgetproxies_macosx_sysconftgetproxies_internetconfigtpickletaifctopenfptCookiet sre_parsetdumptpdbtpydocs email.parserstest.test_pyclbr(R](slog( RaRbRcRdReRfRgRhRi(Rl(sdump(RT(Rtcm((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt test_others¥s(       cCs|jttjdƒdS(Ns asyncore.foo(t assertRaisest ImportErrorR=R>(R((s,/usr/local/lib/python2.7/test/test_pyclbr.pyttest_issue_14798¿sN(( R,R6RRR R$RRTRZR[RsRv(((s,/usr/local/lib/python2.7/test/test_pyclbr.pyR s    _   cCsttƒdS(N(RR (((s,/usr/local/lib/python2.7/test/test_pyclbr.pyt test_mainÅst__main__(t__doc__ttest.test_supportRRRttypesRRRRR=tunittestRRCt staticmethodR(t classmethodR+RYR R R RwR,(((s,/usr/local/lib/python2.7/test/test_pyclbr.pyts "  ª