o
    
i	
                     @   sD   d dl Z d dlmZ d dlmZ dd Zdd Zdd	 Zd
d ZdS )    N)msgpackExtTypec                  C   s   dd } | ddksJ | ddksJ | ddksJ | d	d
ks$J | ddks,J | ddks4J | ddks<J | dd ddd  ksJJ d S )Nc                 S   s   t  }|d|  | S )NB   )r   Packerpack_ext_typebytes)spacker r   V/home/ubuntu/.local/lib/python3.10/site-packages/srsly/tests/msgpack/test_extension.pyp   s   ztest_pack_ext_type.<locals>.p   A   BA   AB   BAB   ABCD   BABCD   ABCDEFGH
   BABCDEFGH   AAAAAAAAAAAAAAAA   BAAAAAAAAAAAAAAAA   ABC   BABC#  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'  #BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE#     #EBr   )r   r   r   r   test_pack_ext_type   s    r   c                  C   s   dd } | dt dd | dt dd | dt dd	 | d
t dd | dt dd | dt dd | dt dd | ddd  t ddd  d S )Nc                 S   s   t | |ks	J d S )N)r   unpackb)bexpectedr   r   r   check   s   z#test_unpack_ext_type.<locals>.checkr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r"   r   r   r   test_unpack_ext_type   s   
r#   c                  C   sR   dd } dd }ddt  dg dg}tj|| d	}tj||d
}||ks'J d S )Nc                 S   s:   t d|  t| tjrd}|  }t||S td| f )Nzdefault called{   zUnknown type object %r)print
isinstancearraytobytesr   	TypeError)objtypecodedatar   r   r   default*   s   

z$test_extension_type.<locals>.defaultc                 S   s0   t d| | | dksJ td}|| |S )Nzext_hook calledr$   d)r%   r'   	frombytes)coder,   r*   r   r   r   ext_hook2   s
   

z%test_extension_type.<locals>.ext_hook*   s   hellor.   )g?g@gffffff
@r-   )r1   )r'   r   packbr   )r-   r1   r*   r	   obj2r   r   r   test_extension_type)   s   r6   c                  C   s^   dd } dt di}d| |d i}t|}t|ttfs J tj|| d}||ks-J d S )Nc                 S   s   t | trdt| dS | S )Nlong)__type____data__)r&   intstr)r*   r   r   r   r-   @   s   
z&test_overriding_hooks.<locals>.defaulttestvall   [q PoU#0 r3   )r:   r   r4   r&   r;   r   )r-   r*   refobjrefouttestoutr   r   r   test_overriding_hooks?   s   
r@   )	r'   srslyr   srsly.msgpack.extr   r   r#   r6   r@   r   r   r   r   <module>   s    