unicode_joining_type/
lib.rs
1#![no_std]
13
14mod joining_type;
15mod joining_type_tables;
16pub use joining_type::get_joining_type;
17pub use joining_type_tables::JoiningType;
18
19mod joining_group;
20mod joining_group_tables;
21pub use joining_group::get_joining_group;
22pub use joining_group_tables::JoiningGroup;
23
24pub const UNICODE_VERSION: (u64, u64, u64) = (15, 0, 0);
27
28#[cfg(test)]
29mod test {
30 use super::{get_joining_group, get_joining_type, JoiningGroup, JoiningType};
31
32 #[test]
33 fn test_get_joining_type() {
34 assert_eq!(get_joining_type('a'), JoiningType::NonJoining);
35 assert_eq!(get_joining_type('.'), JoiningType::NonJoining);
36 assert_eq!(get_joining_type('カ'), JoiningType::NonJoining);
37 assert_eq!(get_joining_type('🦳'), JoiningType::NonJoining);
38 assert_eq!(get_joining_type('ھ'), JoiningType::DualJoining);
39 assert_eq!(get_joining_type('𐫍'), JoiningType::LeftJoining);
40 assert_eq!(get_joining_type('د'), JoiningType::RightJoining);
41 assert_eq!(get_joining_type('𞥋'), JoiningType::Transparent);
42 assert_eq!(get_joining_type('ـ'), JoiningType::JoinCausing);
43 }
44
45 #[test]
46 fn test_get_joining_group() {
47 assert_eq!(get_joining_group('a'), JoiningGroup::NoJoiningGroup);
48 assert_eq!(get_joining_group('.'), JoiningGroup::NoJoiningGroup);
49 assert_eq!(get_joining_group('カ'), JoiningGroup::NoJoiningGroup);
50 assert_eq!(get_joining_group('🦳'), JoiningGroup::NoJoiningGroup);
51 assert_eq!(get_joining_group('ھ'), JoiningGroup::KnottedHeh);
52 assert_eq!(get_joining_group('𐫍'), JoiningGroup::ManichaeanHeth);
53 assert_eq!(get_joining_group('د'), JoiningGroup::Dal);
54 assert_eq!(get_joining_group('𞥋'), JoiningGroup::NoJoiningGroup);
55 assert_eq!(get_joining_group('ـ'), JoiningGroup::NoJoiningGroup);
56 }
57}