
    e                     ~    d dl Z d dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
mZmZ ej        j        Zd Zd Zd Zd ZdS )	    N)serve_component
wait_until)parse_query)FloatSliderRangeSlider	TextInputc                 h      D ]+t          fd           t           fd           ,d S )Nc                  2                          d          v S N() => document.locationevaluate)pageparams   ?lib/python3.11/site-packages/panel/tests/ui/io/test_location.py<lambda>z*verify_document_location.<locals>.<lambda>   s    5DMM2K$L$LL     c                  N                         d                             k    S r   r   expected_locationr   r   s   r   r   z*verify_document_location.<locals>.<lambda>   s%    4==)BCCEJN_`eNff r   )r   r   s   ``@r   verify_document_locationr      sc    " n nLLLLLdSSSffffffhlmmmmn nr   c                      d }t           |          \  }}dd| ddd d}t          |            t           fd            d S )Nc                  H   t          ddd          t          d          t          ddd          t          j                  } t          j        j        rt          j        j                            dd	i           t          j	        d
           t          j        j                            ddi           t          j	        d
           t          j        j                            ddi           fd}t          j        
                    |           | S )z(Simple app to set url by widgets' valuesSliderr   
   )namestartendTextr   r   valueslider_value皙?
text_valuerange_valuec                      d _         t          j        d           d_         t          j        d           d_         d S )N   r#   Simple Text)   r'   )r!   timesleep)w1w2w3s   r   cbz<test_set_url_params_update_document.<locals>.app.<locals>.cb#   s6    BHJsOOO$BHJsOOOBHHHr   )r   r   r   pnRowstatelocationsyncr*   r+   onload)widgetsr/   r,   r-   r.   s     @@@r   appz0test_set_url_params_update_document.<locals>.app   s   haR888F###m1"===&R$$8 	AH""2'@AAAJsOOOH""2'>???JsOOOH""2'?@@@	 	 	 	 	 	 	 	r   http:	localhost/ )protocolhostnameportpathnamehashreloadc                  h    t                               d          d                   ddgdddk    S )Nr   searchr)   r'   r(   )r%   r"   r$   )r   r   )r   s   r   r   z5test_set_url_params_update_document.<locals>.<lambda>8   s?    {4==1J#K#KH#UVV1v#[ [  r   )r   r   r   r   r7   _r>   r   s   `    r   #test_set_url_params_update_documentrF      s      0 dC((GAt 	  .555     	    r   c           	      r    d }t          | |          \  }}d| ddd| dddd d	}t          ||            d S )
Nc                  j    t          d          } d }t          j                            |           | S )z simple app to set hash at onloadr   r    c                  2    dt           j        j        _        d S )N#123)r0   r2   r3   r@    r   r   r/   z6test_set_hash_update_document.<locals>.app.<locals>.cbD   s    %+BH"""r   )r   r0   r2   r5   )widgetr/   s     r   r7   z*test_set_hash_update_document.<locals>.app@   s<    '''	, 	, 	, 	r   zhttp://localhost:z/#123r8   r9   r:   r;   rJ   )hrefr<   r=   r>   r?   rC   r@   rA   )r   r   rD   s        r   test_set_hash_update_documentrN   ?   ss       dC((GAt 0D///		 	 .55555r   c                 |    t          d          fd}t          | |d           t          fd|            d S )Nr   r    c                      t           j        j        r't           j        j                            ddi           d } t           j                            |            S )Nr!   r$   c                  >    t           j        j        j        dk    sJ dS )zDo nothing callbackz?text_value=Text+ValueN)r0   r2   r3   rC   rK   r   r   r/   z@test_set_document_location_update_state.<locals>.app.<locals>.cb`   s$     8$+/GGGGGGGr   )r0   r2   r3   r4   r5   )r/   rL   s    r   r7   z4test_set_document_location_update_state.<locals>.app\   s^    8 	DH""6G\+BCCC	H 	H 	H
 	r   z/?text_value=Text+Value)suffixc                       j         dk    S )Nz
Text Value)r!   )rL   s   r   r   z9test_set_document_location_update_state.<locals>.<lambda>k   s    v||3 r   )r   r   r   )r   r7   rL   s     @r   'test_set_document_location_update_staterT   Y   sf    F###F
 
 
 
 
 D#&?@@@@ 3333T:::::r   )r*   pytestpanelr0   panel.tests.utilr   r   
panel.utilr   panel.widgetsr   r   r   markui
pytestmarkr   rF   rN   rT   rK   r   r   <module>r]      s          8 8 8 8 8 8 8 8 " " " " " " = = = = = = = = = =[^
n n n( ( (V6 6 64; ; ; ; ;r   