8889841có ,òQc@sûdZddlZddlZddlZddlZddlZddlmZmZm Z m Z m Z m Z m Z ddlmZmZddlmZmZddlmZddlmZdefd „ƒYZd efd „ƒYZd „ZdS( s® jinja2.testsuite.loader ~~~~~~~~~~~~~~~~~~~~~~~ Test the loaders. :copyright: (c) 2010 by the Jinja Team. :license: BSD, see LICENSE for more details. iÿÿÿÿN(t JinjaTestCaset dict_loadertpackage_loadertfilesystem_loadertfunction_loadert choice_loadert prefix_loader(t Environmenttloaders(tPYPYtPY2(tsplit_template_path(tTemplateNotFoundtLoaderTestCasecBsYeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z RS( cCsVtdtƒ}|jdƒ}|jƒjƒdks<t‚|jt|jdƒdS(Ntloaders justdict.htmltFOOs missing.html(RRt get_templatetrendertstriptAssertionErrort assert_raisesR (tselftenvttmpl((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_dict_loaderscCsVtdtƒ}|jdƒ}|jƒjƒdks<t‚|jt|jdƒdS(NRs test.htmltBARs missing.html(RRRRRRRR (RRR((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_package_loader#scCsƒtdtƒ}|jdƒ}|jƒjƒdks<t‚|jdƒ}|jƒjƒdksit‚|jt|jdƒdS(NRs test.htmlRs foo/test.htmlRs missing.html(RRRRRRRR (RRR((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_filesystem_loader)s cCsƒtdtƒ}|jdƒ}|jƒjƒdks<t‚|jdƒ}|jƒjƒdksit‚|jt|jdƒdS(NRs justdict.htmlRs test.htmlRs missing.html(RRRRRRRR (RRR((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_choice_loader1s cCsVtdtƒ}|jdƒ}|jƒjƒdks<t‚|jt|jdƒdS(NRsjustfunction.htmlRs missing.html(RRRRRRRR (RRR((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_function_loader9scCsƒtdtƒ}|jdƒ}|jƒjƒdks<t‚|jdƒ}|jƒjƒdksit‚|jt|jdƒdS(NRs a/test.htmlRsb/justdict.htmlRtmissing(RRRRRRRR (RRR((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_prefix_loader?s csˆt‰dtjf‡fd†ƒY}td|ƒddƒ}|jdƒ}||jdƒksgt‚t‰||jdƒk sˆt‚t‰td|ƒddƒ}|jdƒ|jdƒk sÊt‚td|ƒddƒ}|jd ƒ}|jd ƒ}||jd ƒkst‚||jd ƒks6t‚|jd ƒ}d |jksZt‚d |jksot‚d |jks„t‚dS( Nt TestLoadercseZ‡fd†ZRS(csdd‡fd†fS(Nufoocsˆ S(N(((tchanged(s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pytKs(tNone(Rt environmentttemplate(R!(s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyt get_sourceJs(t__name__t __module__R&((R!(s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyR IsRt cache_sizeiÿÿÿÿR%iitonettwotthree(tFalseRt BaseLoaderRRRtTruetcache(RR RRtt1tt2tt3((R!s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyt test_cachingGs( cCsuidd6}tdtj|ƒƒ}|jdƒjƒdksFt‚d|d<|jdƒjƒdksqt‚dS(NR*tfooRR+(RRt DictLoaderRRR(RtmappingR((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyt"test_dict_loader_cache_invalidatesas  ! cCsStdƒddgkst‚tdƒddgks<t‚|jttdƒdS(Nsfoo/barR5tbars ./foo/bars../foo(R RRR (R((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_split_template_pathhs( R'R(RRRRRRR4R8R:(((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyR s        tModuleLoaderTestCasecBs‡eZd Zded„Zd„Zd„Zd„Zd„Z d„Z d„Z d„Z e rse rsd „Znd „Zd „ZRS( tdeflatedcCsµtt|ƒjƒg}tdtƒ|_|dk rStjddƒd|_ ntj ƒ|_ |jj |j d|d|j d|ƒtdt j|j ƒƒ|_dj|ƒS( NRtsuffixs.zipitzipt log_functiont py_compilet(tsuperR;tsetupRRtreg_envR#ttempfiletmkstemptarchivetmkdtemptcompile_templatestappendRt ModuleLoadertmod_envtjoin(RR>R@tlog((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyt compile_downqs  cCsjtt|ƒjƒt|dƒrftjj|jƒrJtj|jƒnt j |jƒd|_ndS(NRL( RBR;tteardownthasattrtostpathtisfileRGtremovetshutiltrmtreeR#(R((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyRPs cCsF|jƒ}d|kst‚d|ks0t‚d|ksBt‚dS(NsKCompiled "a/foo/test.html" as tmpl_a790caf9d669e39ea4d280d597ec891c4ef0404asFinished compiling templatessGCould not compile "a/syntaxerror.html": Encountered unknown tag 'endif'(ROR(RRN((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_logˆs  cCsˆ|jjdƒ}|jjdƒ}|jƒ|jƒksBt‚|jjdƒ}|jjdƒ}|jƒ|jƒks„t‚dS(Ns a/test.htmlsb/justdict.html(RDRRLRR(Rttmpl1ttmpl2((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyt _test_commons cCs|jddƒ|jƒdS(NR>R<(ROR[(R((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_deflated_zip_compile™scCs|jddƒ|jƒdS(NR>tstored(ROR[(R((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_stored_zip_compilescCs|jddƒ|jƒdS(NR>(ROR#R[(R((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_filesystem_compile¡scCs½|jƒ|jjdƒ}tjjdƒ}|jjjj}t |jjj|ƒs^t ‚|t j ksst ‚d|_}yddl}|jƒWnnX|t j ks¹t ‚dS(Ns a/test.htmliÿÿÿÿ(RORLRRRKtget_template_keyRtmoduleR'RQRtsystmodulesR#tgctcollect(RRtkeytnameRd((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_weak_references¥s   cCsd|jdtƒ}d|ks$t‚|jjdƒ}|jjjj}|jj dƒs`t‚dS(NR@sByte-compiled "a/test.html"s a/test.htmls.pyc( ROR/RRLRRRat-tmpl_3c4ddf650c1a73df961a6d3d2ce2752f1b8fd490t__file__tendswith(RRNRYtmod((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyttest_byte_compilation»s cCs‘|jƒ}tj|jjtjidd6ƒgƒ|j_|jjdƒ}|j|jƒdƒ|jjdƒ}|j|jƒdƒdS(Nt DICT_TEMPLATEt DICT_SOURCEs a/test.htmlR( RORt ChoiceLoaderRLRR6Rt assert_equalR(RRNRYRZ((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyRÃs  "cCs™|jƒ}tji|jjd6tjidd6ƒd6ƒ|j_|jjdƒ}|j|jƒdƒ|jjdƒ}|j|jƒdƒdS(NtMODRns test.htmltDICTsMOD/a/test.htmlRsDICT/test.html( RORt PrefixLoaderRLRR6RRqR(RRNRYRZ((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyRÐs   #N(R'R(R#RGR-RORPRXR[R\R^R_RhR R RmRR(((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyR;ns        cCs<tjƒ}|jtjtƒƒ|jtjtƒƒ|S(N(tunittestt TestSuitetaddTestt makeSuiteR R;(tsuite((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyRyÞs (t__doc__RRRbRERVRutjinja2.testsuiteRRRRRRRtjinja2RRtjinja2._compatR R tjinja2.loadersR tjinja2.exceptionsR R R;Ry(((s;/usr/lib/python2.7/site-packages/jinja2/testsuite/loader.pyt s     4Sp