
    Xh*                        d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZ d dlZd dlmZ  e j$                  ddg	      d
        Z G d de      Z G d de      Zd Z G d de      Z G d d      Zd Zd Zd Z G d de      Zd Z G d d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( Z+d) Z,d* Z-y)+    N)mock)
BoolTupleListInstanceCFloatCIntFloatInt
TraitErrorobserve   )setup)WidgetTF)paramsc              #      K   t         j                  j                  j                  }| j                  t         j                  j                  _        | j                   |t         j                  j                  _        y wN)
ipywidgetswidgetswidgetJUPYTER_WIDGETS_ECHOparam)requestoldvalues     [/var/www/html/myenv/lib/python3.12/site-packages/ipywidgets/widgets/tests/test_set_state.pyechor      sS     !!((==H5<]]J2
--5=J2s   A<A>c                       e Zd Z e       j	                  d      Z e e        e        e       d      j	                  d      Z e e             j	                  d      Z	y)SimpleWidgetTsync)FFF)default_valueN)
__name__
__module____qualname__r   tagar   br   c     r   r   r      sS    


Adfdfdf4IJNNTXNYATVd#Ar*   r   c                       e Zd Z e       j	                  d      Z e       j	                  d      Z e       j	                  d      Z	 e
       j	                  d      Zy)NumberWidgetTr   N)r"   r#   r$   r
   r%   fr   cfr   ir	   cir)   r*   r   r,   r,   "   sJ    A	4	 B		t	A		Br*   r,   c                 8    | d   s| S dg| dd z   | d   | d   gz   S )Nr   Fr   r)   )datar   s     r   transform_fromjsonr5   +   s5     77T!BZ48T"X"666r*   c                   H    e Zd Z e e             j                  de      Zy)TransformerWidgetT)r    	from_jsonN)r"   r#   r$   r   r   r%   r5   dr)   r*   r   r7   r7   2   s    TVd.@AAr*   r7   c                       e Zd ZddZy)DataInstanceNc                     || _         y r   r4   )selfr4   s     r   __init__zDataInstance.__init__9   s	    	r*   r   )r"   r#   r$   r?   r)   r*   r   r;   r;   8   s    r*   r;   c                 N    d| j                   rt        | j                         iS d iS Nr4   )r4   
memoryviewinstancer   s     r   mview_serializerrE   <   s$    (--Z.KKTKKr*   c                 |    d| j                   r-t        t        | j                         j                               iS d iS rA   )r4   	bytearrayrB   tobytesrC   s     r   bytes_serializerrI   ?   s3    x}}Yz(--8@@BC``Z^``r*   c                 \    t        | r t        | d         j                               S d       S rA   )r;   rB   rH   	json_datar   s     r   deserializerrM   B   s+    IIf$56>>@YYSWYYr*   c                   D    e Zd Z eed      j                  dee      Zy)
DataWidgetr)   argsTr    to_jsonr8   N)	r"   r#   r$   r   r;   r%   rE   rM   r9   r)   r*   r   rO   rO   E   s"    B'++?O[g+hAr*   rO   c                 P    t        | r| d   d d j                               S d       S )Nr4      )r;   rH   rK   s     r   truncate_deserializerrV   I   s,    Y6*3B/779RRDRRr*   c                   D    e Zd Z eed      j                  dee      Zy)TruncateDataWidgetr)   rP   TrR   N)	r"   r#   r$   r   r;   r%   rI   rV   r9   r)   r*   r   rX   rX   L   s"    B'++?O[p+qAr*   rX   c                     t               }|j                  t        dg dg d             t        |j                  j
                        | rdndk(  sJ y )NTTFTFTF)r&   r'   r(   r   r   )r   	set_statedictlencommmessagesr   ws     r   test_set_state_simplerc   T   sF    AKK


  qvvA1555r*   c                 h   t               }|j                  t        g d             g }| r6|j                  dt        g t        g dt        g d                  f       |j                  dt        g t        g dt        g d                  f       |j                  j
                  |k(  sJ y )	NrZ   r9   r)   echo_update)buffer_pathsmethodstate)buffersr4   updater[   )r7   r\   r]   appendr_   r`   )r   rb   expecteds      r   test_set_state_transformerrn   _   s    AKK
  H$01 	 OO	T-.
 	 66??h&&&r*   c                     t               }t        d      }|j                  t        dd|i             t	        |j
                  j                        | rdndk(  sJ y )N   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTr4   r&   r9   r   r   )rO   rB   r\   r]   r^   r_   r`   )r   rb   r4   s      r   test_set_state_datarr   z   sQ    AgDKK
