
    6One%                         d dl Z d dlZd dlmZ ej        Zej        Ze j        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)	extensionc               #   |   K    G d d          fd} | V  t           t          _        t          t          _        d S )Nc                   (    e Zd ZdZed             ZdS )#get_ipython.<locals>.ExecutionCount   c                 &    | xj         dz  c_         d S )Nr   )execution_count)clss    @lib/python3.11/site-packages/pyviz_comms/tests/test_extension.pybumpz(get_ipython.<locals>.ExecutionCount.bump   s     1$    N)__name__
__module____qualname__r	   classmethodr    r   r   ExecutionCountr      s2        		% 	% 
	% 	% 	%r   r   c                       S Nr   )r   s   r   _get_ipythonz!get_ipython.<locals>._get_ipython   s	    r   )LAST_EXECUTION_COUNTr   _last_execution_countREPEAT_EXECUTION_IN_CELL_repeat_execution_in_cell)r   r   s    @r   get_ipythonr      sl      
% % % % % % % %     &:I#*BI'''r   c                 &   |                      t          d|            G d dt                    } |             |j        dk    sJ  |             |j        dk    sJ  |                                              |             |j        dk    sJ d S )Nr   c                       e Zd Zd ZdS )/test_get_ipython_fixture.<locals>.sub_extensionc                     d S r   r   selfargsparamss      r   __call__z8test_get_ipython_fixture.<locals>.sub_extension.__call__'       Dr   Nr   r   r   r$   r   r   r   sub_extensionr   &   #        	 	 	 	 	r   r'   r      )setattrpyviz_commsr   r   r   monkeypatchr   r'   s      r   test_get_ipython_fixturer.   !   s     ]K@@@    	    MOOO.!3333MOOO.!3333KMMMOOO.!333333r   c                 b    t           j        t          k    sJ t           j        t          k    sJ d S r   )r   r   r   r   r   )r   s    r   test_get_ipython_fixture_resetr0   9   s2    *.BBBBB.2JJJJJJJr   c                 l   |                      t          d|            G d dt                    } |             |j        du sJ |j        t          j        k    sJ  |             |j        du sJ |j        t          j        k    sJ  |             |j        du sJ |j        t          j        k    sJ d S )Nr   c                       e Zd Zd ZdS )Btest_extension_count_one_cell_one_extension.<locals>.sub_extensionc                     d S r   r   r    s      r   r$   zKtest_extension_count_one_cell_one_extension.<locals>.sub_extension.__call__D   r%   r   Nr&   r   r   r   r'   r3   C   r(   r   r'   FTr*   r+   r   r   r,   s      r   +test_extension_count_one_cell_one_extensionr6   ?   s    ]K@@@    	    MOOO2e;;;;2i6YYYYYMOOO2d::::2i6YYYYYMOOO2d::::2i6YYYYYYYr   c                 0   |                      t          d|            G d dt                    } G d dt                    } |             |j        du sJ  |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ d S )Nr   c                       e Zd Zd ZdS )Itest_extension_count_one_cell_extensions_branched.<locals>.sub_extension1c                     d S r   r   r    s      r   r$   zRtest_extension_count_one_cell_extensions_branched.<locals>.sub_extension1.__call__\   r%   r   Nr&   r   r   r   sub_extension1r9   [   r(   r   r;   c                       e Zd Zd ZdS )Itest_extension_count_one_cell_extensions_branched.<locals>.sub_extension2c                     d S r   r   r    s      r   r$   zRtest_extension_count_one_cell_extensions_branched.<locals>.sub_extension2.__call__`   r%   r   Nr&   r   r   r   sub_extension2r=   _   r(   r   r?   FTr5   r-   r   r;   r?   s       r   1test_extension_count_one_cell_extensions_branchedrA   W   s    ]K@@@               N3u<<<<N3t;;;;3~7_____3y7ZZZZZZZr   c                     |                      t          d|            G d dt                    } G d d|          } |             |j        du sJ  |             |j        du sJ  |             |j        du sJ d S )Nr   c                       e Zd Zd ZdS )Dtest_extension_count_one_cell_parent_first.<locals>.parent_extensionc                     d S r   r   r    s      r   r$   zMtest_extension_count_one_cell_parent_first.<locals>.parent_extension.__call__s   r%   r   Nr&   r   r   r   parent_extensionrD   r   r(   r   rF   c                       e Zd Zd ZdS )Atest_extension_count_one_cell_parent_first.<locals>.sub_extensionc                     d S r   r   r    s      r   r$   zJtest_extension_count_one_cell_parent_first.<locals>.sub_extension.__call__w   r%   r   Nr&   r   r   r   r'   rH   v   r(   r   r'   FTr5   r-   r   rF   r'   s       r   *test_extension_count_one_cell_parent_firstrK   n   s    ]K@@@    9       (    5>>>>MOOO2d::::5======r   c                     |                      t          d|            G d dt                    } G d d|          } |             |j        du sJ  |             |j        du sJ d S )Nr   c                       e Zd Zd ZdS )Ftest_extension_count_one_cell_subclass_first.<locals>.parent_extensionc                     d S r   r   r    s      r   r$   zOtest_extension_count_one_cell_subclass_first.<locals>.parent_extension.__call__   r%   r   Nr&   r   r   r   rF   rN      r(   r   rF   c                       e Zd Zd ZdS )Ctest_extension_count_one_cell_subclass_first.<locals>.sub_extensionc                     d S r   r   r    s      r   r$   zLtest_extension_count_one_cell_subclass_first.<locals>.sub_extension.__call__   r%   r   Nr&   r   r   r   r'   rQ      r(   r   r'   FTr5   rJ   s       r   ,test_extension_count_one_cell_subclass_firstrS      s    ]K@@@    9       (    MOOO2e;;;;5======r   c                    |                      t          d|            G d dt                    } |              |                                              |             |j        du sJ |j        t          j        k    sJ  |             |j        du sJ |j        t          j        k    sJ  |                                              |             |j        du sJ |j        t          j        k    sJ d S )Nr   c                       e Zd Zd ZdS )Ctest_extension_count_two_cells_one_extension.<locals>.sub_extensionc                     d S r   r   r    s      r   r$   zLtest_extension_count_two_cells_one_extension.<locals>.sub_extension.__call__   r%   r   Nr&   r   r   r   r'   rV      r(   r   r'   FTr*   r+   r   r   r   r,   s      r   ,test_extension_count_two_cells_one_extensionrY      s)   ]K@@@    	    MOOOKMMMOOO2e;;;;2i6YYYYYMOOO2d::::2i6YYYYYKMMMOOO2e;;;;2i6YYYYYYYr   c                 6   |                      t          d|            G d dt                    } G d dt                    } |              |                                              |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |                                              |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |                                              |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ d S )Nr   c                       e Zd Zd ZdS )Jtest_extension_count_two_cells_extensions_branched.<locals>.sub_extension1c                     d S r   r   r    s      r   r$   zStest_extension_count_two_cells_extensions_branched.<locals>.sub_extension1.__call__   r%   r   Nr&   r   r   r   r;   r\      r(   r   r;   c                       e Zd Zd ZdS )Jtest_extension_count_two_cells_extensions_branched.<locals>.sub_extension2c                     d S r   r   r    s      r   r$   zStest_extension_count_two_cells_extensions_branched.<locals>.sub_extension2.__call__   r%   r   Nr&   r   r   r   r?   r_      r(   r   r?   FTrX   r@   s       r   2test_extension_count_two_cells_extensions_branchedra      s   ]K@@@               NKMMN3u<<<<3~7_____3y7ZZZZZN3t;;;;3~7_____3y7ZZZZZKMMN3u<<<<3~7_____3y7ZZZZZKMMN3u<<<<3~7_____3y7ZZZZZZZr   c                    |                      t          d|            G d dt                    } G d d|          } |              |                                              |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |                                              |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ d S )Nr   c                       e Zd Zd ZdS )Etest_extension_count_two_cells_parent_first.<locals>.parent_extensionc                     d S r   r   r    s      r   r$   zNtest_extension_count_two_cells_parent_first.<locals>.parent_extension.__call__   r%   r   Nr&   r   r   r   rF   rd      r(   r   rF   c                       e Zd Zd ZdS )Btest_extension_count_two_cells_parent_first.<locals>.sub_extensionc                     d S r   r   r    s      r   r$   zKtest_extension_count_two_cells_parent_first.<locals>.sub_extension.__call__   r%   r   Nr&   r   r   r   r'   rg      r(   r   r'   FTrX   rJ   s       r   +test_extension_count_two_cells_parent_firstri      s   ]K@@@    9       (    KMMMOOO2e;;;;26F6`````59\\\\\MOOO2d::::26F6`````59\\\\\5====59`````2i6YYYYYKMM5>>>>59`````2i6YYYYYYYr   c                    |                      t          d|            G d dt                    } G d d|          } |              |                                              |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ  |                                              |             |j        du sJ |j        |j        k    sJ |j        t          j        k    sJ d S )Nr   c                       e Zd Zd ZdS )Gtest_extension_count_two_cells_subclass_first.<locals>.parent_extensionc                     d S r   r   r    s      r   r$   zPtest_extension_count_two_cells_subclass_first.<locals>.parent_extension.__call__  r%   r   Nr&   r   r   r   rF   rl     r(   r   rF   c                       e Zd Zd ZdS )Dtest_extension_count_two_cells_subclass_first.<locals>.sub_extensionc                     d S r   r   r    s      r   r$   zMtest_extension_count_two_cells_subclass_first.<locals>.sub_extension.__call__  r%   r   Nr&   r   r   r   r'   ro     r(   r   r'   FTrX   rJ   s       r   -test_extension_count_two_cells_subclass_firstrq     s   ]K@@@    9       (    MOOOKMM5>>>>59`````2i6YYYYY5====59`````2i6YYYYYMOOO2d::::26F6`````59\\\\\KMMMOOO2e;;;;26F6`````59\\\\\\\r   )pytestr+   r   r   r   r   r   fixturer   r.   r0   r6   rA   rK   rS   rY   ra   ri   rq   r   r   r   <module>rt      s        ! ! ! ! ! ! !6 $>  C C C*4 4 40K K KZ Z Z0[ [ [.> > >2> > >*Z Z Z<*[ *[ *[Z(Z (Z (ZV(] (] (] (] (]r   