1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
use codepage_437::CP437_WINGDINGS;
#[test]
fn simple() {
assert_eq!(CP437_WINGDINGS.encode('√'), Some(0xFB));
assert_eq!(CP437_WINGDINGS.encode('✓'), Some(0xFB));
assert_eq!(CP437_WINGDINGS.decode(0xFB), '√');
let mut mapping = CP437_WINGDINGS.clone();
mapping.remap(0xFB, '✓');
assert_eq!(mapping.encode('√'), Some(0xFB));
assert_eq!(mapping.encode('✓'), Some(0xFB));
assert_eq!(mapping.decode(0xFB), '✓');
}
#[test]
fn hard() {
assert_eq!(CP437_WINGDINGS.encode('Ź'), None);
assert_eq!(CP437_WINGDINGS.encode('A'), Some(0x41));
assert_eq!(CP437_WINGDINGS.decode(0x41), 'A');
let mut mapping = CP437_WINGDINGS.clone();
mapping.remap(0x41, 'Ź');
assert_eq!(mapping.encode('Ź'), Some(0x41));
assert_eq!(mapping.encode('A'), Some(0x41)); // NB: still holds
assert_eq!(mapping.decode(0x41), 'Ź');
}
#[test]
fn double() {
assert_eq!(CP437_WINGDINGS.encode('Ź'), None);
assert_eq!(CP437_WINGDINGS.encode('A'), Some(0x41));
assert_eq!(CP437_WINGDINGS.encode('√'), Some(0xFB));
assert_eq!(CP437_WINGDINGS.encode('✓'), Some(0xFB));
assert_eq!(CP437_WINGDINGS.decode(0x41), 'A');
assert_eq!(CP437_WINGDINGS.decode(0xFB), '√');
let mut mapping = CP437_WINGDINGS.clone();
mapping.remap(0x41, 'Ź');
mapping.remap(0xFB, '✓');
assert_eq!(mapping.encode('Ź'), Some(0x41));
assert_eq!(mapping.encode('A'), Some(0x41)); // NB: still holds
assert_eq!(mapping.encode('√'), Some(0xFB));
assert_eq!(mapping.encode('✓'), Some(0xFB));
assert_eq!(mapping.decode(0x41), 'Ź');
assert_eq!(mapping.decode(0xFB), '✓');
}
|