@@ -973,6 +973,97 @@ def graphemes(*args):
973973 'a\U0001F1FA \U0001F1E6 \U0001F1FA \U0001F1F3 ' ),
974974 ['a' , '\U0001F1FA \U0001F1E6 ' , '\U0001F1FA \U0001F1F3 ' ])
975975
976+ def test_block (self ):
977+ self .assertEqual (self .db .block ('\u0000 ' ), 'Basic Latin' )
978+ self .assertEqual (self .db .block ('\u0041 ' ), 'Basic Latin' )
979+ self .assertEqual (self .db .block ('\u007F ' ), 'Basic Latin' )
980+ self .assertEqual (self .db .block ('\u0080 ' ), 'Latin-1 Supplement' )
981+ self .assertEqual (self .db .block ('\u00FF ' ), 'Latin-1 Supplement' )
982+ self .assertEqual (self .db .block ('\u1159 ' ), 'Hangul Jamo' )
983+ self .assertEqual (self .db .block ('\u11F9 ' ), 'Hangul Jamo' )
984+ self .assertEqual (self .db .block ('\uD788 ' ), 'Hangul Syllables' )
985+ self .assertEqual (self .db .block ('\uD7A3 ' ), 'Hangul Syllables' )
986+ # New in 5.0.0
987+ self .assertEqual (self .db .block ('\u05BA ' ), 'Hebrew' )
988+ self .assertEqual (self .db .block ('\u20EF ' ), 'Combining Diacritical Marks for Symbols' )
989+ # New in 5.1.0
990+ self .assertEqual (self .db .block ('\u2064 ' ), 'General Punctuation' )
991+ self .assertEqual (self .db .block ('\uAA4D ' ), 'Cham' )
992+ # New in 5.2.0
993+ self .assertEqual (self .db .block ('\u0816 ' ), 'Samaritan' )
994+ self .assertEqual (self .db .block ('\uA97C ' ), 'Hangul Jamo Extended-A' )
995+ self .assertEqual (self .db .block ('\uD7C6 ' ), 'Hangul Jamo Extended-B' )
996+ self .assertEqual (self .db .block ('\uD7FB ' ), 'Hangul Jamo Extended-B' )
997+ # New in 6.0.0
998+ self .assertEqual (self .db .block ('\u093A ' ), 'Devanagari' )
999+ self .assertEqual (self .db .block ('\U00011002 ' ), 'Brahmi' )
1000+ # New in 6.1.0
1001+ self .assertEqual (self .db .block ('\U000E0FFF ' ), 'No_Block' )
1002+ self .assertEqual (self .db .block ('\U00016F7E ' ), 'Miao' )
1003+ # New in 6.2.0
1004+ self .assertEqual (self .db .block ('\U0001F1E6 ' ), 'Enclosed Alphanumeric Supplement' )
1005+ self .assertEqual (self .db .block ('\U0001F1FF ' ), 'Enclosed Alphanumeric Supplement' )
1006+ # New in 6.3.0
1007+ self .assertEqual (self .db .block ('\u180E ' ), 'Mongolian' )
1008+ self .assertEqual (self .db .block ('\u1A1B ' ), 'Buginese' )
1009+ # New in 7.0.0
1010+ self .assertEqual (self .db .block ('\u0E33 ' ), 'Thai' )
1011+ self .assertEqual (self .db .block ('\u0EB3 ' ), 'Lao' )
1012+ self .assertEqual (self .db .block ('\U0001BCA3 ' ), 'Shorthand Format Controls' )
1013+ self .assertEqual (self .db .block ('\U0001E8D6 ' ), 'Mende Kikakui' )
1014+ self .assertEqual (self .db .block ('\U0001163E ' ), 'Modi' )
1015+ # New in 8.0.0
1016+ self .assertEqual (self .db .block ('\u08E3 ' ), 'Arabic Extended-A' )
1017+ self .assertEqual (self .db .block ('\U00011726 ' ), 'Ahom' )
1018+ # New in 9.0.0
1019+ self .assertEqual (self .db .block ('\u0600 ' ), 'Arabic' )
1020+ self .assertEqual (self .db .block ('\U000E007F ' ), 'Tags' )
1021+ self .assertEqual (self .db .block ('\U00011CB4 ' ), 'Marchen' )
1022+ self .assertEqual (self .db .block ('\u200D ' ), 'General Punctuation' )
1023+ # New in 10.0.0
1024+ self .assertEqual (self .db .block ('\U00011D46 ' ), 'Masaram Gondi' )
1025+ self .assertEqual (self .db .block ('\U00011D47 ' ), 'Masaram Gondi' )
1026+ self .assertEqual (self .db .block ('\U00011A97 ' ), 'Soyombo' )
1027+ # New in 11.0.0
1028+ self .assertEqual (self .db .block ('\U000110CD ' ), 'Kaithi' )
1029+ self .assertEqual (self .db .block ('\u07FD ' ), 'NKo' )
1030+ self .assertEqual (self .db .block ('\U00011EF6 ' ), 'Makasar' )
1031+ # New in 12.0.0
1032+ self .assertEqual (self .db .block ('\U00011A84 ' ), 'Soyombo' )
1033+ self .assertEqual (self .db .block ('\U00013438 ' ), 'Egyptian Hieroglyph Format Controls' )
1034+ self .assertEqual (self .db .block ('\U0001E2EF ' ), 'Wancho' )
1035+ self .assertEqual (self .db .block ('\U00016F87 ' ), 'Miao' )
1036+ # New in 13.0.0
1037+ self .assertEqual (self .db .block ('\U00011941 ' ), 'Dives Akuru' )
1038+ self .assertEqual (self .db .block ('\U00016FE4 ' ), 'Ideographic Symbols and Punctuation' )
1039+ self .assertEqual (self .db .block ('\U00011942 ' ), 'Dives Akuru' )
1040+ # New in 14.0.0
1041+ self .assertEqual (self .db .block ('\u0891 ' ), 'Arabic Extended-B' )
1042+ self .assertEqual (self .db .block ('\U0001E2AE ' ), 'Toto' )
1043+ # New in 15.0.0
1044+ self .assertEqual (self .db .block ('\U00011F02 ' ), 'Kawi' )
1045+ self .assertEqual (self .db .block ('\U0001343F ' ), 'Egyptian Hieroglyph Format Controls' )
1046+ self .assertEqual (self .db .block ('\U0001E4EF ' ), 'Nag Mundari' )
1047+ self .assertEqual (self .db .block ('\U00011F3F ' ), 'Kawi' )
1048+ # New in 16.0.0
1049+ self .assertEqual (self .db .block ('\U000113D1 ' ), 'Tulu-Tigalari' )
1050+ self .assertEqual (self .db .block ('\U0001E5EF ' ), 'Ol Onal' )
1051+ self .assertEqual (self .db .block ('\U0001612C ' ), 'Gurung Khema' )
1052+ self .assertEqual (self .db .block ('\U00016D63 ' ), 'Kirat Rai' )
1053+ # New in 17.0.0
1054+ self .assertEqual (self .db .block ('\u1AEB ' ), 'Combining Diacritical Marks Extended' )
1055+ self .assertEqual (self .db .block ('\U00011B67 ' ), 'Sharada Supplement' )
1056+ # Unassigned
1057+ self .assertEqual (self .db .block ('\U00100000 ' ), 'Supplementary Private Use Area-B' )
1058+ self .assertEqual (self .db .block ('\U0010FFFF ' ), 'Supplementary Private Use Area-B' )
1059+
1060+ def test_block_invalid_input (self ):
1061+ self .assertRaises (TypeError , self .db .block )
1062+ self .assertRaises (TypeError , self .db .block , b'x' )
1063+ self .assertRaises (TypeError , self .db .block , 120 )
1064+ self .assertRaises (TypeError , self .db .block , '' )
1065+ self .assertRaises (TypeError , self .db .block , 'xx' )
1066+
9761067
9771068class Unicode_3_2_0_FunctionsTest (unittest .TestCase , BaseUnicodeFunctionsTest ):
9781069 db = unicodedata .ucd_3_2_0
0 commit comments