+
    Bio2                     b   ^ RI t ^ RIHtHtHtHt ^ RIHtHtH	t	 ^ RI
Ht ^ RIt^ RIt^ RIt^ RIt^ RIt ! R R] P"                  4      t ! R R4      t ! R	 R
] P"                  4      t ! R R]] P"                  4      t ! R R]] P"                  4      t]R8X  d   ] P0                  ! 4        R# R# )    N)script_helpercaptured_stdoutrequires_subprocessrequires_resource)TESTFNunlinkrmtree)unloadc                      a  ] tR t^t o R tR tR tR tR tR t	]
! 4       R 4       tR tR	 tR
 tR tR tR tR tR tR tRtV tR# )MiscSourceEncodingTestc                    ^ RI Hp V P                  \        V4      ^4       V F>  w  r#p\        P
                  ! RV,           4      pV P                  WEP                  4       K@  	  R# )r   )test_stringsztest.encoded_modules.module_N)test.encoded_modulesr   assertGreaterEquallen	importlibimport_moduleassertEqualtest)selfr   modnameencodingteststrmods   &     0/usr/lib/python3.14/test/test_source_encoding.pytest_import_encoded_module1MiscSourceEncodingTest.test_import_encoded_module   sX    5L 115*6&Gw)) +46=+> ?CWhh/ +7    c                l    \        R RR4      p/ p\        W4       V P                  VR,          R4       R# )s   
# coding: utf-8
u = 'ó'
dummyexecu   óNcompiler!   r   r   cds   &  r   test_compilestring)MiscSourceEncodingTest.test_compilestring   s1    :GVLQ
3(r   c                     \        R RR4       V P                  4        R#   \         d7   pT P                  TP                  P                  R4      R4        Rp?R# Rp?ii ; i)s   # coding: cp932
print 'N'r    r!   
u   print '年'N)r%   failSyntaxErrorr   textrstrip)r   vs   & r   test_issue2301%MiscSourceEncodingTest.test_issue2301   sT    	8'6J IIK  	DQVV]]402BCC	Ds   ! A"+AA"c                l    \        R RR4      p/ p\        W4       V P                  VR,          R4       R# )u   # coding=latin-1
Æ = 'Æ'r    r!      ÆNr$   r&   s   &  r   test_issue4626%MiscSourceEncodingTest.test_issue4626'   s1    97FKQ
6F+r   c                B   \        R RR4      p/ p\        W4       V P                  VR,          VR,          4       V P                  \        VR,          4      \        VR,          4      4       V P                  \	        VR,          4      \	        VR,          4      4       R# )u   a, b = '𐄏', '\U0001010F'r    r!   abN)r%   r!   r   r   asciir&   s   &  r   test_issue3297%MiscSourceEncodingTest.test_issue3297-   su    8'6JQ
33(QsVc!C&k2qvaf6r   c                    V P                  \        \        R 4       V P                  \        \        R4       V P                  \        \        R4       R# )s    s    s    N)assertRaisesr.   evalr   s   &r   test_issue7820%MiscSourceEncodingTest.test_issue78205   s>     	+t[9 	+t[9 	+t_=r   c                |   \         P                  ! \        P                  \        P
                  P                  \        P
                  P                  \        4      R R4      .\         P                  R7      pVP                  4       ^,          pV P                  VP                  ^ 4       V P                  RV4       R# )tokenizedatazcoding20731.py)stderrs   SyntaxErrorN)
subprocessPopensys
executableospathjoindirname__file__PIPEcommunicater   
returncodeassertNotIn)r   suberrs   &  r   
test_20731!MiscSourceEncodingTest.test_20731C   s    RWW__X%>%3%57 8  *	0
 oo"+-r   c                   \        R RR4       \        RRR4       \        RRR4       V P                  \        R4      ;_uu_ 4        \        RRR4       RRR4       V P                  \        R4      ;_uu_ 4        \        R	RR4       RRR4       V P                  \        R
