Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 1 | """ Test script for the unicodedata module. |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 2 | |
| 3 | Written by Marc-Andre Lemburg (mal@lemburg.com). |
| 4 | |
| 5 | (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. |
| 6 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 7 | """#" |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 8 | from test_support import verbose |
| 9 | import sys |
| 10 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 11 | # Test Unicode database APIs |
| 12 | import unicodedata |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 13 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 14 | print 'Testing unicodedata module...', |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 15 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 16 | assert unicodedata.digit(u'A',None) is None |
| 17 | assert unicodedata.digit(u'9') == 9 |
| 18 | assert unicodedata.digit(u'\u215b',None) is None |
| 19 | assert unicodedata.digit(u'\u2468') == 9 |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 20 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 21 | assert unicodedata.numeric(u'A',None) is None |
| 22 | assert unicodedata.numeric(u'9') == 9 |
| 23 | assert unicodedata.numeric(u'\u215b') == 0.125 |
| 24 | assert unicodedata.numeric(u'\u2468') == 9.0 |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 25 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 26 | assert unicodedata.decimal(u'A',None) is None |
| 27 | assert unicodedata.decimal(u'9') == 9 |
| 28 | assert unicodedata.decimal(u'\u215b',None) is None |
| 29 | assert unicodedata.decimal(u'\u2468',None) is None |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 30 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 31 | assert unicodedata.category(u'\uFFFE') == 'Cn' |
| 32 | assert unicodedata.category(u'a') == 'Ll' |
| 33 | assert unicodedata.category(u'A') == 'Lu' |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 34 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 35 | assert unicodedata.bidirectional(u'\uFFFE') == '' |
| 36 | assert unicodedata.bidirectional(u' ') == 'WS' |
| 37 | assert unicodedata.bidirectional(u'A') == 'L' |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 38 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 39 | assert unicodedata.decomposition(u'\uFFFE') == '' |
| 40 | assert unicodedata.decomposition(u'\u00bc') == '<fraction> 0031 2044 0034' |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 41 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 42 | assert unicodedata.mirrored(u'\uFFFE') == 0 |
| 43 | assert unicodedata.mirrored(u'a') == 0 |
| 44 | assert unicodedata.mirrored(u'\u2201') == 1 |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 45 | |
Guido van Rossum | 3e06ab1 | 2000-06-29 19:35:29 +0000 | [diff] [blame] | 46 | assert unicodedata.combining(u'\uFFFE') == 0 |
| 47 | assert unicodedata.combining(u'a') == 0 |
| 48 | assert unicodedata.combining(u'\u20e1') == 230 |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 49 | |
Guido van Rossum | aad6761 | 2000-05-08 17:31:04 +0000 | [diff] [blame] | 50 | print 'done.' |