ó <¿CVc@sddlmZddlmZddlZddlZddlZddlZddlZddl m Z ddl m Z m Z ddlmZmZmZejdƒZdejfd „ƒYZeƒZd efd „ƒYZd eefd „ƒYZdS(iÿÿÿÿ(tprint_function(t ContextListN(tPlugin(ttolisttanyp(tDoctesttlogt DocFileCaset ALLOW_UNICODEt_UnicodeOutputCheckercBs/eZejdejƒZd„Zd„ZRS(s(\W|^)[uU]([rR]?[\'\"])cCstj|jd|ƒS(Ns\1\2(tretsubt _literal_re(tselfttxt((so/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/doctest_nose_plugin.pyt_remove_u_prefixesscCsptjj||||ƒ}|r%tS|t@s3tS|j|ƒ}|j|ƒ}tjj||||ƒ}|S(N(tdoctestt OutputCheckert check_outputtTrueRtFalseR(R twanttgott optionflagstrest cleaned_wantt cleaned_got((so/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/doctest_nose_plugin.pyRs (t__name__t __module__R tcompiletUNICODER RR(((so/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/doctest_nose_plugin.pyR s tDoctestPluginHelpercBsAeZdZdZd„Zd„Zd„Zd„Zd„ZRS(s+ This mixin adds print_function future import to all test cases. It also adds support for: '#doctest +ALLOW_UNICODE' option that makes DocTestCase think u'foo' == 'foo'. '#doctest doctestencoding=utf-8' option that changes the encoding of doctest files tdoctestencodingc cs |jrt|j|jƒrtjj|ƒ}tj|d|jj dƒƒ}z|j ƒ}Wd|j ƒXd}i|d6}|j rZtjj|ƒ\}}tjj|ƒ} tjj| ƒ||j } y"t| tƒtƒdgƒ}Wn,tk r"} tjd| | tjƒnXtjd| |ƒt|dƒrZ|j|ƒ}qZntjƒ} | j|d|d|d |d d ƒ} | jrýt| d |jd t |ddƒdt |ddƒd|j!ƒ}|rõt"|fd|ƒVq|Vqt#VndS(NtrR t__file__tnopsCould not import %s: %s (%s)s Fixture module %s resolved to %stglobstnametfilenametlinenoiRtsetUpt setup_testttearDownt teardown_testt result_vartcontext($t extensionRtendswithtostpathtbasenametcodecstopentoptionstgettreadtclosetNonetfixturestsplitexttdirnametsystappendt __import__tglobalstlocalst ImportErrorRtdebugthasattrR$Rt DocTestParsert get_doctesttexamplesRRtgetattrtdoctest_result_varRR(R R&R%tdhtdoctfixture_contextR$tbasetextR<tfixt_modtetparserttesttcase((so/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/doctest_nose_plugin.pytloadTestsFromFileUnicode1sL!          ccsq|j|ƒ}x[|D]S}t|tƒr[tg|D]}|j|ƒ^q5|jƒVq|j|ƒVqWdS(N(RTt isinstanceRt_patchTestCaseR-(R R&tcasesRStc((so/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/doctest_nose_plugin.pytloadTestsFromFile]s  0ccsixbtt|ƒj|ƒD]H}g|jƒD]}|j|ƒ^q,}|j|d|dtƒVqWdS(s'Load doctests from the module. R-t can_splitN(tsuperRtloadTestsFromModulet _get_testsRVt suiteClassR(R tmoduletsuiteRSRW((so/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/doctest_nose_plugin.pyR\gs(cCs&|r"t|jjds      w