4      ;_uu_ 4        \        R	RR4       RRR4       V P                  \        R4      ;_uu_ 4        \        RRR4       RRR4       V P                  \        R
4      ;_uu_ 4        \        RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)s   # -*- coding: iso-8859-15 -*-
r    r!   s   ﻿
s   ﻿# -*- coding: utf-8 -*-
fakes   # -*- coding: fake -*-
Nziso-8859-15s!   ﻿# -*- coding: iso-8859-15 -*-
BOMs   ﻿# -*- coding: fake -*-
)r%   assertRaisesRegexr.   rA   s   &r   test_error_message)MiscSourceEncodingTest.test_error_messageN   s   2GVD!7F38'6J##K88/&A 9##K??BV% @ ##K77BV% 8 ##K88;WfM 9##K77;WfM 87 98?? 87 98777s<   D.:E.E"E'E:.D>	E	E$	'E7	:F	c                ,    R pV P                  V4       R# )
bad_codingNverify_bad_moduler   module_names   & r   test_bad_coding&MiscSourceEncodingTest.test_bad_coding_   s    "{+r   c                ,    R pV P                  V4       R# )bad_coding2Nr`   rb   s   & r   test_bad_coding2'MiscSourceEncodingTest.test_bad_coding2c   s    #{+r   c                   V P                  \        \        R V,           4       \        P                  P                  \        4      p\        P                  P                  VRVR,           4      p\        VR4      ;_uu_ 4       pVP                  4       pRRR4       V P                  \        \        XVR4       R#   + '       g   i     L/; i)ztest.tokenizedata.rE   .pyrbNr!   )r?   r.   
__import__rK   rL   rN   rO   rM   openreadr%   )r   rc   rL   filenamefpbytess   &&    r   ra   (MiscSourceEncodingTest.verify_bad_moduleg   s    +z3G+3UVwwx(77<<nkE6IJ(D!!RGGIE "+wxH "!s   B::C
	c                T    / p\        R V4       V P                  VR,          R4       R# )s   # coding: cp949
a = ""
r9   u   ぇN)r!   r   )r   r(   s   & r   test_exec_valid_coding-MiscSourceEncodingTest.test_exec_valid_codingp   s&    1153*r   c                T   \        \        4       \        R ,           p\        VRRR7      p\        P                  P                  ^ \        P                  4        V;_uu_ 4        VP                  R4       VP                  R4       VP                  R4       VP                  RR,          4       RRR4       \        P                  ! 4        \        \        4       \        P                  ^  \        V4       \        VR	,           4       \        VR
,           4       \        \        4       \        R4       R#   + '       g   i     L; i  \        P                  ^  \        T4       \        TR	,           4       \        TR
,           4       \        \        4       \        R4       i ; i)rk   wcp1252)r   z# -*- coding: cp1252 -*-
z'''A short string
z'''
z'A very long string %s'
Nr'   o__pycache__  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)r
   r   rn   rI   rL   insertrK   curdirwriter   invalidate_cachesrm   r   r	   )r   rp   fs   &  r   test_file_parse&MiscSourceEncodingTest.test_file_parseu   s    	vE>32299%	"45-. 3zBC	  '')v88c>"8c>"6N=!  88c>"8c>"6N=!s&   
E $AD80,E 8E	E AF'c                   R P                  R4      pV P                  \        4      ;_uu_ 4       p\        VRR4       RRR4       RpV P	                  XP
                  P                  ^ ,          V4       R#   + '       g   i     LA; i)u   # coding: ascii
