<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    VXÿY  ã               @   sH   d dl mZ d dlZG dd„ dƒZG dd„ dejƒZG dd„ deƒZdS )	é    )ÚTestCaseNc               @   s   e Zd ZdS )ÚJSONTestObjectN)Ú__name__Ú
__module__Ú__qualname__© r   r   úR/opt/alt/python37/lib64/python3.7/site-packages/simplejson/tests/test_recursion.pyr      s   r   c               @   s   e Zd ZdZdd„ ZdS )ÚRecursiveJSONEncoderFc             C   s$   |t kr| jrt gS dS tj |¡S )Nr   )r   ÚrecurseÚjsonÚJSONEncoderÚdefault)ÚselfÚor   r   r   r      s
    zRecursiveJSONEncoder.defaultN)r   r   r   r
   r   r   r   r   r   r	   	   s   r	   c               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestRecursionc             C   s˜   g }|  |¡ yt |¡ W n tk
r0   Y nX |  d¡ g }|g}|  |¡ yt |¡ W n tk
rr   Y nX |  d¡ g }||g}t |¡ d S )Nz)didn't raise ValueError on list recursionz5didn't raise ValueError on alternating list recursion)Úappendr   ÚdumpsÚ
ValueErrorÚfail)r   ÚxÚyr   r   r   Útest_listrecursion   s$    



z TestRecursion.test_listrecursionc             C   sV   i }||d< yt  |¡ W n tk
r.   Y nX |  d¡ i }||dœ}t  |¡ d S )NZtestz)didn't raise ValueError on dict recursion)ÚaÚb)r   r   r   r   )r   r   r   r   r   r   Útest_dictrecursion,   s    

z TestRecursion.test_dictrecursionc             C   sP   t ƒ }|  | t¡d¡ d|_y| t¡ W n tk
r@   Y nX |  d¡ d S )Nz"JSONTestObject"Tz,didn't raise ValueError on default recursion)r	   ZassertEqualÚencoder   r
   r   r   )r   Úencr   r   r   Útest_defaultrecursion:   s    z#TestRecursion.test_defaultrecursionN)r   r   r   r   r   r   r   r   r   r   r      s   r   )Zunittestr   Z
simplejsonr   r   r   r	   r   r   r   r   r   Ú<module>   s   