rustc/vendor/unicode-properties-0.1.3/tests/emoji.rs
2025-01-11 15:57:26 +01:00

29 lines
800 B
Rust

#![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());
}