U
    e»{j£  ã                   @   s¦   d dl Z d dlZd dlmZ d dlmZmZmZ dd„ Zdd„ Z	dd	„ Z
d
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zejjedd�dd„ ƒZejje dd�dd„ ƒZdS )é    N)Ú
HAS_BLEACH)ÚcheckÚ	unescaperÚwriterc               
   C   st   t  ¡ } t | ¡}| d¡�0 | d¡� | d¡ | d¡ W 5 Q R X W 5 Q R X d |  ¡  	¡ ¡}|dkspt
‚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ÚAssertionError)ÚfhÚwÚvalue© r   ú[/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/utils/tests/test_xml.pyÚtest_writer   s    

r   c                   C   s.   t  d¡st‚t  d¡st‚t  d¡r*t‚d S )NÚFof32Z_Fof32Z32Fof)r   Zcheck_idr   r   r   r   r   Útest_check_id   s    r   c                   C   s(   t  d¡dkst‚t  d¡dks$t‚d S )Nr   z@#fZ___f)r   Zfix_idr   r   r   r   r   Útest_fix_id   s    r   c                   C   s    t  d¡st‚t  d¡rt‚d S )NÚtokenztokentoken)r   Zcheck_tokenr   r   r   r   r   Útest_check_token"   s    r   c                   C   s    t  d¡st‚t  d¡rt‚d S )Nz
image/jpegÚimage)r   Zcheck_mime_content_typer   r   r   r   r   Útest_check_mime_content_type'   s    r   c                   C   s   t  d¡st‚d S )Nz"https://github.com/astropy/astropy)r   Zcheck_anyurir   r   r   r   r   Útest_check_anyuri,   s    r    c                  C   s8   d} d}t  | ¡|kst‚d} d}t  | ¡|ks4t‚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   Zunescape_allr   )Zurl_inZurl_outr   r   r   Útest_unescape_all0   s    ÿÿÿÿr!   c                  C   sv   t  d¡} t| ƒtkst‚| dks&t‚t  d¡} t| ƒtks@t‚| dksLt‚t  d¡} t| ƒtksft‚| dksrt‚d S )NzThis & ThatzThis &amp; Thaté   Ú1s   This & Thats   This &amp; That)r   Z
xml_escapeÚtypeÚstrr   Úbytes)Úsr   r   r   Útest_escape_xmlF   s    


r(   zbleach is installed)Úreasonc               
   C   sF   t  ¡ } t | ¡}tjtdd�� | d¡� W 5 Q R X W 5 Q R X d S )Nz9bleach package is required when HTML escaping is disabled)ÚmatchÚbleach_clean)r
   r   r   r   ÚpytestZraisesÚ
ValueErrorÚxml_cleaning_method©r   r   r   r   r   Útest_escape_xml_without_bleachT   s    
 ÿr0   zrequires bleachc               	   C   s²   t  ¡ } t | ¡}| d¡�& | d¡ | d¡ |jdd� W 5 Q R X |  ¡ dksXt	‚t  ¡ } t | ¡}| ¡ �& | d¡ | d¡ |jdd� W 5 Q R X |  ¡ dks®t	‚d S )Nr+   Ú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   r.   Ústartr   Úendr   r   r/   r   r   r   Útest_escape_xml_with_bleach`   s"    






ÿÿr5   )r
   r,   Z"astropy.utils.compat.optional_depsr   Zastropy.utils.xmlr   r   r   r   r   r   r   r   r    r!   r(   ÚmarkZskipifr0   r5   r   r   r   r   Ú<module>   s   
