seshat-unicode 0.3.1

A Unicode Library for Rust. Unicode 16.0.0 ready. XID_Start and XID_Continue are also available.
Documentation
use seshat::unicode::Segmentation;

#[test]
fn validate_segmentations() {
    let s1 = "";
    let mut iter = s1.break_graphemes();
    assert_eq!(Some(""), iter.next());
    assert_eq!(None, iter.next());

    let s2 = "한글";
    let mut iter = s2.break_graphemes();
    assert_eq!(Some("한"), iter.next());
    assert_eq!(Some("글"), iter.next());
    assert_eq!(None, iter.next());

    let s3 = "👩‍❤️‍👩🏳️‍🌈👨‍❤️‍👨";
    let mut iter = s3.break_graphemes();
    assert_eq!(Some("👩‍❤️‍👩"), iter.next());
    assert_eq!(Some("🏳️‍🌈"), iter.next());
    assert_eq!(Some("👨‍❤️‍👨"), iter.next());
    assert_eq!(None, iter.next());

    let s4 = "🇯🇵🇹🇭!";
    let mut iter = s4.break_graphemes();
    assert_eq!(Some("🇯🇵"), iter.next());
    assert_eq!(Some("🇹🇭"), iter.next());
    assert_eq!(Some("!"), iter.next());
    assert_eq!(None, iter.next());
}