mat!(uni_literal, r"☃", "☃", Some((0, 3)));
mat!(uni_literal_plus, r"☃+", "☃", Some((0, 3)));
mat!(uni_literal_casei_plus, r"(?i)☃+", "☃", Some((0, 3)));
mat!(uni_class_plus, r"[☃Ⅰ]+", "☃", Some((0, 3)));
mat!(uni_one, r"\pN", "Ⅰ", Some((0, 3)));
mat!(uni_mixed, r"\pN+", "Ⅰ1Ⅱ2", Some((0, 8)));
mat!(uni_not, r"\PN+", "abⅠ", Some((0, 2)));
mat!(uni_not_class, r"[\PN]+", "abⅠ", Some((0, 2)));
mat!(uni_not_class_neg, r"[^\PN]+", "abⅠ", Some((2, 5)));
mat!(uni_case, r"(?i)Δ", "δ", Some((0, 2)));
mat!(uni_case_upper, r"\p{Lu}+", "ΛΘΓΔα", Some((0, 8)));
mat!(uni_case_upper_nocase_flag, r"(?i)\p{Lu}+", "ΛΘΓΔα", Some((0, 10)));
mat!(uni_case_upper_nocase, r"\p{L}+", "ΛΘΓΔα", Some((0, 10)));
mat!(uni_case_lower, r"\p{Ll}+", "ΛΘΓΔα", Some((8, 10)));

// Test the Unicode friendliness of Perl character classes.
mat!(uni_perl_w, r"\w+", "dδd", Some((0, 4)));
mat!(uni_perl_w_not, r"\w+", "⥡", None);
mat!(uni_perl_w_neg, r"\W+", "⥡", Some((0, 3)));
mat!(uni_perl_d, r"\d+", "1२३9", Some((0, 8)));
mat!(uni_perl_d_not, r"\d+", "Ⅱ", None);
mat!(uni_perl_d_neg, r"\D+", "Ⅱ", Some((0, 3)));
mat!(uni_perl_s, r"\s+", " ", Some((0, 3)));
mat!(uni_perl_s_not, r"\s+", "☃", None);
mat!(uni_perl_s_neg, r"\S+", "☃", Some((0, 3)));

// And do the same for word boundaries.
mat!(uni_boundary_none, r"\d\b", "6δ", None);
mat!(uni_boundary_ogham, r"\d\b", "6 ", Some((0, 1)));
mat!(uni_not_boundary_none, r"\d\B", "6δ", Some((0, 1)));
mat!(uni_not_boundary_ogham, r"\d\B", "6 ", None);

// Test general categories.
//
// We should test more, but there's a lot. Write a script to generate more of
// these tests.
mat!(uni_class_gencat_cased_letter, r"\p{Cased_Letter}", "Ａ", Some((0, 3)));
mat!(
    uni_class_gencat_close_punctuation,
    r"\p{Close_Punctuation}",
    "❯",
    Some((0, 3))
);
mat!(
    uni_class_gencat_connector_punctuation,
    r"\p{Connector_Punctuation}",
    "⁀",
    Some((0, 3))
);
mat!(uni_class_gencat_control, r"\p{Control}", "\u{9f}", Some((0, 2)));
mat!(
    uni_class_gencat_currency_symbol,
    r"\p{Currency_Symbol}",
    "￡",
    Some((0, 3))
);
mat!(
    uni_class_gencat_dash_punctuation,
    r"\p{Dash_Punctuation}",
    "〰",
    Some((0, 3))
);
mat!(uni_class_gencat_decimal_numer, r"\p{Decimal_Number}", "𑓙", Some((0, 4)));
mat!(
    uni_class_gencat_enclosing_mark,
    r"\p{Enclosing_Mark}",
    "\u{A672}",
    Some((0, 3))
);
mat!(
    uni_class_gencat_final_punctuation,
    r"\p{Final_Punctuation}",
    "⸡",
    Some((0, 3))
);
mat!(uni_class_gencat_format, r"\p{Format}", "\u{E007F}", Some((0, 4)));
mat!(
    uni_class_gencat_initial_punctuation,
    r"\p{Initial_Punctuation}",
    "⸜",
    Some((0, 3))
);
mat!(uni_class_gencat_letter, r"\p{Letter}", "Έ", Some((0, 2)));
mat!(uni_class_gencat_letter_number, r"\p{Letter_Number}", "ↂ", Some((0, 3)));
mat!(
    uni_class_gencat_line_separator,
    r"\p{Line_Separator}",
    "\u{2028}",
    Some((0, 3))
);
mat!(
    uni_class_gencat_lowercase_letter,
    r"\p{Lowercase_Letter}",
    "ϛ",
    Some((0, 2))
);
mat!(uni_class_gencat_mark, r"\p{Mark}", "\u{E01EF}", Some((0, 4)));
mat!(uni_class_gencat_math, r"\p{Math}", "⋿", Some((0, 3)));
mat!(
    uni_class_gencat_modifier_letter,
    r"\p{Modifier_Letter}",
    "𖭃",
    Some((0, 4))
);
mat!(
    uni_class_gencat_modifier_symbol,
    r"\p{Modifier_Symbol}",
    "🏿",
    Some((0, 4))
);
mat!(
    uni_class_gencat_nonspacing_mark,
    r"\p{Nonspacing_Mark}",
    "\u{1E94A}",
    Some((0, 4))
);
mat!(uni_class_gencat_number, r"\p{Number}", "⓿", Some((0, 3)));
mat!(
    uni_class_gencat_open_punctuation,
    r"\p{Open_Punctuation}",
    "｟",
    Some((0, 3))
);
mat!(uni_class_gencat_other, r"\p{Other}", "\u{bc9}", Some((0, 3)));
mat!(uni_class_gencat_other_letter, r"\p{Other_Letter}", "ꓷ", Some((0, 3)));
mat!(uni_class_gencat_other_number, r"\p{Other_Number}", "㉏", Some((0, 3)));
mat!(
    uni_class_gencat_other_punctuation,
    r"\p{Other_Punctuation}",
    "𞥞",
    Some((0, 4))
);
mat!(uni_class_gencat_other_symbol, r"\p{Other_Symbol}", "⅌", Some((0, 3)));
mat!(
    uni_class_gencat_paragraph_separator,
    r"\p{Paragraph_Separator}",
    "\u{2029}",
    Some((0, 3))
);
mat!(
    uni_class_gencat_private_use,
    r"\p{Private_Use}",
    "\u{10FFFD}",
    Some((0, 4))
);
mat!(uni_class_gencat_punctuation, r"\p{Punctuation}", "𑁍", Some((0, 4)));
mat!(uni_class_gencat_separator, r"\p{Separator}", "\u{3000}", Some((0, 3)));
mat!(
    uni_class_gencat_space_separator,
    r"\p{Space_Separator}",
    "\u{205F}",
    Some((0, 3))
);
mat!(
    uni_class_gencat_spacing_mark,
    r"\p{Spacing_Mark}",
    "\u{16F7E}",
    Some((0, 4))
);
mat!(uni_class_gencat_symbol, r"\p{Symbol}", "⯈", Some((0, 3)));
mat!(
    uni_class_gencat_titlecase_letter,
    r"\p{Titlecase_Letter}",
    "ῼ",
    Some((0, 3))
);
mat!(
    uni_class_gencat_unassigned,
    r"\p{Unassigned}",
    "\u{10FFFF}",
    Some((0, 4))
);
mat!(
    uni_class_gencat_uppercase_letter,
    r"\p{Uppercase_Letter}",
    "Ꝋ",
    Some((0, 3))
);

