
    i                         d dl Z d dlZd dlmZmZ  G d dej
                        Z G d dej
                        Zedk(  r ej                          yy)    N)encode_stringencode_file_pathc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Z	 ddlmZ ead Zd Zd Zy# e$ r Y w xY w)RWopsEncodeStringTestc                 <    t        d       }| j                  |       y Nr   assertIsNone)selfencoded_strings     d/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/pygame/tests/rwobject_test.pytest_obj_Nonez#RWopsEncodeStringTest.test_obj_None
   s    &t,.)    c                 J    d}t        |      }| j                  |t               y NHello)r   assertIsInstancebytesr   ur   s      r   test_returns_bytesz(RWopsEncodeStringTest.test_returns_bytes   s!    &q)ne4r   c                 F    d}t        |dd      }| j                  ||       y )Ns   encyclopdiaasciistrict)r   assertIs)r   br   s      r   test_obj_bytesz$RWopsEncodeStringTest.test_obj_bytes   s#    &q'8<na(r   c                 b    d}|j                  d      }| j                  t        |d      |       y )Nu   Þe Olde Kompüter Shoppeutf-8encodeassertEqualr   r   r   r   s      r   test_encode_unicodez)RWopsEncodeStringTest.test_encode_unicode   s,    /HHWq'2A6r   c                 8    | j                  t        t               y r   assertRaisesSyntaxErrorr   r   s    r   test_error_fowardingz*RWopsEncodeStringTest.test_error_fowarding    s    +}5r   c                 f    d}|j                  dd      }| j                  t        |dd      |       y )Nu"   abcĉdefgĝhĥijĵklmnoprsŝtuŭvzr   ignorer    r#   s      r   test_errorsz!RWopsEncodeStringTest.test_errors#   s0    HHHWh'q'8<a@r   c                 D    d}t        |dd      }| j                  |       y Nu   abr   r   r	   r   s      r   test_encoding_errorz)RWopsEncodeStringTest.test_encoding_error(   s#    &q'8<.)r   c                 f    d}|j                  dd      }t        |      }| j                  ||       y )Nu   aǷbunicode_escapebackslashreplace)r!   r   r"   )r   r   r   r   s       r   test_check_defaultsz)RWopsEncodeStringTest.test_check_defaults.   s3    HH%'9:&q)+r   c                 L    d}| j                  t        t        |ddt               y r/   r&   )r   r   s     r   
test_etypez RWopsEncodeStringTest.test_etype5   s    +}a(KXr   c                 P    d| fD ]  }| j                  t        t        d|       ! y),Ensures invalid etypes are properly handled.r(   testetypeN)r'   	TypeErrorr   r   r;   s     r   test_etype__invalidz)RWopsEncodeStringTest.test_etype__invalid9   s1     $T* 	MEieL	Mr   c                     d}t        |t              }t        |j                         dd      }| j                  ||       | j	                  ||       y )N   a b cr:   r   r   )r   r(   decoder   r"   )r   r   r   encoded_decode_strings       r   test_string_with_null_bytesz1RWopsEncodeStringTest.test_string_with_null_bytes?   sG    &q< -ahhj'8 Lna(.2r   r   )getrefcountc                     ddd  }|j                  d      }t        |      }t        |      }| j                  t        |      |       t        |      }| j                  t        |      |       y )Ns%    This is a string that is not cached.   r   )rA   rD   r   r"   )r   bpathupathbefores       r   test_refcountz#RWopsEncodeStringTest.test_refcountO   sd    <QR@ELL)E 'F!%(E[/8!%(E[/8r   c                 T    d}d}t        |ddt              }| j                  ||       y )Ns   a𓂧bu   a𓂧br   r   )r   AssertionErrorr"   )r   utf_8r   r   s       r   test_smpzRWopsEncodeStringTest.test_smpX   s,    %!Wh?E"r   c                     	 t        t        j                  d      d      }| j                  |d       t        t        j                  d            }| j                  |d       y)z4Test loading string representation of pathlib objectfoor   s   foobazs   bazN)r   pathlibPurePathr"   Path)r   encodeds     r   test_pathlib_objz&RWopsEncodeStringTest.test_pathlib_obj^   sS    	   0 0 7A&)U 34&)r   N)__name__
__module____qualname__r   r   r   r$   r*   r-   r0   r4   r6   r>   rC   sysrD   _grJ   ImportErrorrN   rV    r   r   r   r      sl    *
5)7
6A
*,YM39)
	9#*'  s   9 A Ar   c                   *    e Zd Zd Zd Zd Zd Zd Zy)RWopsEncodeFilePathTestc                 J    d}t        |      }| j                  |t               y r   )r   r   r   )r   r   encoded_file_paths      r   test_encodingz%RWopsEncodeFilePathTest.test_encodingp   s#    ,Q//7r   c                 8    | j                  t        t               y r   )r'   r(   r   r)   s    r   r*   z,RWopsEncodeFilePathTest.test_error_fowardingv   s    +'78r   c                 @    d}t        |      }| j                  |       y Nr@   )r   r
   )r   r   ra   s      r   test_path_with_null_bytesz1RWopsEncodeFilePathTest.test_path_with_null_bytesy   s!    ,Q/+,r   c                 H    d}| j                  t        t        |t               y re   r'   r<   r   )r   r   s     r   r6   z"RWopsEncodeFilePathTest.test_etype   s    )%5q)Dr   c                 N    d| fD ]  }| j                  t        t        d|         y)r8   r(   r9   Nrh   r=   s     r   r>   z+RWopsEncodeFilePathTest.test_etype__invalid   s/     $T* 	JEi)965I	Jr   N)rW   rX   rY   rb   r*   rf   r6   r>   r]   r   r   r_   r_   m   s    89-EJr   r_   __main__)
rR   unittestpygamer   r   TestCaser   r_   rW   mainr]   r   r   <module>ro      sQ      2c*H-- c*LJh// J: zHMMO r   