
    h                        S SK Jr   S SKrS SKrS SKrS SKJr  \R                  R                  S5      r	 " S S5      r
 " S S5      r " S	 S
5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      rg)    )print_functionN)Pathz/ignore::pytest.PytestUnraisableExceptionWarningc                   2    \ rS rSrS rS rS rS rS rSr	g)	
TestNewAPI   c                     SSK Jn  SSKJn  U" 5       n[        R
                  " U5         UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr   YAMLDuplicateKeyError{a: 1, a: 2}srsly.ruamel_yamlr
   srsly.ruamel_yaml.constructorr   pytestraisesloadselfr
   r   yamls       a/home/james-whalen/.local/lib/python3.13/site-packages/srsly/tests/ruamel_yaml/test_api_change.pytest_duplicate_keys_00!TestNewAPI.test_duplicate_keys_00   s4    *Cv]],-IIn% .--   A
Ac                     SSK Jn  SSKJn  U" SSS9n[        R
                  " U5         UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr   r	   r   safeTtyppurer   r   r   s       r   test_duplicate_keys_01!TestNewAPI.test_duplicate_keys_01   s9    *CT*]],-IIn% .--r   c                     SSK Jn  SSKJn  U" SS9n[        R
                  " U5         UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr   r	   r   r   r   r   r   r   s       r   test_duplicate_keys_02!TestNewAPI.test_duplicate_keys_02$   s7    *C]],-IIn% .--s   A
Ac                 f    SSK Jn  SSS.nU" SS9nUR                  U[        R                  5        g )Nr   r	         abr   r#   r   r
   dumpsysstdoutr   r
   datar   s       r   test_issue_135TestNewAPI.test_issue_135,   s+    *Q		$

#    c                 h    SSK Jn  SSS.nU" SSS9nUR                  U[        R                  5        g )	Nr   r	   r'   r(   r)   r   Tr   r,   r0   s       r   #test_issue_135_temporary_workaround.TestNewAPI.test_issue_135_temporary_workaround5   s-    *QT*		$

#r4    N)
__name__
__module____qualname____firstlineno__r   r    r$   r2   r6   __static_attributes__r8   r4   r   r   r      s    &&&$$r4   r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
	TestWrite>   c                     SSK Jn  [        [        U5      5      S-  nU" 5       nUR	                  5       nSUS'   SUS'   UR                  XS5        UR                  5       S:X  d   eg )	Nr   r	   	test.yamlr'   r*   r(   r+   
a: 1
b: 2
r   r
   r   strmapr-   	read_textr   tmpdirr
   fnr   r1   s         r   test_dump_pathTestWrite.test_dump_path?   s\    *#f+,vxxzS	S			$||~///r4   c                 ,   SSK Jn  [        [        U5      5      S-  nU" 5       nUR	                  5       nSUS'   SUS'   [        [        U5      S5       nUR                  XV5        S S S 5        UR                  5       S	:X  d   eg ! , (       d  f       N%= f)
Nr   r	   rB   r'   r*   r(   r+   wrC   )r   r
   r   rE   rF   openr-   rG   )r   rI   r
   rJ   r   r1   fps          r   test_dump_fileTestWrite.test_dump_fileJ   sz    *#f+,vxxzS	S	#b'32IId  ||~///  s   B
Bc                     SSK Jn  U" 5       nUR                  5       nSUS'   SUS'   [        R                  " [
        5         UR                  U5        S S S 5        g ! , (       d  f       g = f)Nr   r	   r'   r*   r(   r+   )r   r
   rF   r   r   	TypeErrorr-   )r   r
   r   r1   s       r   test_dump_missing_stream"TestWrite.test_dump_missing_streamV   sL    *vxxzS	S	]]9%IIdO &%%s   A
A+c                    SSK Jn  [        [        U5      5      S-  nU" 5       nUR	                  5       nSUS'   SUS'   [
        R                  " [        5         UR                  XSS5        S S S 5        g ! , (       d  f       g = f)	Nr   r	   rB   r'   r*   r(   r+   T)	r   r
   r   rE   rF   r   r   rT   r-   rH   s         r   test_dump_too_many_args!TestWrite.test_dump_too_many_args`   sb    *#f+,vxxzS	S	]]9%IId% &%%s   A55
Bc                     SSK Jn  S n[        [        U5      5      S-  nU" 5       nUR	                  5       nSUS'   SUS'   UR                  XdUS	9  UR                  5       S
:X  d   eg )Nr   r	   c                 &    U R                  SS5      $ )N z  )replace)ss    r   tr$TestWrite.test_transform.<locals>.trn   s    99S$''r4   rB   r'   r*   r(   r+   )	transformza:  1
b:  2
rD   )r   rI   r
   r_   rJ   r   r1   s          r   test_transformTestWrite.test_transformk   sh    *	( #f+,vxxzS	S			$b	)||~!1111r4   c                     SSK Jn  U" 5       nUR                  5       nSUS'   SUS'   UR                  U[        R
                  5        UR                  5       u  pVUS:X  d   eg )Nr   r	   r'   r*   r(   r+   rC   )r   r
   rF   r-   r.   r/   
readouterrr   capsysr
   r   r1   outerrs          r   
test_printTestWrite.test_printy   sY    *vxxzS	S			$

#$$&n$$$r4   r8   N)r9   r:   r;   r<   rK   rQ   rU   rX   rb   rj   r=   r8   r4   r   r?   r?   >   s     	0
0	&2	%r4   r?   c                        \ rS rSrS rS rSrg)TestRead   c                 b    SSK Jn  U" 5       nUR                  S5        UR                  S5        g )Nr   r	   za: 1)r   r
   r   )r   r
   r   s      r   test_multi_loadTestRead.test_multi_load   s$    *v		&		&r4   c                     SSK Jn  SSKJn  U" SS9nSn[        R
                  " U5         UR                  U5        S S S 5        U" SS9nUR                  U5       H  nM     g ! , (       d  f       N-= f)Nr   r	   )ConstructorErrorr   r#   z - !User0 {age: 18, name: Anthon})r   r
   r   rs   r   r   r   parse)r   r
   rs   r   r^   _s         r   
test_parseTestRead.test_parse   s^    *B.]]+,IIaL - AA 	 -,s   A$$
A2r8   N)r9   r:   r;   r<   rp   rv   r=   r8   r4   r   rm   rm      s    r4   rm   c                       \ rS rSrS rSrg)TestLoadAll   c                     SSK Jn  [        [        U5      5      S-  nUR	                  [
        R                  " S5      5        U" 5       n[        UR                  U5      5      S/S//:X  d   eg)zDthis went wrong on 3.7 because of StopIteration, PR 37 and Issue 211r   r	   rB   z\            ---
            - a
            ---
            - b
            ...
            r*   r+   N)	r   r
   r   rE   
write_texttextwrapdedentlistload_all)r   rI   r
   rJ   r   s        r   test_multi_document_load$TestLoadAll.test_multi_document_load   sb    *#f+,
OO
	
 vDMM"%&C53%.888r4   r8   N)r9   r:   r;   r<   r   r=   r8   r4   r   ry   ry      s    9r4   ry   c                       \ rS rSrS rSrg)TestDuplSet   c                     SSK Jn  SSKJn  U" 5       n[        R
                  " U5         UR                  [        R                  " S5      5        S S S 5        g ! , (       d  f       g = f)Nr   r	   r   zv                !!set
                ? a
                ? b
                ? c
                ? a
                )	r   r
   r   r   r   r   r   r}   r~   r   s       r   test_dupl_set_00TestDuplSet.test_dupl_set_00   sE    *Cv]],-II
 .--s   &A
A'r8   N)r9   r:   r;   r<   r   r=   r8   r4   r   r   r      s    r4   r   c                        \ rS rSrS rS rSrg)TestDumpLoadUnicode   c           
          SSK Jn  U" 5       nSS0n[        U5      S-   nUR                  U[	        USSSS	95        [	        US
5      R                  5       R                  S5      S:X  d   eg )Nr   r	   text   HELLO_WORLD©/tstFile.yamlrN   utf8
)encodingnewlinerbutf-8   text: HELLO_WORLD©
)r   r
   rE   r-   rO   readdecode)r   rI   r
   r   	text_dict	file_names         r   test_write_unicode&TestDumpLoadUnicode.test_write_unicode   sh    *v-.	K/1			)T)S64PQIt$))+227;?WWWWr4   c                 H   SSK Jn  U" 5       n[        U5      S-   n[        US5       nUR	                  SR                  S5      5        S S S 5        [        USSS	9 nUR                  U5      nS S S 5        WS
   S:X  d   eg ! , (       d  f       N?= f! , (       d  f       N+= f)Nr   r	   r   wbr   r   rr   )r   r   r   )r   r
   rE   rO   writeencoder   )r   rI   r
   r   r   rP   r   s          r   test_read_unicode%TestDumpLoadUnicode.test_read_unicode   s    *vK/1	)T"bHH-44W=> #)S62b		"I 3 $4444	 #"22s   !BB
B
B!r8   N)r9   r:   r;   r<   r   r   r=   r8   r4   r   r   r      s    X	5r4   r   c                       \ rS rSrS rSrg)TestFlowStyle   c                     SSK Jn  U" 5       nS Ul        UR                  5       nSUS'   SS/SS//US'   UR	                  U[
        R                  5        UR                  5       u  pVUS	:X  d   eg )
Nr   r	   r'   r+   r(         r*   zb: 1
a:
- [1, 2]
- [3, 4]
)r   r
   default_flow_stylerF   r-   r.   r/   re   rf   s          r   test_flow_styleTestFlowStyle.test_flow_style   so    *v"&xxzS	VaV$S			$

#$$&6666r4   r8   N)r9   r:   r;   r<   r   r=   r8   r4   r   r   r      s    7r4   r   c                   n    \ rS rSr\R
                  R                  \R                  S:  SS9S 5       r	Sr
g)
TestOldAPI   )r   r   z	ok on Py3)reasonc                     SSK Jn  SSKJn  [        R
                  " U5         U" S5        S S S 5        g ! , (       d  f       g = f)Nr   )	safe_loadr   u$   type: Doméstica
type: International)r   r   r   r   r   r   )r   r   r   s      r   r$   !TestOldAPI.test_duplicate_keys_02   s,     	0C]],-=> .--s	   	5
Ar8   N)r9   r:   r;   r<   r   markskipifr.   version_infor$   r=   r8   r4   r   r   r      s4    [[((F2;G? H?r4   r   )
__future__r   r.   r}   r   pathlibr   r   filterwarnings
pytestmarkr   r?   rm   ry   r   r   r   r   r8   r4   r   <module>r      s    &    [[''5

($ ($VD% D%N 29 9* *5 507 7? ?r4   