<!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
    VXYT                 @   sT   d dl Z d dlZd dlmZ d dlZd dlmZmZm	Z	m
Z
mZ G dd deZdS )    N)TestCase)unichr	text_typebuBytesIOc               @   s   e Zd 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
dd 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d#d$ Zd%S )&TestUnicodec             C   s>   t jdd}d}|d}||}||}| || d S )Nzutf-8)encodingu   αΩ)jsonJSONEncoderencodeassertEqual)selfencoderr   sjujs r   P/opt/alt/python37/lib64/python3.7/site-packages/simplejson/tests/test_unicode.pytest_encoding1	   s    


zTestUnicode.test_encoding1c             C   s:   d}| d}tj|dd}tj|dd}| || d S )Nu   αΩzutf-8)r	   )r   r
   dumpsr   )r   r   r   r   r   r   r   r   test_encoding2   s
    
zTestUnicode.test_encoding2c             C   s   d}t |}| |d d S )Nu   αΩz"\u03b1\u03a9")r
   r   r   )r   r   jr   r   r   test_encoding3   s    
zTestUnicode.test_encoding3c             C   s    d}t |g}| |d d S )Nu   αΩz["\u03b1\u03a9"])r
   r   r   )r   r   r   r   r   r   test_encoding4   s    zTestUnicode.test_encoding4c             C   s*   d}t j|dd}| |d| d  d S )Nu   αΩF)ensure_ascii")r
   r   r   )r   r   r   r   r   r   test_encoding5"   s    zTestUnicode.test_encoding5c             C   s,   d}t j|gdd}| |d| d  d S )Nu   αΩF)r   z["z"])r
   r   r   )r   r   r   r   r   r   test_encoding6'   s    zTestUnicode.test_encoding6c             C   s0   d}|  t|d |  tj|ddd d S )Nu   𝄠z"\ud834\udd20"F)r   u   "𝄠")r   r
   r   )r   r   r   r   r   test_big_unicode_encode,   s    z#TestUnicode.test_big_unicode_encodec             C   s4   d}|  td| d | |  td| d S )Nu   z𝄠xr   z"z\ud834\udd20x")r   r
   loads)r   r   r   r   r   test_big_unicode_decode1   s    z#TestUnicode.test_big_unicode_decodec             C   s<   x6t ddD ](}t|}d|f }| t|| qW d S )Nr   i  z"\u%04x")ranger   r   r
   r    )r   ir   r   r   r   r   test_unicode_decode6   s    
zTestUnicode.test_unicode_decodec             C   s   d}dddddddg}|  t|t| |  tj|d	d
 d| tj|tjd}|  |t| |  t|tj |  tj|tjdd
 dt| d S )Nz?{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7})Zxkd   )Zkcw   )Zart   )Zhxm   )Zqrt   )pad   )Zhoy   c             S   s   | S )Nr   )xr   r   r   <lambda>B       zATestUnicode.test_object_pairs_hook_with_unicode.<locals>.<lambda>)object_pairs_hookc             S   s   d S )Nr   )r-   r   r   r   r.   I   r/   )r0   object_hook)r   r
   r    evalOrderedDicttype)r   r   pZodr   r   r   #test_object_pairs_hook_with_unicode=   s    


z/TestUnicode.test_object_pairs_hook_with_unicodec             C   s    |  tddddi d S )Nu   {"a": "é"}zutf-8a   é)r   r
   r    r   )r   r   r   r   test_default_encodingM   s    z!TestUnicode.test_default_encodingc             C   sJ   |  ttdt |  ttdt |  ttdd t d S )Nz""z"a"z["a"]r   )r   r4   r
   r    r   )r   r   r   r   test_unicode_preservationQ   s    z%TestUnicode.test_unicode_preservationc             C   sl   |  ttjg ddt |  ttjdddt |  ttji ddt |  ttjdddt d S )NF)r   r    )r   r4   r
   r   r   )r   r   r   r   'test_ensure_ascii_false_returns_unicodeV   s    z3TestUnicode.test_ensure_ascii_false_returns_unicodec             C   st   dt di}dtdi}d}d}| t|| | t|| | tj|dd| | tj|dd| d S )NZquuxu   ArrÃªt sur imagesu   Arrêt sur imagesz!{"quux": "Arr\u00eat sur images"}u   {"quux": "Arrêt sur images"}F)r   )r   r   r   r
   r   )r   Zdoc1Zdoc2Z	doc_asciiZdoc_unicoder   r   r   +test_ensure_ascii_false_bytestring_encoding]   s    z7TestUnicode.test_ensure_ascii_false_bytestring_encodingc             C   sf   d}| d}d}| t|| | t|| | tj|dd| | tj|dd| d S )Nu     utf8z"\u2029\u2028"F)r   )r   r   r
   r   )r   s1s2Zexpectr   r   r   $test_ensure_ascii_linebreak_encodingh   s    
z0TestUnicode.test_ensure_ascii_linebreak_encodingc             C   sB  |  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd	 tjd
kr>|  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd |  tjtjd d S )Nz"\uz"\u1z"\u12z"\u123z"\u1234z"\u123x"z"\u12x4"z"\u1x34"z"\ux234"i  z
"\ud800\u"z"\ud800\u0"z"\ud800\u00"z"\ud800\u000"z"\ud800\u000x"z"\ud800\u00x0"z"\ud800\u0x00"z"\ud800\ux000")ZassertRaisesr
   JSONDecodeErrorr    sys
maxunicode)r   r   r   r   test_invalid_escape_sequencesr   s$    z)TestUnicode.test_invalid_escape_sequencesc             C   s\   x4t ttddD ] }| tj|ddt| qW d}| tj|ddd| d  d S )Nr      F)r   u   ☃r   )mapr   r"   r   r
   r   )r   cZsnowmanr   r   r   test_ensure_ascii_still_works   s    z)TestUnicode.test_ensure_ascii_still_worksc             C   s\   d}t jtt| }| tt|| x(||dfD ]}| t	|| q>W d S )Nu   こんにちわr>   )
codecsBOM_UTF8r   r
   r   r   loadr   decoder    )r   contentZjson_docdocr   r   r   test_strip_bom   s
    zTestUnicode.test_strip_bomN)__name__
__module____qualname__r   r   r   r   r   r   r   r!   r$   r6   r9   r:   r<   r=   rA   rE   rI   rP   r   r   r   r   r      s$   
r   )rC   rJ   Zunittestr   
simplejsonr
   Zsimplejson.compatr   r   r   r   r   r   r   r   r   r   <module>   s
   