☃zutf-8z<string>r!   NzN'ascii' codec can't decode byte 0xe2 in position 16: ordinal not in range(128))encoder?   r.   r%   assertStartsWith	exceptionargs)r   inputr'   expecteds   &   r   test_error_from_string-MiscSourceEncodingTest.test_error_from_string   se    .55g>{++qE:v. ,/akk..q18<	 ,+s   A66B	c                   \        \        R 4      ;_uu_ 4       pVP                  R4       RRR4        \        P                  ! \        4      w  r#pV P                  V^ 4       V P                  RV4       \        P                  ! \        4       R#   + '       g   i     Ln; i  \        P                  ! \        4       i ; i)wbs   print("""
""")
Ns#   Non-UTF-8 code starting with '\xb1')	rn   r   r   r   assert_python_failureassertGreaterassertInrK   r   )r   fdretcodestdoutrF   s   &    r   test_file_parse_error_multiline6MiscSourceEncodingTest.test_file_parse_error_multiline   s    &$2HH-.  	&3&I&I&&Q#GVw*MMA6JIIf   IIfs   BAB$ B!	$C c                   R p\        \        R4      ;_uu_ 4       pVP                  RP                  V4      4       RRR4        \        P
                  ! \        4      w  r4pV P                  RV4       V P                  VP                  VP                  4       4      ^4       \        P                  ! \        4       R#   + '       g   i     L; i  \        P                  ! \        4       i ; i)z0b1and 2rx   z{}Ns$   SyntaxWarning: invalid binary litera)rn   r   r   formatr   assert_python_okr   r   countr   rK   r   )r   sourcer   r   r   rF   s   &     r   ,test_tokenizer_fstring_warning_in_first_lineCMiscSourceEncodingTest.test_tokenizer_fstring_warning_in_first_line   s    &#"HHT[[() 	&3&D&DV&L#GVMMA6JV\\&--/:A>IIf  IIfs   !B?AC ?C	C. N)__name__
__module____qualname____firstlineno__r   r)   r2   r6   r<   rB   r   rV   r\   rd   rh   ra   ru   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      sn     0),7> . .N",,I+
"0=	 	r   r   c                   t   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tRtV tR# )AbstractSourceEncodingTestc                .    R pV P                  VR4       R# )s   print(ascii("ä"))
   '\xe4'Ncheck_script_outputr   srcs   & r   test_default_coding.AbstractSourceEncodingTest.test_default_coding   s    ,  j1r   c                .    R pV P                  VR4       R# )s&   #coding:iso8859-15
print(ascii("ä"))
   '\xc3\u20ac'Nr   r   s   & r   test_first_coding_line1AbstractSourceEncodingTest.test_first_coding_line       -  &67r   c                .    R pV P                  VR4       R# )s(   #
#coding:iso8859-15
print(ascii("ä"))
r   Nr   r   s   & r   test_second_coding_line2AbstractSourceEncodingTest.test_second_coding_line       - 	  &67r   c                .    R pV P                  VR4       R# )s*   #
#
#coding:iso8859-15
print(ascii("ä"))
r   Nr   r   s   & r   test_third_coding_line1AbstractSourceEncodingTest.test_third_coding_line   s    - 	  j1r   c                .    R pV P                  VR4       R# )s5   #coding:iso8859-15
#coding:latin1
print(ascii("ä"))
r   Nr   r   s   & r   test_double_coding_line2AbstractSourceEncodingTest.test_double_coding_line   s    - 	  &67r   c                .    R pV P                  VR4       R# )s4   #coding:iso8859-15 coding:latin1
print(ascii("ä"))
r   Nr   r   s   & r   test_double_coding_same_line7AbstractSourceEncodingTest.test_double_coding_same_line   r   r   c                .    R pV P                  VR4       R# )s)   #coding:iso-8859-15 
print(ascii("ä"))
r   Nr   r   s   & r   test_first_non_utf8_coding_line:AbstractSourceEncodingTest.test_first_non_utf8_coding_line   r   r   c                .    R pV P                  VR4       R# )s*   
#coding:iso-8859-15 
print(ascii("ä"))
r   Nr   r   s   & r    test_second_non_utf8_coding_line;AbstractSourceEncodingTest.test_second_non_utf8_coding_line   r   r   c                .    R pV P                  VR4       R# )s   ﻿print(ascii("ä"))
r   Nr   r   s   & r   test_utf8_bom(AbstractSourceEncodingTest.test_utf8_bom   s    8  j1r   c                .    R pV P                  VR4       R# )s$   ﻿#coding:utf-8
print(ascii("ä"))
r   Nr   r   s   & r   "test_utf8_bom_and_utf8_coding_line=AbstractSourceEncodingTest.test_utf8_bom_and_utf8_coding_line   s    -  j1r   c                .    R pV P                  VR4      pR# )s   print(ascii("""
"""))
s   '\n'Nr   r   r   outs   &  r   	test_crlf$AbstractSourceEncodingTest.test_crlf   s    ,&&sH5r   c                .    R pV P                  VR4      pR# )s   print(ascii("""
"""))
s   '\n\n'Nr   r   s   &  r   test_crcrlf&AbstractSourceEncodingTest.test_crcrlf   s    .&&sJ7r   c                .    R pV P                  VR4      pR# )s   print(ascii("""
"""))
   '\n\n\n'Nr   r   s   &  r   test_crcrcrlf(AbstractSourceEncodingTest.test_crcrcrlf   s    0&&sL9r   c                .    R pV P                  VR4      pR# )s,   #coding:iso-8859-1
print(ascii("""
"""))
r   Nr   r   s   &  r   test_crcrcrlf2)AbstractSourceEncodingTest.test_crcrcrlf2   s    1&&sL9r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r   r   r      sP     28
8288
8
822
68:: :r   r   c                      a  ] tR t^t o ]P
                  ! ]P                  P                  R4      '       * R4      ]	! R4      R 4       4       t
RtV tR# )UTF8ValidatorTestlinuxz&Too slow to run on non-Linux platformscpuc                  a aa R o\         oS P                  \        S4       VV V3R lp\        ^^4       Uu. uF  p\	        V.4      NK  	  pp\        ^^4       Uu. uF  p\	        V.4      NK  	  pp\        ^^4       Uu. uF  p\	        V.4      NK  	  ppW4,           V,           \        ^R4       Uu. uF  p\	        V.4      NK  	  up,           pV F  pV! V4       K  	  V F  pV F  p	V! W,           4       K  	  K  	  V F?  pVR,           F/  p
VR,           F  pV! W,           R,           V,           4       K!  	  K1  	  KA  	  \        ^^4       Uu. uF  p\	        V.4      NK  	  up F/  p	V! RV	,           R,           4       V! RV	,           R,           4       K1  	  \        ^^4       Uu. uF  p\	        V.4      NK  	  up F/  p	V! RV	,           R,           4       V! RV	,           R,           4       K1  	  \        ^^4       Uu. uF  p\	        V.4      NK  	  up F/  p	V! RV	,           R	,           4       V! RV	,           R
,           4       K1  	  \        ^^4       Uu. uF  p\	        V.4      NK  	  up F/  p	V! RV	,           R	,           4       V! RV	,           R
,           4       K1  	  R# u upi u upi u upi u upi u upi u upi u upi u upi )s   


"%s"
c                 6  < \        SR 4      ;_uu_ 4       pVP                  SV ,          4       RRR4       \        P                  ! S4      w  r#pSP	                  V^4       SP                  RV4       SP                  RV4       R#   + '       g   i     La; i)r   Ns   Non-UTF-8 code starting withs	   on line 4)rn   r   r   r   r   r   )contentrq   rcr   rF   fnr   templates   &    r   check2UTF8ValidatorTest.test_invalid_utf8.<locals>.check  sr    b$2G+,  !.!D!DR!HB ##B*MM96BMM,/  s   BB	   :N   N               s   s      N)r   
addCleanupr   rangerr   )r   r   xcontinuation_bytesinvalid_2B_seq_start_bytesinvalid_4B_seq_start_bytesinvalid_start_bytesbytesbcbcb1cb3r   r   s   f           @@r   test_invalid_utf8#UTF8ValidatorTest.test_invalid_utf8   s    ##	0 38d2CD2CQeQCj2CD:?d:K%L:KQeQCj:K"%L:?d:K%L:KQeQCj:K"%L;&'>CD%>P)Q>P%*>P)QR 	
 (D$K ( -B(bg ) - -B)"---b11C"&.,- 2 . -
 (-T4'89'8!5!:'89B'"*W$%'"*W$% : (-T4'89'8!5!:'89B'"*W$%'"*W$% : (-T4'89'8!5!:'89B'"*[()'"*[() : (-T4'89'8!5!:'89B'"*[()'"*[() :A E%L%L *R : : : :s/   J/J4J95J>K0K	K"Kr   N)r   r   r   r   unittestskipIfrI   platform
startswithr   r   r   r   r   s   @r   r   r      sD     __0099=?u>* ?>*r   r   c                   &   a  ] tR tRt o R tRtV tR# )BytesSourceEncodingTesti?  c                    \        4       ;_uu_ 4       p\        V4       R R R 4       XP                  4       P                  R4      pV P	                  VP                  4       V4       R #   + '       g   i     LQ; i)Nlatin1)r   r!   getvaluer   r   r0   )r   r   r   r   r   s   &&&  r   r   +BytesSourceEncodingTest.check_script_outputA  sO    &I oo&&x0x0 s   A((A8	r   Nr   r   r   r   r   r   r   r   s   @r   r  r  ?  s     1 1r   r  c                   &   a  ] tR tRt o R tRtV tR# )FileSourceEncodingTestiH  c           	        \         P                  ! 4       ;_uu_ 4       p\        P                  P	                  VR 4      p\        VR4      ;_uu_ 4       pVP                  V4       RRR4       \        P                  ! V4      pRRR4       V P                  XP                  P                  4       V4       R#   + '       g   i     LZ; i  + '       g   i     LO; i)ztest.pyr   N)tempfileTemporaryDirectoryrK   rL   rM   rn   r   r   r   r   r   r0   )r   r   r   tmpdr   rq   ress   &&&    r   r   *FileSourceEncodingTest.check_script_outputJ  s    ((**ddI.Bb$2  004C	 +
 	)84   +*s#   5C
B7	%C
7CC

C	r   Nr
  r   s   @r   r  r  H  s     5 5r   r  __main__)r   test.supportr   r   r   r   test.support.os_helperr   r   r	   test.support.import_helperr
   r   rK   rI   rG   r  TestCaser   r   r   r  r  r   mainr   r   r   <module>r     s     _ _ 9 9 -  	 
  _X.. _DH: H:VB*)) B*J18(:K:K 1579J9J 5 zMMO r   