
    P/Ph%                         d Z ddlZddlZddlmZ ddlZddlZddlmZ ddl	Z	 e	j
        dd           ddZd	 Zd
 Ze	j                            dddg          d             Ze	j                            dddg          d             Zd ZdS )z2Tests for tinypages build using sphinx extensions.    N)Path)subprocess_run_for_testingsphinxz4.1.3)
minversionc                    |g n|}t           j        dddddt          |          t          |           t          |          g	|}t          |ddi t          j        ddi	          }|j        }|j        }|j        d
k    sJ d| d| d            |rt          j
        d|            |                                sJ d S )N-msphinx-W-bhtml-dT
MPLBACKEND capture_outputtextenvr   z!sphinx build failed with stdout:
z	
stderr:

z-sphinx build emitted the following warnings:
)sys
executablestrr   osenvironstdoutstderr
returncodepytestfailis_dir)
source_dirdoctree_dirhtml_dir
extra_argscmdprocouterrs           _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/matplotlib/tests/test_sphinxext.pybuild_sphinx_htmlr(      s    !)zJ>:tT6[!!3z??CMMPDNPC%Dt,rz,<,,. . .D +C
+C?aDSDDSDDD  
 LJSJJKKK??    c                    t          j        t          t                    j        dz  | d           | dz  dz  }|dz  | dz  t
          j        dd	d
ddt                    t          t          t                    j        dz            t          |          g	}t          |ddi t          j
        dt          j        d          }|j        }|j        }t          | |           fdfdfdt          dd          D             \  }}}t!          j        | d                    sJ t!          j        | d                    sJ t!          j        | d                    sJ t!          j        | d                    sJ t!          j        | d                    sJ t!          j        | d                    sJ |dz                                  }	d|	v sJ t!          j        |dz            sJ t!          j        |dz            sJ d|	v sJ d|	v sJ d |	v sJ d!|	v sJ |	                    d"          d#k    sJ t!          j        | d$                    sJ t!          j        |d%z            sJ | d&z                                  }
|
                    d'd(          }
| d&z                      |
           fd)d*D             }t          | |           t!          j        | d$                    sJ  d                                          j        |d+         k    sJ  d#                                          j        |d         k    sJ  d,                                          j        |d#         k    sJ t!          j        | d                    sJ t!          j        | d#                    sJ t!          j        | d,                    sJ  d                                          j        |d,         k    sJ t!          j        | d                    sJ d S )-N	tinypagesTdirs_exist_ok_buildr   _imagesdoctreesr   r	   r
   r   r   )r   GCOV_ERROR_FILEr   c                     d|  dz  S Nsome_plots-.png )numimg_dirs    r'   	plot_filez!test_tinypages.<locals>.plot_file:   s    0s00000r)   c                 &    j         dz  d|  dz  S )Nplot_directiver4   r5   )parent)r7   r    s    r'   plot_directive_filez+test_tinypages.<locals>.plot_directive_file=   s#    !$447NS7N7N7NNNr)   c              3   .   K   | ]} |          V  d S Nr6   ).0ir9   s     r'   	<genexpr>z!test_tinypages.<locals>.<genexpr>A   s+      !D!D1))A,,!D!D!D!D!D!Dr)                  12_0012_01   some_plots.htmls   # Only a commentz
range4.pngzrange6_range6.pngs    This is the caption for plot 15.s    Plot 17 uses the caption option.s    This is the caption for plot 18.s&   plot-directive my-class my-other-classs#   This caption applies to both plots.      zrange6_range10.pngzincluded_plot_21.rsts   plt.plot(range(6))s   plt.plot(range(4))c                 T    g | ]$} |                                           j        %S r6   )statst_mtime)r@   rA   r=   s     r'   
<listcomp>z"test_tinypages.<locals>.<listcomp>i   sC     1 1 1 .-a005577@ 1 1 1r)   )rC   rL      rE   r   rR   )shutilcopytreer   __file__r<   r   r   r   r   r   r   devnullr   r   r(   rangefilecmpcmp
read_bytescountreplacewrite_bytesrO   rP   )tmp_pathr!   r#   r$   r%   r&   range_10range_6range_4html_contentscontentsmodification_timesr    r8   r=   r9   s               @@@@r'   test_tinypagesre   #   s   
ODNN)K7"&( ( ( (("V+H"GZ'K>:tT6[!!tH~~${233S]]DC &DtKrzK
KKK  D +C
+C hX6661 1 1 1 1O O O O O "E!D!D!Da!D!D!DHgw;w		!-----;w		!-----;x2/////;x7!3!344444;w		' 2 233333;w		"..... 11==??M-////;w, 677777;w*= =>>>>>.-????.-????.-????4EEEEEFF!KKKK ;w		".....;x+?!?@@@@@ 11==??H 57LMMH&&33H===1 1 1 1#/1 1 1hX666;w		"..... q!!&&((15G5JJJJJq!!&&((15G5JJJJJq!!&&((15G5JJJJJ;x1.....;w		!-----;w		!----- q!!&&((14Fq4IIIII;w		!-------r)   c                    t          t                    j        }t          j        |dz  | dz             t          j        |dz  | dz             | dz  }| dz                      d           | dz  d	z  }t          | ||           t          t          |
                    d
                              dk    sJ | dz  dz  }t          | ||ddg           t          t          |
                    d
                              dk    sJ d S )Ntinypages/conf.pyconf.pytinypages/_static_staticr0   	index.rstz#
