
    hMh*                        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-dS )+    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        V  |t           j        j        _        d S N)
ipywidgetswidgetswidgetJUPYTER_WIDGETS_ECHOparam)requestoldvalues     g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/ipywidgets/widgets/tests/test_set_state.pyechor      sF      !(=H5<]J2
-5=J222    c                      e Zd Z e                                d          Z e e             e             e            d                              d          Z e e                                          d          Z	dS )SimpleWidgetTsync)FFF)default_valueN)
__name__
__module____qualname__r   tagar   br   c r   r   r   r      s        


Addffddffddff4IJJJNNTXNYYATTVVd##AAAr   r   c                       e Zd Z e                                d          Z e                                d          Z e                                d          Z	 e
                                d          ZdS )NumberWidgetTr    N)r#   r$   r%   r
   r&   fr   cfr   ir	   cir*   r   r   r,   r,   "   sr        A	4	 	 B		t	A			BBBr   r,   c                 T    | d         s| S dg| dd         z   | d         | d         gz   S )Nr   Fr   r*   )datar   s     r   transform_fromjsonr5   +   s<     7 7T!B$Z48T"X"666r   c                   ^    e Zd Z e e                                          de          ZdS )TransformerWidgetT)r!   	from_jsonN)r#   r$   r%   r   r   r&   r5   dr*   r   r   r7   r7   2   s5        TTVVd.@AAAAAr   r7   c                       e Zd ZddZdS )DataInstanceNc                     || _         d S 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                 @    d| j         rt          | j                   nd iS Nr4   )r4   
memoryviewinstancer   s     r   mview_serializerrE   <   s#    (-IZ...TKKr   c                 ~    d| j         r3t          t          | j                                                             nd iS rA   )r4   	bytearrayrB   tobytesrC   s     r   bytes_serializerrI   ?   s8    x}^Yz(-88@@BBCCCZ^``r   c                 r    t          | r't          | d                                                   nd           S rA   )r;   rB   rH   	json_datar   s     r   deserializerrM   B   s4    IWIf$566>>@@@SWYYYr   c                   T    e Zd Z eed                              dee          ZdS )
DataWidgetr*   argsTr!   to_jsonr8   N)	r#   r$   r%   r   r;   r&   rE   rM   r9   r*   r   r   rO   rO   E   s9        B'''++?O[g+hhAAAr   rO   c                 h    t          | r"| d         d d                                         nd           S )Nr4      )r;   rH   rK   s     r   truncate_deserializerrV   I   s4    YP6*3B3/77999DRRRr   c                   T    e Zd Z eed                              dee          ZdS )TruncateDataWidgetr*   rP   TrR   N)	r#   r$   r%   r   r;   r&   rI   rV   r9   r*   r   r   rX   rX   L   s9        B'''++?O[p+qqAAAr   rX   c                     t                      }|                    t          dg dg d                     t          |j        j                  | rdndk    sJ d S )NTTFTFTF)r'   r(   r)   r   r   )r   	set_statedictlencommmessagesr   ws     r   test_set_state_simplerc   T   su    AKK






      qv$4AA1555555r   c                    t                      }|                    t          g d                     g }| rF|                    dt          g t          g dt          g d                              f           |                    dt          g t          g dt          g d                              f           |j        j        |k    sJ d S )	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00111     	 	 	 OO	T---...
 
 
   	   6?h&&&&&&r   c                     t                      }t          d          }|                    t          dd|i                     t	          |j        j                  | rdndk    sJ d S )N   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTr4   r'   r9   r   r   )rO   rB   r\   r]   r^   r_   r`   )r   rb   r4   s      r   test_set_state_datarr   z   sw    AgDKK
4.      qv$4AA1555555r   c           
         t                      }t          d          }|                    t          dd|i                     | rt	          |j        j                  dk    snnJ |j        j        d         }|d                             d          }|d	t          t          d
t          i           ddgg                    fk    sJ t	          |          dk    sJ |d         |d d                                         k    sJ d S )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      s8   AgDKK
4.     
 )-33qv1$$$$$$
