mò #á¸Ec@sÞdZdZddd!ZdkZdkZdkZdkZdklZdk l Z dk l Z d k lZlZd klZd e fd „ƒYZd e fd„ƒYZd„Zd„Zedjo eƒndS(sDocument Template Tests s=$Id: testSecurity.py 40218 2005-11-18 14:39:19Z andreasjung $s$Revision: 1.13 $i iþÿÿÿN(sHTML(s DTMLTests(sDTML(sUsers Unauthorized(sBaset UnownedDTMLcBstZd„ZRS(NcCsdS(N(tNone(tself((t?/data/zmath/zope/lib/python/AccessControl/tests/testSecurity.pytgetOwners(t__name__t __module__R(((RRst SecurityTestscBs8tZeZeZd„Zd„Zd„Zd„Z RS(NcCsadfd„ƒY}|idƒ}y|d|ƒƒWntj onXdp td‚dS(NtpersoncBstZdZRS(NtJim(RRtname(((RR%ss<Hi, my name is isDid not protect class instance(RRt doc_classtdoct UnauthorizedtAssertionError(RRR ((RttestNoImplicitAccess$scCsBdtfd„ƒY}|idƒ}|it|d|ƒƒdS(NtmyclasscBstZdZfZd„ZRS(NcCsdS(Ns.This is a protected operation of public object((R((Rt somemethod7s(RRRt __roles__tsomemethod__roles__R(((RR4ss%tmyinst(tBaseRRR thtmltfailUnlessRaisesR (RRR((RttestExprExplicitDeny3scCs“d}y|i|ƒ}|ƒWntj onXdp td‚|i|ƒ}dfd„ƒY}|d|ƒ}|djp t|‚dS(Ns:isDid not catch bad exprtccBstZdZRS(Ni (RRty(((RRLst10( texprRR Rt SyntaxErrorRtunrestricted_doc_classRtres(RRRRR((RttestSecurityInSyntax=s cCs†d}dddddddg}|i|ƒ}|ƒ}tdg}|i d ƒD]}||i ƒqS~ƒ}|i ||ƒdS( NsJ t1t3RtNoRttestings [1, 2, 3]s (tNEW_BUILTINS_TEMPLATEtEXPECTEDRR ttemplateRtfilterRt_[1]tsplittxtstriptlinest assertEqual(RR)R%RR-R'R&R+((RttestNewDTMLBuiltinsQs    9( RRRR tHTMLRRRR R/(((RR s   cCs&tiƒ}|ititƒƒ|S(N(tunittestt TestSuitetsuitetaddTestt makeSuiteR(R3((Rt test_suiteqs cCstiƒitƒƒdS(N(R1tTextTestRunnertrunR6(((Rtmainvst__main__(t__doc__t __rcs_id__t __version__tostsysR1tZODBtDocumentTemplateR0tDocumentTemplate.tests.testDTMLt DTMLTeststProducts.PythonScripts.standardtDTMLt AccessControltUserR tExtensionClassRRRR6R9R(RR9R0R RER1RCRR?RR<R@RGR6R=R>((Rt?s      Q