// Test a smattering of properties.
mat!(uni_class_prop_emoji1, r"\p{Emoji}", "\u{23E9}", Some((0, 3)));
mat!(uni_class_prop_emoji2, r"\p{emoji}", "\u{1F21A}", Some((0, 4)));
mat!(
    uni_class_prop_picto1,
    r"\p{extendedpictographic}",
    "\u{1FA6E}",
    Some((0, 4))
);
mat!(
    uni_class_prop_picto2,
    r"\p{extendedpictographic}",
    "\u{1FFFD}",
    Some((0, 4))
);

// grapheme_cluster_break
mat!(
    uni_class_gcb_prepend,
    r"\p{grapheme_cluster_break=prepend}",
    "\u{11D46}",
    Some((0, 4))
);
mat!(
    uni_class_gcb_ri1,
    r"\p{gcb=regional_indicator}",
    "\u{1F1E6}",
    Some((0, 4))
);
mat!(uni_class_gcb_ri2, r"\p{gcb=ri}", "\u{1F1E7}", Some((0, 4)));
mat!(
    uni_class_gcb_ri3,
    r"\p{gcb=regionalindicator}",
    "\u{1F1FF}",
    Some((0, 4))
);
mat!(uni_class_gcb_lvt, r"\p{gcb=lvt}", "\u{C989}", Some((0, 3)));
mat!(uni_class_gcb_zwj, r"\p{gcb=zwj}", "\u{200D}", Some((0, 3)));

// word_break
mat!(uni_class_wb1, r"\p{word_break=Hebrew_Letter}", "\u{FB46}", Some((0, 3)));
mat!(uni_class_wb2, r"\p{wb=hebrewletter}", "\u{FB46}", Some((0, 3)));
mat!(uni_class_wb3, r"\p{wb=ExtendNumLet}", "\u{FF3F}", Some((0, 3)));
mat!(uni_class_wb4, r"\p{wb=WSegSpace}", "\u{3000}", Some((0, 3)));
mat!(uni_class_wb5, r"\p{wb=numeric}", "\u{1E950}", Some((0, 4)));

// sentence_break
mat!(uni_class_sb1, r"\p{sentence_break=Lower}", "\u{0469}", Some((0, 2)));
mat!(uni_class_sb2, r"\p{sb=lower}", "\u{0469}", Some((0, 2)));
mat!(uni_class_sb3, r"\p{sb=Close}", "\u{FF60}", Some((0, 3)));
mat!(uni_class_sb4, r"\p{sb=Close}", "\u{1F677}", Some((0, 4)));
mat!(uni_class_sb5, r"\p{sb=SContinue}", "\u{FF64}", Some((0, 3)));
