
    e                         d dl Z d dlZ ej        d           d dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ ej        j        Zd Zd	 ZdS )
    N
playwright)expect)state)Markdown)serve_component
wait_until)Buttonc                     d }t          | |           t          |                     d                              d                                        d           d S )Nc                  X    t          d          fd} t          j        |            S )NInitialc                      d _         d S )NLoaded)object)mds   <lib/python3.11/site-packages/panel/tests/ui/io/test_state.pycbz%test_on_load.<locals>.app.<locals>.cb   s     BIII    )r   r   onload)r   r   s    @r   appztest_on_load.<locals>.app   s@    i  	! 	! 	! 	! 	! 	R	r   z	.markdowndivzLoaded
)r   r   locatorto_have_text)pager   s     r   test_on_loadr      s_       D#
4<<$$,,U3344AA*MMMMMr   c                 x   i i fdfd}t          | |          \  }}|                     d           |                     d|            |                     d           |                     d|            |                     d           t          fd           t          fd           d S )Nc                 J  K   | j                  t          j        u sJ t          j        d           d {V  g t          j        <   t          d          D ]K}t          j        d           d {V  t          j                                     t          j                   Ld S )Ng      ?
   g?)objr   curdocasynciosleeprangeappend)event_buttonsdocss     r   taskz8test_server_async_local_state_button_click.<locals>.task#   s      uy!U\1111mC         U\r 	4 	4A-$$$$$$$$$%%el3333	4 	4r   c                  F    t                    } t          j        | <   | S )N)on_click)r	   r   r   )buttonr&   r(   s    r   r   z7test_server_async_local_state_button_click.<locals>.app+   s#    &&&,r   z.bk-btnzhttp://localhost:c                  *    t                     dk    S )N   )lenr'   s   r   <lambda>z<test_server_async_local_state_button_click.<locals>.<lambda>=   s    s4yyA~ r   c                  Z    t          d                                  D                       S )Nc                 h    g | ]/\  }}t          t          |                    d k    o	|d         |u 0S )   r   )r.   set).0docr'   s      r   
<listcomp>zPtest_server_async_local_state_button_click.<locals>.<lambda>.<locals>.<listcomp>>   s:    aaaysDCD		NNa/BDGsNaaar   )allitemsr/   s   r   r0   z<test_server_async_local_state_button_click.<locals>.<lambda>>   s+    saaTXT^T^T`T`aaabb r   )r   clickgotor   )r   bokeh_curdocr   r%   portr&   r'   r(   s        @@@r   *test_server_async_local_state_button_clickr>      s   DG4 4 4 4 4 4     
 dC((GAtJJyII($(()))JJyII($(()))JJy %%%%&&&bbbbcccccr   )r    pytestimportorskipplaywright.sync_apir   panel.io.stater   
panel.paner   panel.tests.utilr   r   panel.widgetsr	   markui
pytestmarkr   r>    r   r   <module>rJ      s       L ! ! ! & & & & & &                   8 8 8 8 8 8 8 8            [^
N N Nd d d d dr   