o
    GZh#                     @   s   d dl mZ d dlZd dlmZmZ d dlZd dlmZ d dl	m
Z
mZmZ d dlmZmZmZmZmZmZmZ dd Zd	d
 Zdd Zdd Zdd Zdd Zeddd Zdd Zdd ZdS )    )dedentN)PopenPIPE)S)raiseswarns_deprecated_sympyskip_under_pyodide)	translatereplaceordinalrawlinesstrlinesas_intfind_executablec                  C   s   d} t | d ddksJ t | d ddksJ t | ddiddks"J t | ddiddks.J t | d	diddks:J t | d	diddksFJ t | ddidd	ksRJ t | dd
ddks^J td}t | dd|dksmJ |t | d||v du szJ d S )Nabcabc xcxbZbcbaby)r   r   i   ZxbcT)r	   chr)r   u r   N/var/www/auris/lib/python3.10/site-packages/sympy/utilities/tests/test_misc.pytest_translate   s   r   c                   C   s@   t dddks	J t dddidksJ t ddddksJ d S )	Nr   )r   bZbbcr   ZAaZAabc)r   CZbbC)r
   r   r   r   r   test_replace   s   r    c                   C   s   t ddksJ t ddksJ t ddksJ t ddks J t d	d
ks(J tdd tddD s6J t ddks>J t ddksFJ t ddksNJ t ddksVJ t ddks^J t ddksfJ tdd tddD stJ d S )Nz-1str   Z0th   Z1st   Z2nd   Z3rdc                 s   s    | ]
}t |d V  qdS thN)r   endswith.0ir   r   r   	<genexpr>(   s    ztest_ordinal.<locals>.<genexpr>      d   Z100the   Z101stf   Z102ndg   Z103rdh   Z104th   Z200thc                 s   s$    | ]}t |t|d  kV  qdS r%   )r   strr(   r   r   r   r+   /   s   " i$i5)r   allranger   r   r   r   test_ordinal"   s    r7   c                   C   s8   t ddksJ t ddksJ t tddksJ d S )Nza a
azdedent('''\
    a a
    a''')za az'a a'\le"ftz*(
    '(\n'
    'r\'\\le"ft\'\n'
    ')'
))r   r   r   r   r   r   test_rawlines2   s
   
r9   c                  C   s   d} t | dtdksJ | dksJ d} t | dtdks J t ddks(J t dd	d
dks2J t ddks:J d} t | t| ksFJ d S )Nzthis quote (") is in the middle
   z^        (
        'this quo'
        'te (") i'
        's in the'
        ' middle'
        )zthis quote (') is in the middle   zH        (
        "this quote (') is "
        "in the middle"
        )z\leftz(
r'\left'
)T)Zshortzr'\left'r8   z(
r'\le"ft'
)zthis
other line)r   r   r   )qr   r   r   test_strlines=   s    r=   c                   C   sj   z	t d d d d W n	 ty   Y nw J t dd d d dks J zt ddd W n
 ty2   Y d S w J )NZnot_noneFsr   r   )r	   
ValueErrorr   r   r   r   test_translate_argsa   s   r@   z'Cannot create subprocess under pyodide.c                  C   sj   t j } d| d< d}tjd|g}t|| ttd}| \}}|d}|d}d}||v s3J |d S )NTrueZSYMPY_DEBUGzGfrom sympy import *; x = Symbol("x"); print(integrate((1-cos(x))/x, x))z-c)envstdoutstderrasciiz/substituted: -x*(1 - cos(x)), u: 1/x, u_var: _u)	osenvironcopysys
executabler   r   communicatedecode)rB   cmdZcmdlineprocouterrexpectedr   r   r   test_debug_outputs   s   


rR   c                   C   s   t tdd  t tdd  t tdd  t tdd  t tdd  t tdd  t tdd  t td	d  t td
d  tddddksIJ d S )Nc                   S      t dS )NTr   r   r   r   r   <lambda>       ztest_as_int.<locals>.<lambda>c                   S   rS   )Ng?rT   r   r   r   r   rU      rV   c                   S   s   t g S NrT   r   r   r   r   rU      rV   c                   S   
   t tjS rW   )r   r   NaNr   r   r   r   rU         
 c                   S   rX   rW   )r   r   Infinityr   r   r   r   rU      rZ   c                   S   rX   rW   )r   r   NegativeInfinityr   r   r   r   rU      rZ   c                   S   rX   rW   )r   r   ZComplexInfinityr   r   r   r   rU      rZ   c                   S   rS   )NgJ-DrT   r   r   r   r   rU      rV   c                   S   s   t tdS )Nz1.000000000000000000001)r   r   r   r   r   r   rU      s    TF)strictr"   )r   r?   r   r   r   r   r   test_as_int   s   r^   c                   C   s4   t   td W d    d S 1 sw   Y  d S )Npython)r   r   r   r   r   r   test_deprecated_find_executable   s   
"r`   )textwrapr   rI   
subprocessr   r   rF   Zsympy.core.singletonr   Zsympy.testing.pytestr   r   r   Zsympy.utilities.miscr	   r
   r   r   r   r   r   r   r    r7   r9   r=   r@   rR   r^   r`   r   r   r   r   <module>   s"    $$
