o
    Ti	                     @   s\   d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	Z	G dd deZ
dS )    )with_statementN)TestCasec                       s4   e Zd Z fddZdd Zdd Zdd Z  ZS )	
TestAssetsc                    sj   t t| j|i | tjtjtjtd| _	| 
ddd| _d | _tjdd \| _| _d S )Nassetsztestlist.txtF
r      )superr   __init__ospathjoindirnamerealpath__file__	assetsDirloadsplitr   maxDiffsysversion_infovermavermi)selfargskwargs	__class__ J/home/ubuntu/.local/lib/python3.10/site-packages/hjson/tests/test_hjson.pyr	      s
    zTestAssets.__init__c                 C   sl   t j| j|}t|d}| d}|dd}|r#|dd}|W  d    S 1 s/w   Y  d S )Nrbzutf-8 r   z
)r
   r   r   r   openreaddecodereplace)r   namecrftextr   r   r   r      s   $zTestAssets.loadc              
   C   s  |  ||}|dd dk}zMt|}| || t|}tj|dd}t|  |d |}	t|	}
|  |d d}| jdksH| jd	krY| |
|| | ||| W d S W d S  tj	y } z|sv| 
d
||f  W Y d }~d S W Y d }~d S d }~ww )Nr      failF)ensure_asciiz_result.jsonz_result.hjsonr      zraised error on parsing %s: %r)r   hjsonloadsassertFalse	dumpsJSONdumpsr   r   assertEqualHjsonDecodeErrorr+   )r   r&   fileinputCrr)   
shouldFaildatatext1hjson1resulttext2hjson2er   r   r   check   s(   


 zTestAssets.checkc                 C   sR   | j D ]#}|d\}}}|ds|drq| ||d | ||d qd S )Nz_test.zstringify/quoteszextra/TF)r   	partition
startswithr?   )r   r5   r&   sepextr   r   r   
test_files:   s   

zTestAssets.test_files)__name__
__module____qualname__r	   r   r?   rD   __classcell__r   r   r   r   r      s
    r   )
__future__r   r
   r   
subprocesstempfilecodecsunittestr   r.   r   r   r   r   r   <module>   s    