o
    t˜[ú	  ã                   @   sh   d dl Z d dlT dZdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Z	G dd„ de
ƒZdd„ ZdS )é    N)Ú*s€   l        m   o    /org/freedesktop/DBus   s    org.freedesktop.DBus    s    Hello   s    org.freedesktop.DBus    c                  C   s*   t ƒ  t¡d } | jjtj dksJ ‚d S )Nr   ÚHello)ÚParserÚfeedÚHELLO_METHOD_CALLÚheaderÚfieldsÚHeaderFieldsÚmember©Úmsg© r   ú>/usr/lib/python3/dist-packages/jeepney/tests/test_low_level.pyÚtest_parser_simple   s   r   c                 c   s@   � d}|t | ƒk r|| }| ||… V  |}|t | ƒk s	d S d S ©Nr   )Úlen)ÚsrcÚsizeÚposÚendr   r   r   Úchunks   s   €ýr   c                  C   sd   t ƒ } tttdƒƒ}|d d… D ]}|  |¡g ksJ ‚q|  |d ¡d }|jjtj dks0J ‚d S )Né   éÿÿÿÿr   r   )	r   Úlistr   r   r   r   r   r	   r
   )ÚpÚchunkedÚcr   r   r   r   Útest_parser_chunks   s   r   c                  C   sD   t ƒ  td ¡} t| ƒdksJ ‚| D ]}|jjtj dksJ ‚qd S )Né   r   )r   r   r   r   r   r   r	   r
   )Úmsgsr   r   r   r   Útest_multiple   s
   ÿr    c                  C   s$   t ƒ  t¡d } |  ¡ tksJ ‚d S r   )r   r   r   Ú	serialiser   r   r   r   Útest_roundtrip$   s   r"   c                  C   sR   dddœ} t d }tt||gƒƒ}t| | dtj¡ƒ | | dtj¡dks'J ‚d S )NÚbÚf)ÚaÚdeÚsr   s&             a      b      de     f )Úsimple_typesÚArrayÚ	DictEntryÚprintr!   Ú
EndiannessÚlittle)ÚdataÚstring_typeÚsigr   r   r   Útest_serialise_dict(   s   þÿr1   c               	   C   sh   t tdƒƒ} t| ƒ | ttttd tƒ gƒƒttd ttd ƒttd ƒtd gƒtd gƒks2J ‚d S )Nz(a{sv}(oayays)b)r'   ÚoÚyr#   )Úparse_signaturer   r+   ÚStructr)   r*   r(   ÚVariant)r0   r   r   r   Útest_parse_signature9   s   

üør7   c                       s,   e Zd Z‡ fdd„Zdd„ Zdd„ Z‡  ZS )Ú	fake_listc                    s   t ƒ  ¡  || _d S ©N)ÚsuperÚ__init__Ú_n)ÚselfÚn©Ú	__class__r   r   r;   H   s   

zfake_list.__init__c                 C   s   | j S r9   )r<   ©r=   r   r   r   Ú__len__L   s   zfake_list.__len__c                 C   s   t t| jƒƒS r9   )ÚiterÚranger<   rA   r   r   r   Ú__iter__O   s   zfake_list.__iter__)Ú__name__Ú
__module__Ú__qualname__r;   rB   rE   Ú__classcell__r   r   r?   r   r8   G   s    r8   c                  C   sf   t tddƒƒ} |  tdƒdtj¡ t t¡� |  tdƒdtj¡ W d   ƒ d S 1 s,w   Y  d S )Né   ÚQéd   r   i € )	r)   Ú	FixedTyper!   r8   r,   r-   ÚpytestÚraisesÚSizeLimitError)r%   r   r   r   Útest_array_limitR   s
   "ÿrQ   )rN   Újeepney.low_levelr   r   r   r   r    r"   r1   r7   r   r8   rQ   r   r   r   r   Ú<module>   s    ÿ