4.  qvvA1555r*   c           
         t               }t        d      }|j                  t        dd|i             | r$t	        |j
                  j                        dk(  sJ 	 |j
                  j                  d   }|d   j                  d      }|d	t        t        d
t        i       ddgg            fk(  sJ t	        |      dk(  sJ |d   |d d j                         k(  sJ y )Nrp   Tr4   rq      r   r3   rj   r)   rk   re   r9   rh   ri   rg   r=   r   rU   )	rX   rB   r\   r]   r^   r_   r`   poprH   )r   rb   r4   msgrj   s        r   test_set_state_data_truncaterx      s    AgDKK
4. 
 )-3qvv1$33!
&&//"
C!fjj#G2t*-
     w<11:cr**,,,,r*   c                     t               }|j                  t        dddd             t        |j                  j
                        | rdndk(  sJ y )Nr   rt         )r-   r.   r/   r0   r   r,   r\   r]   r^   r_   r`   ra   s     r   test_set_state_numbers_intr}      sK     	AKK	  qvvA1555r*   c                     t               }|j                  t        ddd             t        |j                  j
                        | rdndk(  sJ y )Ng      ?       @g      @)r-   r.   r0   r   r   r|   ra   s     r   test_set_state_numbers_floatr      sF    AKK  qvvA1555r*   c                     t               }|j                  t        dd             t        |j                  j
                        | rdndk(  sJ y )Ng333333?g@)r-   r.   r   r   r|   ra   s     r   test_set_state_float_to_floatr      sC    AKK 
 qvvA1555r*   c                    t               }|j                  t        d             t        |j                  j
                        | rdndk(  sJ |j                  j
                  d   }|d   d   }|d   dk(  sJ |d	   d
dik(  sJ y )Ngffffff@)r0   rt   r   r3   r4   rh   rk   ri   r0      r|   )r   rb   rw   r4   s       r   test_set_state_cint_to_floatr      s    A KK  qvvA1555
&&//"
Cq6&>D>X%%%=T1I%%%r*   c                      t               } | j                  t        d             t        | j                  j
                        dk(  sJ y )Ng      @r/   r   r|   )rb   s    r   !_x_test_set_state_int_to_int_liker      s>    
 	AKK  qvv1$$$r*   c                     t               }t        j                  t              5  |j	                  t        d             d d d        y # 1 sw Y   y xY w)Ng      @r   )r,   pytestraisesr   r\   r]   ra   s     r   test_set_state_int_to_floatr      sB    A 
z	" 	D
 	  s   A		Ac                 *    G d dt               } |d      }|j                  dk(  sJ t        j                         |_        |j                  ddi       |j                  dk(  sJ |j                  du sJ g }|j                  j                  |       y )Nc                   f    e Zd Z e       j	                  d      Z ed      Z ed      d        Z	y)*test_property_lock.<locals>.AnnoyingWidgetTr   Fvaluec                     t        d|j                         | j                  ry |j                  dk(  rd| _        |j                  dk(  rd| _        d| _        y y )N_propagate_value*   rt   T)printnewstopr   r>   changes     r   r   z;test_property_lock.<locals>.AnnoyingWidget._propagate_value   sL    $fjj1yyzzR
zzQ 	
 r*   N)
r"   r#   r$   r
   r%   r   r   r   r   r   r)   r*   r   AnnoyingWidgetr      s4    &E{			  
	 r*   r   r   r   r   r   T)r   r   r   	MagicMock_sendr\   r   assert_has_calls)r   r   r   callss       r   test_property_lockr      s        !$F<<1>>#FL