&/"
C!fjj##G2t***-
 
 
        w<<11:crc**,,,,,,,,r   c                     t                      }|                    t          dddd                     t          |j        j                  | rdndk    sJ d S )Nr   rt         )r-   r.   r/   r0   r   r,   r\   r]   r^   r_   r`   ra   s     r   test_set_state_numbers_intr}      sn     	AKK	      qv$4AA1555555r   c                     t                      }|                    t          ddd                     t          |j        j                  | rdndk    sJ d S )Ng      ?       @g      @)r-   r.   r0   r   r   r|   ra   s     r   test_set_state_numbers_floatr      si    AKK      qv$4AA1555555r   c                     t                      }|                    t          dd                     t          |j        j                  | rdndk    sJ d S )Ng333333?g@)r-   r.   r   r   r|   ra   s     r   test_set_state_float_to_floatr      sf    AKK     
 qv$4AA1555555r   c                 *   t                      }|                    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 d S )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      qv$4AA15555
&/"
Cq6&>D>X%%%%=T1I%%%%%%r   c                      t                      } |                     t          d                     t          | j        j                  dk    sJ d S )Ng      @r/   r   r|   )rb   s    r   !_x_test_set_state_int_to_int_liker      s\    
 	AKK      qv1$$$$$$r   c                     t                      }t          j        t                    5  |                    t          d                     d d d            d S # 1 swxY w Y   d S )Ng      @r   )r,   pytestraisesr   r\   r]   ra   s     r   test_set_state_int_to_floatr      s    A 
z	"	"  	D
 
 
 	 	 	                 s   $AA Ac                 $    G d dt                     } |d          }|j        dk    sJ t          j                    |_        |                    ddi           |j        dk    sJ |j        du sJ g }|j                            |           d S )Nc                       e Zd Z e                                d          Z ed          Z ed          d             Z	dS )*test_property_lock.<locals>.AnnoyingWidgetTr    Fvaluec                     t          d|j                   | j        rd S |j        dk    rd| _        |j        dk    rd| _        d| _        d S d S )N_propagate_value*   rt   T)printnewstopr   r>   changes     r   r   z;test_property_lock.<locals>.AnnoyingWidget._propagate_value   s\    $fj111y zR
zQ 	


 r   N)
r#   r$   r%   r
   r&   r   r   r   r   r   r*   r   r   AnnoyingWidgetr      s^        &&tE{{				  	  
		  	  	 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
L!!%(((((r   c                     G d dt                     } |d          }|j        dk    sJ t          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                            |           d S )Nc                       e Zd Z e                                d          Z e                                d          Z ed          d             ZdS )&test_hold_sync.<locals>.AnnoyingWidgetTr    r   c                 f    t          d|j                   |j        dk    rd| _        d| _        d S d S )Nr   r   rt      )r   r   r   otherr   s     r   r   z7test_hold_sync.<locals>.AnnoyingWidget._propagate_value  s<    $fj111zR



  r   N)	r#   r$   r%   r
   r&   r   r   r   r   r*   r   r   r   r     sj        &&&&				  	  
		  	  	 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   	  sK   	  	  	  	  	  	  	  	  ^!$$$F<1>##FL
gr]###<1<2"gt_b
Q
QCYsB'''F#
K
KCIc2&&&E$
L
LCYsB'''F'+@VUF##%E
L!!%(((((r   c                  N    G d dt                     }  | d          }|j        dk    sJ t          j                    |_        |                    ddd           |j        dk    sJ dd	d
ig d}t          j        |g           }|g}|j                            |           d S )Nc                   J    e Zd Z e                                d          ZdS )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
Q
QCYsB'''FHE
L!!%(((((r   c                      G d dt                     }  | d          }|j        dk    sJ t          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                            |           d S )Nc                       e Zd Z e                                d          Z e                                d          Z ed          d             ZdS )%test_echo_single.<locals>.ValueWidgetTr    r   c                 $    | j         dz  | _        d S )Nrt   )r   squarer   s     r   _squarez-test_echo_single.<locals>.ValueWidget._squareG  s    *a-DKKKr   N)	r#   r$   r%   r
   r&   r   r   r   r   r*   r   r   r   r   D  sj        &&$''				( 	( 
		( 	( 	(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
P
PC9S"%%%D2
K
KCIc2&&&E 5ME
L!!%(((((r   c                     G d dt                     } |d          }|j        dk    sJ t          j                    |_        |                    ddddd	id
ii           |j        d	k    sJ |j                                         d|_        |j                            t          j        dddig dg           g           d S )Nc                   L    e Zd Z e                                dd          ZdS )!test_no_echo.<locals>.ValueWidgetTF)r!   rf   Nr   r*   r   r   r   r   l  s)        59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 L""$$$ FL
L!!49GUY?ln-o-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 7 7B B B B B B B B       L L La a aZ Z Zi i i i i i i iS S Sr r r r r r r r6 6 6' ' '66 6 6- - -06 6 6 	6 	6 	66 6 6& & &"% % %  ) ) )< )  )  )H) ) )*%) %) %)P    r   