mς %αΈEc@s€dkZdkZeiZd„e_dklZee_dklZdfd„ƒYZdeifd„ƒYZ d„Z e d joei d d ƒndS( NcOsdS(N(tNone(tatk((tE/data/zmath/zope/lib/python/Products/PageTemplates/tests/testTALES.pyts(sTALES(sHarnesstDummyUnicodeExprcBs)tZdZd„Zd„Zd„ZRS(s/Dummy expression type handler returning unicodecCs||_||_dS(N(tnametselft_nametexprt_expr(RRR tengine((Rt__init__s cCst|idƒS(Ntlatin1(tunicodeRR (Rtecontext((Rt__call__scCsd|i|i fS(Ns(RRR (R((Rt__repr__s(t__name__t __module__t__doc__R RR(((RRs   t TALESTestscBsttZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z RS( NcCsGt|ƒ}tidf|ƒ}|iƒ p td‚|iƒdS(sTest sample Iterator classRsEmpty iteratorN( tHarnessRtcontexttTALEStIteratortittnexttAssertionErrort _complete_(RRR((Rt testIterator0s  cCsgt|ƒ}tidd|ƒ}|idddƒ|iƒo|iƒ p td‚|i ƒdS(sTest sample Iterator classRitsetLocalsSingle-element iteratorN(i( RRRRRRt_assert_RRR(RRR((Rt testIterator1$s  %cCs“t|ƒ}tidd|ƒ}x!dD]}|idd|ƒq(Wx%dD]}|iƒp t d‚qLW|iƒ p t d‚|i ƒdS(sTest sample Iterator classttextRsMulti-element iteratorN( RRRRRRtcR RRR(RR#RR((Rt testIterator2,s cCsDtiƒ}|idtiƒ|iƒdtijpt‚dS(s!Test expression type registrationtsimpleN(RtEnginetet registerTypet SimpleExprtgetTypesR(RR'((RttestRegisterType7s cCsdtiƒ}|idtiƒy|idtiƒWntij onXdp td‚dS(s,Test expression type registration uniquenessR%is Duplicate registration accepted.N(RR&R'R(R)tRegistrationErrorR(RR'((RttestRegisterTypeUnique=s cCsftiƒ}xSdD]K}y|i|tiƒWntij oqXdptd|‚qWdS(s)Test constraints on expression type namest1AsA!sAB is Invalid type name "%s" accepted.N(R.sA!sAB (RR&R'RR(R)R,R(RR'R((RttestRegisterTypeNameConstraintsHs cCsTtiƒ}|idtiƒ|idƒ}|dƒdjptd| ‚dS(sTest expression compilationR%ssimple:xtxs"Improperly compiled expression %s.N(ssimpleR0( RR&R'R(R)tcompiletceRR(RR'R2((Rt testCompileSs  cCsFtiƒiƒtiƒiddƒtiƒiddddƒdS(sTest Context creationtviR0tyiN(RR&t getContext(R((RttestGetContext[scKs<tiƒ}|idtiƒ|idtƒ|i|S(NR%R(RR&R'R(R)RR6tkws(RR8R'((RR6as cCs5|iƒidƒ}|djptd| ‚dS(sTest use of Contextssimple:xR%R0s#Improperly evaluated expression %s.N(ssimpleR0(RR6tevaluatetseR(RR:((Rt testContext0gscCs)|iƒidƒ}|i|dƒdS(s2Test evaluateText on unicode-returning expressionss unicode:ιuΓ©N(RR6t evaluateTextR:t assertEqual(RR:((RttestContextUnicodemscCs5|iƒ}|iƒ|iddƒ|iddƒ|i}|ddjp td‚|iƒ|iddƒ|iddƒ|i}|ddjp td‚|ddjp td ‚|ddjp td ‚|i ƒ|i}|ddjp td ‚|ddjp td ‚|i ƒd S(sTest variablestv1itv2is Variable "v1"itgs Inner scopes Outer scopetGlobalsUncovered localsGlobal from inner scopeN( RR6tctxtt beginScopeRtvarsR#Rt setGlobaltendScope(RR#RC((Rt testVariablesrs&       (RRRR!R$R+R-R/R3R7R6R;R>RH(((RRs        cCs titƒS(N(tunittestt makeSuiteR(((Rt test_suitest__main__t defaultTestRK( RItwarningst showwarningtProducts.PageTemplatesRtzope.tales.tests.test_talesRRtTestCaseRRKRtmain(RORRNRRRRKRI((Rt?s        r