gr]#<<2;;$ E
LL!!%(r*   c                     G d dt               } |d      }|j                  dk(  sJ t        j                         |_        |j                  ddi       |j                  dk(  sJ |j                  dk(  sJ d	dd
ig d}t        j                  |g       }dddig d}t        j                  |g       }dddig d}t        j                  |g       }| r|||gn||g}|j                  j                  |       y )Nc                       e Zd Z e       j	                  d      Z e       j	                  d      Z ed      d        Zy)&test_hold_sync.<locals>.AnnoyingWidgetTr   r   c                 l    t        d|j                         |j                  dk(  rd| _        d| _        y y )Nr   r   rt      )r   r   r   otherr   s     r   r   z7test_hold_sync.<locals>.AnnoyingWidget._propagate_value  s0    $fjj1zzR

  r*   N)	r"   r#   r$   r
   r%   r   r   r   r   r)   r*   r   r   r     s=    &&			  
	 r*   r   r   r   r   r   rt   r   rf         E@ru   rj   rk   r   r   g      &@)	r   r   r   r   r   r\   r   callr   )r   r   r   rw   call42call2call11r   s           r   test_hold_syncr   	  s    	  	  !$F<<1>>#FL
gr]#<<1<<2"gt_b
QCYYsB'F#
KCIIc2&E$
LCYYsB'F'+VUF#%E
LL!!%(r*   c                  L    G d dt               }  | d      }|j                  dk(  sJ t        j                         |_        |j                  ddd       |j                  dk(  sJ dd	d
ig d}t        j                  |g       }|g}|j                  j                  |       y )Nc                   :    e Zd Z e       j	                  d      Zy)test_echo.<locals>.ValueWidgetTr   Nr"   r#   r$   r
   r%   r   r)   r*   r   ValueWidgetr   /  s    &r*   r   r   r   r   +   )r   unexpected_fieldrf   r   r   ru   r   )r   r   r   r   r   r\   r   r   )r   r   rw   r   r   s        r   	test_echor   -  s    'f ' q!F<<1>>#FL
rr:;<<2 #gt_b
QCYYsB'FHE
LL!!%(r*   c                      G d dt               }  | d      }|j                  dk(  sJ t        j                         |_        |j                  ddddd	id
ii       |j                  d	k(  sJ |j                  dk(  sJ dddig d}t        j                  |g       }dddig d}t        j                  |g       }||g}|j                  j                  |       y )Nc                       e Zd Z e       j	                  d      Z e       j	                  d      Z ed      d        Zy)%test_echo_single.<locals>.ValueWidgetTr   r   c                 ,    | j                   dz  | _        y )Nrt   )r   squarer   s     r   _squarez-test_echo_single.<locals>.ValueWidget._squareG  s    **a-DKr*   N)	r"   r#   r$   r
   r%   r   r   r   r   r)   r*   r   r   r   D  s=    &$'			( 
	(r*   r   r   r   contentr4   rk   r      rh   ri   @   rf   g       @ru   r   r   )	r   r   r   r   r   _handle_msgr   r   r   )r   r   rw   r   r   r   s         r   test_echo_singler   B  s    (f ( q!F<<1>>#FL
"Q
	 	 <<1==B #gs^R
PC99S"%D2
KCIIc2&E 5ME
LL!!%(r*   c                     G d dt               } |d      }|j                  dk(  sJ t        j                         |_        |j                  ddddd	id
ii       |j                  d	k(  sJ |j                  j                          d|_        |j                  j                  t        j                  dddig dg       g       y )Nc                   <    e Zd Z e       j	                  dd      Zy)!test_no_echo.<locals>.ValueWidgetTF)r    rf   Nr   r)   r*   r   r   r   l  s    59r*   r   r   r   r   r4   rk   r   r   r   r   g     E@ru   r   )	r   r   r   r   r   r   assert_not_calledr   r   )r   r   r   s      r   test_no_echor   j  s    :f : q!F<<1>>#FL
"R
	 	 <<2 LL""$ FL
LL!!499GUY?ln-oy{#|"}~r*   ).r   unittestr   	traitletsr   r   r   r   r   r	   r
   r   r   r   utilsr   r   r   fixturer   r   r,   r5   r7   r;   rE   rI   rM   rO   rV   rX   rc   rn   rr   rx   r}   r   r   r   r   r   r   r   r   r   r   r)   r*   r   <module>r      s      ` ` `    e}%> &>$6 $6 7B B LaZi iSr r6'66-06 	66&"%)< )H)*%)Pr*   