Ñò úõIc @súddkZddkZddklZddklZddklZddklZl Z ddk l Z ddk Z ddd d d gZ defd „ƒYZdefd „ƒYZd eefd„ƒYZd eefd„ƒYZd„ZdS(iÿÿÿÿN(tinstancemethod(tglob(tTestCase(timaptchain(tinstall_frameworkt RequireMixint WidgetMixintWidgetTestCasetWidgetRequireTestCasetget_doctest_suitecBseZdZgZd„ZRS(s‹ Doesn't run the tests in the TestCases that inherit from this mixin class if the package requisites in 'require' are not met. cs¤yti|iŒWnvtij ogdi|ii|iigƒ‰|i‰t|_d‡‡fd†}t |||iƒ|_ nXt i |||ŽdS(Nt:cs2|ip$tidˆˆfIJt|_ndS(Ns8Skipping all tests in %s due to missing requirements: %r(t_message_displayedtsyststderrtTrue(tselftresult(tnametreqs(s4/usr/lib/python2.6/site-packages/tw/core/testutil.pyt dummy_run!s   (t pkg_resourcestrequiretDistributionNotFoundtjoint __class__t __module__t__name__tFalseR tNoneRtrunRt__init__(RtargstkwR((RRs4/usr/lib/python2.6/site-packages/tw/core/testutil.pyRs!  (RRt__doc__RR(((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pyRscBsVeZhZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z RS(cCs=tdtƒt|dƒo|id|i|_ndS(Ntforcet TestWidgetttest(RRthasattrR$t widget_kwtwidget(R((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pytsetUp+s cCst|dƒo |`ndS(NR$(R&R((R((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pyttearDown/scOsg|ii||Ž}t|tƒo |g}nx.|D]&}|i||jd||fƒq9WdS(Ns%s %r not in output(R(trendert isinstancet basestringt failUnless(RtstringsR R!toutputts((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pytassertInOutput3s  cOsy|ii||Žiƒ}t|tƒo |g}nx:|D]2}|iƒ}|i||jd||fƒq?WdS(Ns%s %r not in output(R(R+tlowerR,R-R.(RR/R R!R0R1((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pytassertInOutputIC:s  cOsg|ii||Ž}t|tƒo |g}nx.|D]&}|i||jd||fƒq9WdS(Ns%s %r in output(R(R+R,R-R.(RR/R R!R0R1((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pytassertNotInOutputBs cOsy|ii||Žiƒ}t|tƒo |g}nx:|D]2}|iƒ}|i||jd||fƒq?WdS(Ns%s %r in output(R(R+R3R,R-R.(RR/R R!R0R1((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pytassertNotInOutputICKs  cCsƒddkl}|d|iiƒ}|iƒ}t|tƒo |g}nx.|D]&}|i||jd||fƒqUWdS(sKAsserts given strings are included in the widget's static js calls.iÿÿÿÿ(tJSFunctionCallstfunction_callss%s %r not in static callsN(ttw.core.resourcesR7R(t _js_callsR+R,R-R.(RR/R7tcallsR0R1((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pytassertInStaticCallsUs  cOsšddkl}|iddƒ}|ii||Ž|i|iƒ}t|tƒo |g}nx.|D]&}|i||jd||fƒqlWdS(sLAsserts given strings are included in the widget's dynamic js calls.iÿÿÿÿ(tdynamic_js_callstlocationt bodybottoms%s %r not in dynamic callsN( R9R=tpopR(R+t call_widgetsR,R-R.(RR/R R!R=R>R0R1((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pytassertInDynamicCallsbs ( RRR'R)R*R2R4R5R6R<RB(((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pyR)s     cBseZRS((RR(((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pyRpscBseZRS((RR(((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pyR ssc Csžttt|ƒŒ}tit|ƒhtitiBd6td6Ž}xR|D]J}y.|i ti |htitiBd6ƒWqLt j oqLXqLW|S(Nt optionflagstmodule_relative( RRRtdoctestt DocFileSuitettupletELLIPSIStNORMALIZE_WHITESPACERtaddTestst DocTestSuitet ValueError(t doctest_filestdoctest_modulestsuitetmod((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pyR vs    (R REtnewRRtunittestRt itertoolsRRt tw.core.utilRRt__all__tobjectRRRR R (((s4/usr/lib/python2.6/site-packages/tw/core/testutil.pyts"    G