Skip to content

Commit 1c498de

Browse files
committed
uniprop: add tests for the last three NF*_Quick_Check props
NFD_Quick_Check NFKC_Quick_Check NFKD_Quick_Check We now cover all properties in the 'Enumerated Values' category.
1 parent a26b352 commit 1c498de

File tree

1 file changed

+29
-8
lines changed

1 file changed

+29
-8
lines changed

S15-unicode-information/uniprop.t

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use v6;
22

33
use Test;
44

5-
plan 118;
5+
plan 125;
66

77
#use unicode :v(6.3);
88

@@ -16,26 +16,33 @@ plan 118;
1616

1717
## Numeric [2/4]
1818
# Numeric_Value, Numeric_Type
19+
1920
## String [5/12]
2021
# Lowercase_Mapping, Uppercase_Mapping, Titlecase_Mapping, Case_Folding
21-
## Miscellaneous Properties [4/19]
22-
# Unicode_1_Name, Name, Jamo_Short_Name, ISO_Comment
22+
23+
## Miscellaneous Properties [5/19]
24+
# Unicode_1_Name, Name, Jamo_Short_Name, ISO_Comment, Bidi_Mirroring_Glyph
2325
## Binary [24/60]
2426
# ASCII_Hex_Digit, Hex_Digit, Dash, Case_Ignorable, Soft_Dotted, Quotation_Mark, Math
2527
# Grapheme_Extend, Hyphen, Extender, Grapheme_Base, Join_Control, Grapheme_Link
2628
# Deprecated, White_Space, Ideographic, Radical, Alphabetic, Bidi_Mirrored, Variation_Selector
2729
# ID_Continue, Sentence_Terminal, Changes_When_NFKC_Casefolded, Full_Composition_Exclusion
30+
2831
## Catalog Properties [3/3]
2932
# Script, Age, Block
30-
## Enum [16/20]
31-
# Bidi_Paired_Bracket, Bidi_Paired_Bracket_Type, Bidi_Mirroring_Glyph, Bidi_Class East_Asian_Width
32-
# Word_Break, Line_Break, Hangul_Syllable_Type, Indic_Positional_Category, Grapheme_Cluster_Break
33-
# General_Category, Joining_Group, Joining_Type, Sentence_Break, Decomposition_Type, NFC_Quick_Check
33+
34+
## Enum [20/20]
35+
# Bidi_Class, Bidi_Paired_Bracket_Type, Bidi_Paired_Bracket, Canonical_Combining_Class,
36+
# Decomposition_Type, , East_Asian_Width, General_Category, Grapheme_Cluster_Break,
37+
# Hangul_Syllable_Type, Indic_Positional_Category, Indic_Syllabic_Category, Joining_Group
38+
# Joining_Type, Line_Break, NFC_Quick_Check, NFD_Quick_Check, NFKC_Quick_Check, NFKD_Quick_Check,
39+
# Sentence_Break, Word_Break
40+
3441
## Additional [4/?]
3542
# Emoji, Emoji_Modifier, Emoji_All, Emoji_Presentation
3643

3744

38-
#?niecza 118 skip "uniprop NYI"
45+
#?niecza 125 skip "uniprop NYI"
3946
is uniprop(""), Nil, "uniprop an empty string yields Nil";
4047
is "".uniprop, Nil, "''.uniprop yields Nil";
4148
throws-like "uniprop Str", X::Multi::NoMatch, 'cannot call uniprop with a Str';
@@ -187,6 +194,20 @@ is 'Ö'.uniprop('Decomposition_Type'), 'Canonical', 'uniprop for Decomposition_T
187194
is ''.uniprop('NFC_Quick_Check'), 'M', 'uniprop for NFC_Quick_Check returns M for ‘Maybe’ value codes';
188195
is ''.uniprop('NFC_Quick_Check'), 'Y', 'uniprop for NFC_Quick_Check returns Y for ‘Yes’ value codes';
189196
is 0x0374.uniprop('NFC_Quick_Check'), 'N', 'uniprop for NFC_Quick_Check returns N for ‘No’ value codes';
197+
#?rakudo.moar 6 todo "NFD_Quick_Check NFKC_Quick_Check NFKD_Quick_Check NYI in MoarVM"
198+
# https://github.com/MoarVM/MoarVM/issues/467
199+
is 0x3094.uniprop('NFD_Quick_Check'), False, 'uniprop for NFD_Quick_Check returns False for codes without this property';
200+
is 'a'.uniprop('NFD_Quick_Check'), True, 'uniprop for NFD_Quick_Check returns True for codes with this property';
201+
202+
is 0x00A0.uniprop('NFKC_Quick_Check'), False, 'uniprop for NFKC_Quick_Check returns False for codes without this property';
203+
is 'a'.uniprop('NFKC_Quick_Check'), True, 'uniprop for NFKC_Quick_Check returns True for codes with this property';
204+
205+
is 0x00A0.uniprop('NFKD_Quick_Check'), False, 'uniprop for NFKD_Quick_Check returns False for codes without this property';
206+
is 'a'.uniprop('NFKD_Quick_Check'), True, 'uniprop for NFKD_Quick_Check returns True for codes with this property';
207+
208+
#?rakudo.moar todo "Indic_Syllabic_Category NYI in MoarVM"
209+
# https://github.com/MoarVM/MoarVM/issues/466
210+
is 0x0374.uniprop('Indic_Syllabic_Category'), 'Bindu', 'uniprop for Indic_Syllabic_Category returns N for ‘No’ value codes';
190211
#?rakudo.moar todo "MoarVM returns only int's but not Canonical_Combining_Class's string value"
191212
# https://github.com/MoarVM/MoarVM/issues/464
192213
is ' '.uniprop('Canonical_Combining_Class'), 'Not_Reordered', "uniprop for Canonical_Combining_Class works";

0 commit comments

Comments
 (0)