@@ -420,12 +420,17 @@ def test_isidentifier(self):
420420 self .assertFalse (" " .isidentifier ())
421421 self .assertFalse ("[" .isidentifier ())
422422 self .assertFalse ("©" .isidentifier ())
423+ self .assertFalse ("0" .isidentifier ())
423424
424425 def test_isprintable (self ):
425426 self .assertTrue ("" .isprintable ())
426427 self .assertTrue ("abcdefg" .isprintable ())
427428 self .assertFalse ("abcdefg\n " .isprintable ())
428- self .assertTrue ("\u0370 " .isprintable ())
429+ # some defined Unicode character
430+ self .assertTrue ("\u0374 " .isprintable ())
431+ # undefined character
432+ self .assertFalse ("\u0370 " .isprintable ())
433+ # single surrogate character
429434 self .assertFalse ("\ud800 " .isprintable ())
430435
431436 def test_contains (self ):
@@ -598,19 +603,23 @@ def __format__(self, format_spec):
598603 # format specifiers for user defined type
599604 self .assertEqual ('{0:abc}' .format (C ()), 'abc' )
600605
601- # !r, !s and !a coersions
606+ # !r, !s and !a coercions
602607 self .assertEqual ('{0!s}' .format ('Hello' ), 'Hello' )
603608 self .assertEqual ('{0!s:}' .format ('Hello' ), 'Hello' )
604609 self .assertEqual ('{0!s:15}' .format ('Hello' ), 'Hello ' )
605610 self .assertEqual ('{0!s:15s}' .format ('Hello' ), 'Hello ' )
606611 self .assertEqual ('{0!r}' .format ('Hello' ), "'Hello'" )
607612 self .assertEqual ('{0!r:}' .format ('Hello' ), "'Hello'" )
608613 self .assertEqual ('{0!r}' .format (F ('Hello' )), 'F(Hello)' )
609- self .assertEqual ('{0!r}' .format (F ('\u0370 ' )), 'F(\u0370 )' )
614+ self .assertEqual ('{0!r}' .format ('\u0370 ' ), "'\\ u0370'" ) # nonprintable
615+ self .assertEqual ('{0!r}' .format ('\u0374 ' ), "'\u0374 '" ) # printable
616+ self .assertEqual ('{0!r}' .format (F ('\u0374 ' )), 'F(\u0374 )' )
610617 self .assertEqual ('{0!a}' .format ('Hello' ), "'Hello'" )
618+ self .assertEqual ('{0!a}' .format ('\u0370 ' ), "'\\ u0370'" ) # nonprintable
619+ self .assertEqual ('{0!a}' .format ('\u0374 ' ), "'\\ u0374'" ) # printable
611620 self .assertEqual ('{0!a:}' .format ('Hello' ), "'Hello'" )
612621 self .assertEqual ('{0!a}' .format (F ('Hello' )), 'F(Hello)' )
613- self .assertEqual ('{0!a}' .format (F ('\u0370 ' )), 'F(\\ u0370 )' )
622+ self .assertEqual ('{0!a}' .format (F ('\u0374 ' )), 'F(\\ u0374 )' )
614623
615624 # test fallback to object.__format__
616625 self .assertEqual ('{0}' .format ({}), '{}' )
0 commit comments