Ë
    #ïàj=  ã                   ó4   — d Z ddlmZ  G d„ d«      Zd„ Zd„ Zy)z%Tests for :py:mod:`cheroot.makefile`.é    )Úmakefilec                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
MockSocketzA mock socket.c                 ó   — g | _         y)z"Initialize :py:class:`MockSocket`.N)Úmessages©Úselfs    úI/srv/dav/.venv/lib/python3.12/site-packages/cheroot/test/test_makefile.pyÚ__init__zMockSocket.__init__	   s	   € àˆ�ó    c                 ó˜   — | j                   sy| j                   j                  d«      }t        |«      D ]
  \  }}|||<   Œ t        |«      S )z$Simulate ``recv_into`` for Python 3.r   )r   ÚpopÚ	enumerateÚlen)r	   ÚbufÚmsgÚindexÚbytes        r
   Ú	recv_intozMockSocket.recv_into   sI   € à�}Š}ØØ�m‰m×Ñ Ó"ˆÜ$ S›>ò 	‰KˆE�4ØˆC�ŠJð	ä�3‹xˆr   c                 óX   — 	 | j                   j                  d«      S # t        $ r Y yw xY w)zSimulate ``recv`` for Python 2.r   Ú )r   r   Ú
IndexError)r	   Úsizes     r
   ÚrecvzMockSocket.recv   s.   € ð	Ø—=‘=×$Ñ$ QÓ'Ð'øÜò 	Ùð	ús   ‚ �	)¨)c                 ó   — t        |«      S )zSimulate a send.)r   )r	   Úvals     r
   ÚsendzMockSocket.send   s   € ä�3‹xˆr   c                  ó   — y)z'Emulate socket I/O reference decrement.N© r   s    r
   Ú_decref_socketioszMockSocket._decref_socketios!   s   � r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r    r   r   r
   r   r      s   „ Ùòòòòó6r   r   c                  ó¼   — t        «       } | j                  j                  d«       t        j                  | d«      }|j                  «        |j                  dk(  sJ ‚y)z!Reader should capture bytes read.ó   fooÚré   N)r   r   Úappendr   ÚMakeFileÚreadÚ
bytes_read)ÚsockÚrfiles     r
   Útest_bytes_readr/   &   sJ   € ä‹<€DØ‡M�M×Ñ˜Ô Ü×Ñ˜d CÓ(€EØ	‡J�J„LØ×Ñ˜qÒ Ð Ñ r   c                  ó¾   — t        «       } | j                  j                  d«       t        j                  | d«      }|j                  d«       |j                  dk(  sJ ‚y)z$Writer should capture bytes written.r&   Úws   barr(   N)r   r   r)   r   r*   ÚwriteÚbytes_written)r-   Úwfiles     r
   Útest_bytes_writtenr5   /   sM   € ä‹<€DØ‡M�M×Ñ˜Ô Ü×Ñ˜d CÓ(€EØ	‡K�K�ÔØ×Ñ !Ò#Ð#Ñ#r   N)r$   Úcherootr   r   r/   r5   r   r   r
   ú<module>r7      s    ðÙ +å ÷6ñ 6ò@!ó$r   