blob: 6ddd077388c92442a146de5c271a6c5c23c69d9b [file] [log] [blame]
Guido van Rossum3e06ab12000-06-29 19:35:29 +00001""" Test script for the unicodedata module.
Guido van Rossumaad67612000-05-08 17:31:04 +00002
3Written by Marc-Andre Lemburg (mal@lemburg.com).
4
5(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
6
Guido van Rossum3e06ab12000-06-29 19:35:29 +00007"""#"
Guido van Rossumaad67612000-05-08 17:31:04 +00008from test_support import verbose
9import sys
10
Guido van Rossum3e06ab12000-06-29 19:35:29 +000011# Test Unicode database APIs
12import unicodedata
Guido van Rossumaad67612000-05-08 17:31:04 +000013
Guido van Rossum3e06ab12000-06-29 19:35:29 +000014print 'Testing unicodedata module...',
Guido van Rossumaad67612000-05-08 17:31:04 +000015
Guido van Rossum3e06ab12000-06-29 19:35:29 +000016assert unicodedata.digit(u'A',None) is None
17assert unicodedata.digit(u'9') == 9
18assert unicodedata.digit(u'\u215b',None) is None
19assert unicodedata.digit(u'\u2468') == 9
Guido van Rossumaad67612000-05-08 17:31:04 +000020
Guido van Rossum3e06ab12000-06-29 19:35:29 +000021assert unicodedata.numeric(u'A',None) is None
22assert unicodedata.numeric(u'9') == 9
23assert unicodedata.numeric(u'\u215b') == 0.125
24assert unicodedata.numeric(u'\u2468') == 9.0
Guido van Rossumaad67612000-05-08 17:31:04 +000025
Guido van Rossum3e06ab12000-06-29 19:35:29 +000026assert unicodedata.decimal(u'A',None) is None
27assert unicodedata.decimal(u'9') == 9
28assert unicodedata.decimal(u'\u215b',None) is None
29assert unicodedata.decimal(u'\u2468',None) is None
Guido van Rossumaad67612000-05-08 17:31:04 +000030
Guido van Rossum3e06ab12000-06-29 19:35:29 +000031assert unicodedata.category(u'\uFFFE') == 'Cn'
32assert unicodedata.category(u'a') == 'Ll'
33assert unicodedata.category(u'A') == 'Lu'
Guido van Rossumaad67612000-05-08 17:31:04 +000034
Guido van Rossum3e06ab12000-06-29 19:35:29 +000035assert unicodedata.bidirectional(u'\uFFFE') == ''
36assert unicodedata.bidirectional(u' ') == 'WS'
37assert unicodedata.bidirectional(u'A') == 'L'
Guido van Rossumaad67612000-05-08 17:31:04 +000038
Guido van Rossum3e06ab12000-06-29 19:35:29 +000039assert unicodedata.decomposition(u'\uFFFE') == ''
40assert unicodedata.decomposition(u'\u00bc') == '<fraction> 0031 2044 0034'
Guido van Rossumaad67612000-05-08 17:31:04 +000041
Guido van Rossum3e06ab12000-06-29 19:35:29 +000042assert unicodedata.mirrored(u'\uFFFE') == 0
43assert unicodedata.mirrored(u'a') == 0
44assert unicodedata.mirrored(u'\u2201') == 1
Guido van Rossumaad67612000-05-08 17:31:04 +000045
Guido van Rossum3e06ab12000-06-29 19:35:29 +000046assert unicodedata.combining(u'\uFFFE') == 0
47assert unicodedata.combining(u'a') == 0
48assert unicodedata.combining(u'\u20e1') == 230
Guido van Rossumaad67612000-05-08 17:31:04 +000049
Guido van Rossumaad67612000-05-08 17:31:04 +000050print 'done.'