
    IR-e                         d dl Z d dlZd dlmZ d dlmZmZmZ d Zd Z	d Z
d Zd Zd	 Zd
 Zd Zej                            ed          d             Zej                            e d          d             ZdS )    N)
HAS_BLEACH)check	unescaperwriterc                     t          j                    } t          j        |           }|                    d          5  |                    d          5  |                    d           |                    d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d                    |                                 	                                          }|dk    sJ d S )NhtmlbodyzThis is the contentcomment z8<html><body>Thisisthecontent<!--comment--></body></html>)
ioStringIOr   	XMLWritertagdatar
   joingetvaluesplit)fhwvalues      <lib/python3.11/site-packages/astropy/utils/tests/test_xml.pytest_writerr      sK   	BA	
v ! !UU6]] 	! 	!FF()))IIi   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 GGBKKMM''))**ENNNNNNNs5   B!+B
>B!
B	B!B	B!!B%(B%c                      t          j        d          sJ t          j        d          sJ t          j        d          rJ d S )NFof32_Fof3232Fof)r   check_id     r   test_check_idr       sJ    >'""""">(#####~g&&&&&&&r   c                  n    t          j        d          dk    sJ t          j        d          dk    sJ d S )Nr   z@#f___f)r   fix_idr   r   r   test_fix_idr$      s>    <  G++++<&((((((r   c                  ^    t          j        d          sJ t          j        d          rJ d S )Ntokenztokentoken)r   check_tokenr   r   r   test_check_tokenr(   "   s6    W%%%%% 0000000r   c                  ^    t          j        d          sJ t          j        d          rJ d S )Nz
image/jpegimage)r   check_mime_content_typer   r   r   test_check_mime_content_typer,   '   s6    (66666,W5555555r   c                  2    t          j        d          sJ d S )Nz"https://github.com/astropy/astropy)r   check_anyurir   r   r   test_check_anyurir/   ,   s     BCCCCCCCr   c                  ~    d} d}t          j        |           |k    sJ d} d}t          j        |           |k    sJ d S )Nz_http://casu.ast.cam.ac.uk/ag/iphas-dsa%2FSubmitCone?DSACAT=IDR&amp;amp;DSATAB=Emitters&amp;amp;zMhttp://casu.ast.cam.ac.uk/ag/iphas-dsa/SubmitCone?DSACAT=IDR&DSATAB=Emitters&s_   http://casu.ast.cam.ac.uk/ag/iphas-dsa%2FSubmitCone?DSACAT=IDR&amp;amp;DSATAB=Emitters&amp;amp;sM   http://casu.ast.cam.ac.uk/ag/iphas-dsa/SubmitCone?DSACAT=IDR&DSATAB=Emitters&)r   unescape_all)url_inurl_outs     r   test_unescape_allr4   0   sn    	6 
 	X  !&))W4444	7 
 	Y  !&))W444444r   c                  J   t          j        d          } t          |           t          k    sJ | dk    sJ t          j        d          } t          |           t          k    sJ | dk    sJ t          j        d          } t          |           t          k    sJ | dk    sJ d S )NzThis & ThatzThis &amp; That   1s   This & Thats   This &amp; That)r   
xml_escapetypestrbytes)ss    r   test_escape_xmlr=   F   s    -((A77c>>>>!!!!!!A77c>>>>8888.))A77e"""""""r   zbleach is installed)reasonc                     t          j                    } t          j        |           }t	          j        t          d          5  |                    d          5  	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nz9bleach package is required when HTML escaping is disabled)matchbleach_clean)r   r   r   r   pytestraises
ValueErrorxml_cleaning_methodr   r   s     r   test_escape_xml_without_bleachrG   T   s   	BA	V
 
 
   "">22 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s6   A?A'A?'A+	+A?.A+	/A??BBzrequires bleachc                     t          j                    } t          j        |           }|                    d          5  |                    d           |                    d           |                    d           d d d            n# 1 swxY w Y   |                                 dk    sJ t          j                    } t          j        |           }|                                5  |                    d           |                    d           |                    d           d d d            n# 1 swxY w Y   |                                 dk    sJ d S )NrA   tdz<script>x</script> <em>OK</em>F)indentz4<td>&lt;script&gt;x&lt;/script&gt; <em>OK</em></td>
z@<td>&lt;script&gt;x&lt;/script&gt; &lt;em&gt;OK&lt;/em&gt;</td>
)	r   r   r   r   rE   startr   endr   rF   s     r   test_escape_xml_with_bleachrM   `   s   	BA 
		~	.	.  		/000	U               ;;==SSSSS	BA 
			 	   		/000	U              
 	N	O 	O 	O 	O 	O 	Os%   AB

BB*AD77D;>D;)r   rB   "astropy.utils.compat.optional_depsr   astropy.utils.xmlr   r   r   r   r    r$   r(   r,   r/   r4   r=   markskipifrG   rM   r   r   r   <module>rR      s7   
			  9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 6	O 	O 	O' ' ') ) )
1 1 1
6 6 6
D D D5 5 5,# # # J'<==  >= 
N+<==  >=  r   