summaryrefslogtreecommitdiffstats
path: root/vendor/unicode-properties/tests/emoji.rs
blob: 9a512ee36e02dfbbc1cf787155c2254813bfccaa (plain)
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
#![cfg(feature = "emoji")]

#[test]
fn all_ascii_are_either_nonemoji_or_emojiother() {
    use unicode_properties::EmojiStatus;
    use unicode_properties::UnicodeEmoji;
    for i in 0u8..=255u8 {
        let c = i as char;
        let s = c.emoji_status();
        assert!(matches!(
            s,
            EmojiStatus::NonEmoji
                | EmojiStatus::EmojiOther
                | EmojiStatus::EmojiOtherAndEmojiComponent
        ))
    }
}

#[test]
fn emoji_test() {
    use std::ops::Not;
    use unicode_properties::EmojiStatus;
    use unicode_properties::UnicodeEmoji;
    assert_eq!('🦀'.emoji_status(), EmojiStatus::EmojiPresentation);
    assert!('🦀'.is_emoji_char());
    assert!('🦀'.is_emoji_component().not());
    assert!('🦀'.is_emoji_char_or_emoji_component());
}