o
    jgv                     @   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lmZ ed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_executable)import_module
pyodide_jsc                  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xbbcbaby)r   r   i   xbcT)r	   chr)r   u r   W/var/www/html/zoom/venv/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   bbbcr   AaAabc)r   C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   0th   1st   2nd   3rdc                 s   s    | ]
}t |d V  qdS thN)r   endswith.0ir   r   r    	<genexpr>+   s    ztest_ordinal.<locals>.<genexpr>      d   100the   101stf   102ndg   103rdh   104th   200thc                 s   s$    | ]}t |t|d  kV  qdS r1   )r   strr4   r   r   r    r7   2   s   " i$i5)r   allranger   r   r   r    test_ordinal%   s    rI   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_rawlines5   s
   
rK   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)shortzr'\left'rJ   z(
r'\le"ft'
)zthis
other line)r   r   r   )qr   r   r    test_strlines@   s    rP   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 )Nnot_noneFsr   r   )r	   
ValueErrorr   r   r   r    test_translate_argsd   s   rT   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True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)rW   cmdcmdlineprocouterrexpectedr   r   r    test_debug_outputv   s   


rh   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   ri   )Ng?rj   r   r   r   r    rk      rl   c                   S   s   t g S Nrj   r   r   r   r    rk      rl   c                   S   
   t tjS rm   )r   r   NaNr   r   r   r    rk         
 c                   S   rn   rm   )r   r   Infinityr   r   r   r    rk      rp   c                   S   rn   rm   )r   r   NegativeInfinityr   r   r   r    rk      rp   c                   S   rn   rm   )r   r   ComplexInfinityr   r   r   r    rk      rp   c                   S   ri   )NgJ-Drj   r   r   r   r    rk      rl   c                   S   s   t tdS )Nz1.000000000000000000001)r   r   r   r   r   r    rk      s    TF)strictr+   )r   rS   r   r   r   r   r    test_as_int   s   ru   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   
"rw   )!textwrapr   r^   
subprocessr   r   r[   sympy.core.singletonr   sympy.testing.pytestr   r   r   sympy.utilities.miscr	   r
   r   r   r   r   r   sympy.externalr   r   r!   r(   rI   rK   rP   rT   rh   ru   rw   r   r   r   r    <module>   s&    $$
