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
   )pZ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
   )Z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)dataZstring_typesigr   r   r   test_serialise_dict(   s   r.   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!   )Zparse_signaturer   r)   ZStructr'   r(   r&   ZVariant)r-   r   r   r   test_parse_signature9   s   

r1   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   r5   H   s   

zfake_list.__init__c                 C   s   | j S r3   )r6   r7   r   r   r   __len__L   s   zfake_list.__len__c                 C   s   t t| jS r3   )iterranger6   r;   r   r   r   __iter__O   s   zfake_list.__iter__)__name__
__module____qualname__r5   r<   r?   __classcell__r   r   r9   r   r2   G   s    r2   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   Qd   r   i  )	r'   Z	FixedTyper   r2   r*   r+   pytestZraisesZSizeLimitError)r#   r   r   r   test_array_limitR   s
   "rH   )rG   Zjeepney.low_levelr   r   r   r   r   r    r.   r1   r   r2   rH   r   r   r   r   <module>   s    