a oe@sddlZddlZddlZddlZddlZddlmZddlmZm Z d Z da d ddZ GdddZGd d d ejZed krdd lmZedS)N) COMException)NewEnumwrapzGetData GetDataHere QueryGetData GetCanonicalFormatEtc SetData EnumFormatEtc DAdvise DUnadvise EnumDAdvisecCst||ddS)Nr)iidZ useDispatcher)r)obrrttjddS)Nrr!)rrrr$Z DV_E_DVASPECTrZ DV_E_TYMED)rrrr&r'r(r)rrr QueryGetData>s    zTestDataObject.QueryGetDatacCsttjdSN)ZRaiseCOMExceptionr$ZDATA_S_SAMEFORMATETCr-rrrGetCanonicalFormatEtcFsz$TestDataObject.GetCanonicalFormatEtccCsttjddSr+r,)rrZmediumrrrSetDataJszTestDataObject.SetDatacCs&|tjkrttjdt|jtjdS)Nr!r)rZ DATADIR_GETrr$r%rrr)r directionrrr EnumFormatEtcMs  zTestDataObject.EnumFormatEtccCsttjddSr+r,)rrflagsZsinkrrrDAdviseRszTestDataObject.DAdvisecCsttjddSr+r,)rZ connectionrrr DUnadviseUszTestDataObject.DUnadvisecCsttjddSr+r,rrrr EnumDAdviseXszTestDataObject.EnumDAdviseN)__name__ __module__ __qualname__rIID_IDataObjectZ_com_interfaces_IDataObject_MethodsZ_public_methods_rrrr*r.r/r1r2r4r6r7r8rrrrr s r c@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)ClipboardTestercCs tdSr0)rZ OleInitializerrrrsetUp]szClipboardTester.setUpcCs&z tWntjy Yn0dSr0)rOleFlushClipboardZ com_errorrrrrtearDown`s zClipboardTester.tearDowncCs4td}t|tjd}t||t|dS)NHello from Pythonr)r r rr<OleSetClipboard assertTrueZOleIsCurrentClipboardrdorrrtestIsCurrentClipboardgs z&ClipboardTester.testIsCurrentClipboardcCshtd}t|tjd}t|tttj }d}| ||ttj }| |dt dS)NrBrzHello from Python) r r rr<rCwin32clipboard OpenClipboardZGetClipboardDatarr assertEqualrCloseClipboard)rrFgotZexpectedrrrtestComToWin32ms     zClipboardTester.testComToWin32cCs^d}tttj|tt}tjdtjdtj f}| |}|j }| |ddS)Ns Hello again!r s Hello again!) rHrIZSetClipboardDatarrrKrZOleGetClipboardrrr*datarD)rvalrFrZstgrLrrrtestWin32ToCom}s zClipboardTester.testWin32ToComcCsHtd}t|tjd}t||tdd}t|tddS)NrBrr r)r r rr<rCrJr r@rErrrtestDataObjectFlushs  z#ClipboardTester.testDataObjectFlushcCsDtd}t|}t|d}|tdtd|tddS)NrBr r)r r rrCrJr rErrrtestDataObjectResets   z#ClipboardTester.testDataObjectResetN) r9r:r;r?rArGrMrPrQrRrrrrr>\s r>__main__)util)N)ZunittestrrHrr$Zwin32com.server.exceptionrZwin32com.server.utilrrsplitr=r r r ZTestCaser>r9Z win32com.testrTZtestmainrrrrs  EK