
    %
i@                         d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm	Z	 d
                                Zd addZ G d d          Z G d d	e j                  Zed
k    rd dlmZ  ej                     dS dS )    N)COMException)NewEnumwrapzGetData GetDataHere QueryGetData
                         GetCanonicalFormatEtc SetData EnumFormatEtc
                         DAdvise DUnadvise EnumDAdvisec                 &    t          | |d          S )Nr   )iiduseDispatcher)r   )obr   s     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32com/test/testClipboard.pyWrapCOMObjectr      s    1----    c                   j    e Zd Zej        gZeZd Zd Z	d Z
d Zd Zd Zd Zd Zd	 Zd
 Zd Zd ZdS )TestDataObjectc                     t           dz  a || _        g | _        t          j        t          j        fD ]7}|d t          j        dt          j        f}| j        	                    |           8d S )N   )
num_do_objectsbytesvalsupported_fewin32conCF_TEXTCF_UNICODETEXT	pythoncomDVASPECT_CONTENTTYMED_HGLOBALappend)selfr   cffes       r
   __init__zTestDataObject.__init__   so    ! #X%<= 	) 	)BT95r9;RRB$$R((((	) 	)r   c                     t           dz  a d S )Nr   )r   r   s    r
   __del__zTestDataObject.__del__$   s    !r   c                 R    |t           j        k    rt          | j        |          S d S )Nr   )r   IID_IEnumFORMATETCr   r   )r   r   s     r
   _query_interface_z TestDataObject._query_interface_(   s.    )...4,#6666 /.r   c                    d }|\  }}}}}|t           j        z  r|t           j        k    r|t          j        k    r9t          j                    }|                    t           j        | j                   n[|t          j        k    rKt          j                    }|                    t           j        | j        	                    d                     |t          t          j                  |S )Nlatin1hresult)r   r   r   r   r   	STGMEDIUMsetr   r   decoder   winerror	E_NOTIMPL)r   r   ret_stgr   targetaspectindextymeds           r
   GetDatazTestDataObject.GetData,   s    +-(FFE5I.. 	U5I<S3S3SX%%%#-//I3T]CCCCx...#-//I3T]5I5I(5S5STTT?x'9::::r   c                 6    t          t          j                  Nr)   r   r.   r/   r   r   s     r
   GetDataHerezTestDataObject.GetDataHere;       8#56666r   c                     |\  }}}}}|t           j        z  dk    rt          t          j                  |t           j        k    rt          t          j                  d S )Nr   r)   )r   r   r   r.   DV_E_DVASPECTr   
DV_E_TYMED)r   r   r   r1   r2   r3   r4   s          r
   QueryGetDatazTestDataObject.QueryGetData>   s`    +-(FFE5I..!33x'=>>>>I+++x':;;;;tr   c                 4    t          t          j                  N)r   r.   DATA_S_SAMEFORMATETCr9   s     r
   GetCanonicalFormatEtcz$TestDataObject.GetCanonicalFormatEtcF   s    88999r   c                 6    t          t          j                  r7   r8   )r   r   mediums      r
   SetDatazTestDataObject.SetDataI   r;   r   c                     |t           j        k    rt          t          j                  t          | j        t           j                  S )Nr)   r$   )r   DATADIR_GETr   r.   r/   r   r   r%   )r   	directions     r
   EnumFormatEtczTestDataObject.EnumFormatEtcL   s=    	---x'9::::t(i.JKKKKr   c                 6    t          t          j                  r7   r8   )r   r   flagssinks       r
   DAdvisezTestDataObject.DAdviseQ   r;   r   c                 6    t          t          j                  r7   r8   )r   
connections     r
   	DUnadvisezTestDataObject.DUnadviseT   r;   r   c                 6    t          t          j                  r7   r8   r!   s    r
   EnumDAdvisezTestDataObject.EnumDAdviseW   r;   r   N)__name__
__module____qualname__r   IID_IDataObject_com_interfaces_IDataObject_Methods_public_methods_r   r"   r&   r5   r:   r?   rC   rF   rJ   rN   rQ   rS    r   r
   r   r      s        !12*) ) )  7 7 7  7 7 7  : : :7 7 7L L L
7 7 77 7 77 7 7 7 7r   r   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	ClipboardTesterc                 ,    t          j                     d S rA   )r   OleInitializer!   s    r
   setUpzClipboardTester.setUp\   s    !!!!!r   c                 Z    	 t          j                     d S # t           j        $ r Y d S w xY wrA   )r   OleFlushClipboard	com_errorr!   s    r
   tearDownzClipboardTester.tearDown_   sA    	')))))" 	 	 	DD	s    **c                     t          d          }t          |t          j                  }t          j        |           |                     t          j        |                     d S )N   Hello from Pythonr$   )r   r   r   rW   OleSetClipboard
assertTrueOleIsCurrentClipboardr   dos     r
   testIsCurrentClipboardz&ClipboardTester.testIsCurrentClipboardf   sY    01129#<===!"%%%	7;;<<<<<r   c                    t          d          }t          |t          j                  }t          j        |           t          j                     t          j        t          j	                  }d}| 
                    ||           t          j        t          j                  }| 
                    |d           t          j                     d S )Nrf   r$   zHello from Python)r   r   r   rW   rg   win32clipboardOpenClipboardGetClipboardDatar   r   assertEqualr   CloseClipboard)r   rk   gotexpecteds       r
   testComToWin32zClipboardTester.testComToWin32l   s    01129#<===!"%%%$&&&-h.>??'h'''-h.EFF1222%'''''r   c                 h   d}t          j                     t          j        t          j        |           t          j                     t          j                    }t          j        d t          j        dt          j	        f}|
                    |          }|j        }|                     |d           d S )Ns   Hello again!r   s   Hello again! )rn   ro   SetClipboardDatar   r   rr   r   OleGetClipboardr   r   r5   datarh   )r   valrk   r   stgrs   s         r
   testWin32ToComzClipboardTester.testWin32ToCom|   s    $&&&'(8#>>>%'''&((&#
 jjnnh 	./////r   c                    t          d          }t          |t          j                  }t          j        |           |                     t          d           d }t          j                     |                     t          d           d S )Nrf   r$   r   r   )r   r   r   rW   rg   rq   r   rb   rj   s     r
   testDataObjectFlushz#ClipboardTester.testDataObjectFlush   s|    01129#<===!"%%%+++#%%%+++++r   c                    t          d          }t          |          }t          j        |           d }|                     t
          d           t          j        d            |                     t
          d           d S )Nrf   r   r   )r   r   r   rg   rq   r   rj   s     r
   testDataObjectResetz#ClipboardTester.testDataObjectReset   sv    0112!"%%%+++!$'''+++++r   N)
rT   rU   rV   r`   rd   rl   ru   r|   r~   r   r[   r   r
   r]   r]   [   s}        " " "  = = =( ( ( 0 0 0,, , ,, , , , ,r   r]   __main__)utilrA   )unittestr   rn   r   r.   win32com.server.exceptionr   win32com.server.utilr   r   splitrY   r   r   r   TestCaser]   rT   win32com.testr   testmainr[   r   r
   <module>r      s/              2 2 2 2 2 2 . . . . . . . .::?%'' 
 . . . .A7 A7 A7 A7 A7 A7 A7 A7HH, H, H, H, H,h' H, H, H,V z""""""DMOOOOO r   