
    ^h                     ,   S SK r S SKrS SKrS SKJr  S SKrS SKJr  S SKrS SK	J
r
  \R                  R                  \R                  R                  \R                  R                  \5      5      S5      r " S S\
5      r " S S	\R$                  5      rg)
    N)TemporaryDirectory)patch)ZMQTerminalInteractiveShellzwritetofile.pyc                       \ rS rSrSrS rSrg)NonCommunicatingShell   zIA testing shell class that doesn't attempt to communicate with the kernelc                     g N selfs    b/home/james-whalen/.local/lib/python3.13/site-packages/jupyter_console/tests/test_image_handler.pyinit_kernel_info&NonCommunicatingShell.init_kernel_info   s        r   N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s
    Sr   r   c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)#ZMQTerminalInteractiveShellTestCase   c                     [        5       U l        SU l        SU l        U R                  [        R
                  " U R                  5      R                  S5      0U l        g )Ns
   dummy dataz	image/pngascii)r   shellrawmimebase64encodebytesdecodedatar   s    r   setUp)ZMQTerminalInteractiveShellTestCase.setUp   sD    *,
 	YY 2 2488 < C CG LM	r   c                    ^ / mU4S jnS nU R                   nXl        X#l        X#l        X#l        UR                  S S 5        [        T5      S:X  d   eg )Nc                 (   > TR                  U 5        g r
   append)r#   r   pil_called_withs     r   
pil_calledPZMQTerminalInteractiveShellTestCase.test_call_pil_by_default.<locals>.pil_called$   s    ""4(r   c                       er
   r   )argskwdss     r   raise_if_calledUZMQTerminalInteractiveShellTestCase.test_call_pil_by_default.<locals>.raise_if_called'   s    5r      )r   handle_image_PILhandle_image_streamhandle_image_tempfilehandle_image_callablehandle_imagelen)r   r+   r0   r   r*   s       @r   test_call_pil_by_default<ZMQTerminalInteractiveShellTestCase.test_call_pil_by_default!   sX    	)	 

!+$3!&5#&5#4&?#q(((r   c                 R  ^^ [         R                  " S5        SSKJnJn  / m/ mU4S jnU4S jn[
        R                  " USU5         [
        R                  " USU5         U R                  R                  U R                  U R                  5        S S S 5        S S S 5        U R                  [        T5      S5        U R                  [        T5      S5        U R                  TS   R                  5       U R                  5        g ! , (       d  f       Nz= f! , (       d  f       N= f)	NPILr   )Image	ImageShowc                 (   > TR                  U 5        g r
   r(   )argopen_called_withs    r   	fake_openLZMQTerminalInteractiveShellTestCase.test_handle_image_PIL.<locals>.fake_open:       ##C(r   c                 (   > TR                  U 5        g r
   r(   )imgshow_called_withs    r   	fake_showLZMQTerminalInteractiveShellTestCase.test_handle_image_PIL.<locals>.fake_show=   rD   r   openshowr2   )pytestimportorskipr<   r=   r>   r   objectr   r3   r#   r   assertEqualr8   getvaluer   )r   r=   r>   rB   rH   rA   rG   s        @@r   test_handle_image_PIL9ZMQTerminalInteractiveShellTestCase.test_handle_image_PIL3   s    E"(	)	) \\%3\\)VY7JJ''		499= 8 4 	-.2-.2)!,557B 87 43s$   	D"1DD
D	D
D&c                 f   U R                   nSR                  U5      nSR                  U5      n[        X45      (       d   e[        X55      (       d   e[        5        n[        R
                  R                  US5      n[        R                  [        X/n[        X4U5        [        X55      " U R                  U R                  5        [        US5       n	U	R                  5       n
S S S 5        S S S 5        U R!                  W
U R"                  5        g ! , (       d  f       N3= f! , (       d  f       N<= f)Nz{0}_image_handlerzhandle_image_{0}r#   rb)r   formathasattrr   ospathjoinsys
executableSCRIPT_PATHsetattrgetattrr#   r   rJ   readrO   r   )r   inpathhandlerr   
confignamefuncnametmpdiroutpathcmdfiletransferreds              r   check_handler_with_file;ZMQTerminalInteractiveShellTestCase.check_handler_with_fileH   s    

(//8
%,,W5u))))u''''!Vggll662G>>;@CEs+E$TYY		:gt$"iik % " 	dhh/ %$ "!s%   A6D"D$D"
D	D""
D0c                 (    U R                  SS5        g )N-streamri   r   s    r   test_handle_image_stream<ZMQTerminalInteractiveShellTestCase.test_handle_image_stream[   s    $$S(3r   c                 (    U R                  SS5        g )Nz{file}tempfilern   r   s    r   test_handle_image_tempfile>ZMQTerminalInteractiveShellTestCase.test_handle_image_tempfile^   s    $$Xz:r   c                     / nUR                   U R                  l        U R                  R                  U R                  U R
                  5        U R                  [        U5      S5        US   U R                  L d   eg )Nr2   r   )r)   r   callable_image_handlerr6   r#   r   rO   r8   )r   called_withs     r   test_handle_image_callable>ZMQTerminalInteractiveShellTestCase.test_handle_image_callablea   s`    ,7,>,>

)

((DII>[)1-1~***r   )r#   r   r   r   N)r   r   r   r   r$   r9   rQ   ri   ro   rs   rx   r   r   r   r   r   r      s'    N)$C*0&4;+r   r   )r    rW   rZ   rr   r   unittestunittest.mockr   rL   jupyter_console.ptshellr   rX   rY   abspathdirname__file__r\   r   TestCaser   r   r   r   <module>r      su     	 
 '    ? ggllGGOOBGGOOH-.0@B7 M+(*;*; M+r   