.. plot::

    plt.plot(range(2))
r.   html1**/index-1.pyrC   html2-Dzplot_html_show_source_link=0r"   r   r   rU   r<   rS   copyfilerT   
write_textr(   lenlistglob)r^   r<   r    	html_dir1	html_dir2s        r'   test_plot_html_show_source_linkry   |   s4   (^^"F
OF00(Y2FGGG
OF00(Y2FGGGZ'K'' )    8#g-IhY777tINN?334455:::: 8#g-IhY"&(F!GI I I ItINN?334455::::::r)   plot_html_show_source_linkrC   c                    t          t                    j        }t          j        |dz  | dz             t          j        |dz  | dz             | dz  }| dz                      d           | dz  d	z  }t          | ||d
d| g           t          t          |
                    d                              dk    sJ d S )Nrg   rh   ri   rj   r0   rk   z?
.. plot::
    :show-source-link: true

    plt.plot(range(2))
r.   r   ro   plot_html_show_source_link=rp   rm   rC   rq   r^   rz   r<   r    r!   s        r'   test_show_source_link_truer~           (^^"F
OF00(Y2FGGG
OF00(Y2FGGGZ'K'' )    ("V+HhXH,FHHCJ K K K KtHMM/223344999999r)   c                    t          t                    j        }t          j        |dz  | dz             t          j        |dz  | dz             | dz  }| dz                      d           | dz  d	z  }t          | ||d
d| g           t          t          |
                    d                              dk    sJ d S )Nrg   rh   ri   rj   r0   rk   z@
.. plot::
    :show-source-link: false

    plt.plot(range(2))
r.   r   ro   r|   rp   rm   r   rq   r}   s        r'   test_show_source_link_falser      r   r)   c                    t          j        t          t                    j        dz  | d           | dz  dz  }|dz  | dz  }t          | ||dd	g
           d fd	}dD ]B} ||                                          sJ  ||d                                          sJ Cdz                                  sJ dz                                  sJ dz                                  sJ dz                                  sJ dz                                  sJ dz                                  sJ dz                                  sJ dz                                  sJ d|dz                      d          v sJ d}||dz                      d          v sJ d}||dz                      d          v sJ d S )!Nr+   Tr,   r.   r   r/   r0   ro   zplot_srcset=2xrp   r   c                     d|  | dz  S r3   r6   )r7   suffr8   s     r'   r9   z&test_srcset_version.<locals>.plot_file   s    6s6D66666r)   )	rC   rL   rR   rE   rF   rG   rJ      rM   z.2x)r   znestedpage-index-1.pngznestedpage-index-1.2x.pngznestedpage-index-2.pngznestedpage-index-2.2x.pngznestedpage2-index-1.pngznestedpage2-index-1.2x.pngznestedpage2-index-2.pngznestedpage2-index-2.2x.pngzDsrcset="_images/some_plots-1.png, _images/some_plots-1.2x.png 2.00x"rK   zutf-8)encodingzVsrcset="../_images/nestedpage-index-1.png, ../_images/nestedpage-index-1.2x.png 2.00x"znestedpage/index.htmlzXsrcset="../_images/nestedpage2-index-2.png, ../_images/nestedpage2-index-2.2x.png 2.00x"znestedpage2/index.html)r   )rS   rT   r   rU   r<   r(   exists	read_text)r^   r!   r    r9   indstr8   s         @r'   test_srcset_versionr      s   
ODNN)K7"&( ( ( (("V+H"GZ'KhXC  ! ! ! !7 7 7 7 7 7 / 3 3y~~$$&&&&&y5)))00222222..66888881199;;;;;..66888881199;;;;;//779999922::<<<<<//779999922::<<<<< S,,777IIJ J J J8B(44???QQQQQQ9B(55@@'@RRRRRRRRr)   r?   )__doc__rX   r   pathlibr   rS   r   matplotlib.testingr   r   importorskipr(   re   ry   markparametrizer~   r   r   r6   r)   r'   <module>r      s0   8 8  				        



 9 9 9 9 9 9   H 1 1 1 1   &V. V. V.r; ; ;, 51v>>: : ?>:& 51v>>: : ?>:&&S &S &S &S &Sr)   