m .Ec@sdkZdkZdkZeidkZdkZdkZdklZdk l Z dk l Z dk lZdklZdklZdklZdklZd klZd klZdkZy"eiieiieZ Wn,eiieiiei!d Z nXeii"e d Z#eii"e d Z$d Z%dZ&dfdYZ'e'Z(de fdYZ)dei*fdYZ+de+fdYZ,dZ-e.djoei/ddndS(N(sStringIO(s Application(s SimpleItem(s ZCM_MANAGERS(sPdata(s HTTPRequest(s HTTPResponse(s rfc1123_date(s makerequest(sRedirectistest.gifcCs<dk}dkl}|ddd>}|i|iS(N(s DemoStoragetquotaii(tZODBtZODB.DemoStoraget DemoStoragetstDBtopen(RRR((t9/data/zmath/zope/lib/python/OFS/tests/testFileAndImage.pytmakeConnections  cCs_tdti}h}d|dscCs(d|_d|_d|_d|_dS(N(tNoneRR#R(R+R)(R((RRAs   cCs ||_dS(N(R)R(RR)((RtsetStreamIteratorGs( t__name__t __module__RR-R'R*R,RR.(((RR0s    tDummyCacheManagercBstZdZRS(NcCstS(N(t ADummyCache(R((RtZCacheManager_getCacheNs(R/R0R3(((RR1Mst FileTestscBstZeediZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZdZdZRS(Ntrbsapplication/octet-streamtmanage_addFilecCs&t|_y|ii}t}||d<||_t}|_t |id||_ t |i _ t |i |i}|dd|id|i|i iid|i iiddt|i tdtiWn|iinXtit |i d|_dS( Nt ApplicationR RRtdcmtenabledi(sdcm(RRt connectiontroottrR7tatStringIOt responseOutt makerequesttappR1R8tgetattrtfactoryR"RRtZCacheable_setManagerIdtZCacheable_setEnabledtsetattrt ZCM_MANAGERSt transactiontcommittclosetbegin(RR=RCR?R<((RtsetUpUs*      cCsC|`ti|ii|`|`|`|`t i dS(N( RRRHtabortR:RJRAR?R;R2R(R((RttearDownos  cCs|it|iiddS(NR (Rt assertRaisestRedirectRtview_image_or_file(R((RttestViewImageOrFileyscCs`|iid|i|iid|i|iid|iti|iti dS(NR i( RRt update_datat assertEqualtsizeR"t failUnlessR2R+R#(R((RttestUpdateData|s cCsddd>}t|}|ii|\}}|it |t |i t |||i t |t t ||i t ||dS(NR=ii(RR>tfRRt _read_dataR"RURVt isinstancetPdataRTtstrtlen(RRXRR"RU((Rt testReadDatas "cCsrddd>d}|iit|\}}|i|id|ii|\}}|i|iddS(NR=iii( RRRRYR>R"RUt failIfEqualtnextR-(RRR"RU((Rt testBigPdatas cCsi|iidddd|i|iid|i|iid|iti|iti dS(Ntfoobars text/plaintfiledatatASD( RRt manage_editRTttitleRRVR2R+R#(R((RttestManageEditWithFileDatas cCsS|iidd|i|iid|i|iid|itidS(NRbs text/plain( RRReRTRfRRVR2R+(R((RttestManageEditWithoutFileDatascCsLtd}|ii||i|iid|i|iiddS(Nt jammyjohnsonsapplication/octet-stream(R>RXRRt manage_uploadRTR"R(RRX((RttestManageUploads c Cs=ti}hdd<dd<dd<}t|}||dtoutRRRRRRRRt index_htmlR"RTt getStatustt_modR\( RRpRvRRoR"RRrRs((RttestIfModSinces$ !     cCsd}t|}t|d}|i|ii||i |i |ii d|i t |ii||i dt|d}|i|ii||i |i |ii d|i t |ii|dS(Ns# some python s text/x-pythoniR (RR>R"RRt processInputsRRRtRESPONSERTRR\tseek(RRRR"((RttestPUTs    cCsW|iiddd>|ii|ii|iii|i|iiiidS(NR=ii( RRRjRtRAtREQUESTRytassert_t_wrote(R((RttestIndexHtmlWithPdatas"cCsT|iidd|ii|ii|iii|i|iiii dS(NR=id( RRRjRtRAR|RyR}R~(R((RttestIndexHtmlWithStrings"cCs |it|i|idS(N(RRTR\RR"(R((RttestStrsc Csf|iiddddig}tdD]}|t|q)~|i|ii ddS(NRbsapplication/octet-streamRcR i( RRRetjoint_[1]trangetxtchrRTtPrincipiaSearchSource(RRR((RttestFindSupport_not_texts:cCs9|iidddd|id|iijdS(NRbs text/plainRcsANow is the time for all good men to come to the aid of the Party.tParty(RRReRVR(R((RttestFindSupport_texts cCsi|iidddd|ii|idd}|it|d|i|dd|idS( NRbs text/plainRcsANow is the time for all good men to come to the aid of the Party.tobj_searchtermRii(RRReRAtZopeFindtresultsRTR](RR((Rt testFindFiles  cCsRdkl}dkl}dkl}dkl}||||||dS(N(s verifyClass(sFile(sWriteLockInterface(sHTTPRangeInterface(tInterface.Verifyt verifyClasst OFS.ImagetFiletwebdav.WriteLockInterfacetWriteLockInterfacetZPublisher.HTTPRangeSupporttHTTPRangeInterface(RRRRR((Rttest_z2interfacess      cCs,d}|it|iiddd|dS(Nusome unicode string hereRbs text/plainRc(tvalRROt TypeErrorRRe(RR((Rt testUnicodes(R/R0RRctreadR"RRCRLRNRRRWR^RaRgRhRkRwR{RRRRRRRR(((RR4Qs,               t ImageTestscBsVtZeediZdZdZdZdZ dZ dZ dZ RS( NR5s image/giftmanage_addImagecCs|ii|i|i|iit|i|i|ii|i|i|iid|i|iid|i t i |i t i dS(Ni( RRRSR"RTRUR]twidththeightRVR2R+R#(R((RRW scCs|it|iddS(NsD(RRTR\R(R((RRscCsd}|i|ii|d|iidd|i|ii|d|iidd|i|ii|d dS( NsH%sR RfR talttbar(R R (R sfoo(Rsfoo(ttag_fmtRRTRttagtmanage_changeProperties(RR((RttestTags cCsdS(N((R((RRRscCs8dkl}dkl}dkl}|||dS(N(s verifyClass(sImage(sWriteLockInterface(RRRtImageRR(RRRR((RR"s   ( R/R0RRcRR"RRCRWRRRRR(((RRs   cCs%titittitfS(N(tunittestt TestSuitet makeSuiteR4R(((Rt test_suite)st__main__t defaultTestR(0RtTestingtZope2tstartuptosRRnt cStringIOR>tOFS.ApplicationR7tOFS.SimpleItemt SimpleItemt OFS.CacheRGRR[tZPublisher.HTTPRequestRtZPublisher.HTTPResponseRt App.CommonRqtTesting.makerequestR@t zExceptionsRPRHtpathtdirnametabspatht__file__theretargvRt imagedataRcRRRR2R1tTestCaseR4RRR/tmain(RPRRqR7R1RGRR2RRR[RRRRHR4RRRR@RR>RRRRnRcR((Rt?s@                ")   $