@@ -1487,12 +1487,23 @@ def test_syntaxerror_latin1(self):
14871487
14881488    def  test_nonascii_coding (self ):
14891489        # gh-63161: test non-ASCII coding 
1490-         lines  =  (
1491-             '#coding=iso8859-15 €' .encode ('iso8859-15' ),
1492-             )
1493-         readline  =  self .get_readline (lines )
1494-         found , consumed_lines  =  tokenize .detect_encoding (readline )
1495-         self .assertEqual (found , "iso8859-15" )
1490+         tests  =  [
1491+             ['iso8859-15' ,
1492+              ['#coding=iso8859-15 €' .encode ('iso8859-15' )]],
1493+             ['iso8859-15' ,
1494+              [b"#!/usr/bin/python\n " ,
1495+               '#coding=iso8859-15 €' .encode ('iso8859-15' )]],
1496+             ['ascii' ,
1497+              [b"#!/usr/bin/python\n " ,
1498+               '#coding=ascii €' .encode ('utf8' )]],
1499+             ['ascii' ,
1500+              ['#coding=ascii €' .encode ('utf8' )]],
1501+         ]
1502+         for  encoding , lines  in  tests :
1503+             with  self .subTest (encoding = encoding , lines = ascii (lines )):
1504+                 readline  =  self .get_readline (lines )
1505+                 found , consumed_lines  =  tokenize .detect_encoding (readline )
1506+                 self .assertEqual (found , encoding )
14961507
14971508    def  test_utf8_normalization (self ):
14981509        # See get_normal_name() in Parser/tokenizer/helpers.c. 
0 commit comments