/
55_super_strict.t
40 lines (33 loc) · 1.16 KB
/
55_super_strict.t
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
29
30
31
32
33
34
35
36
37
38
39
40
use v6.c;
use Test;
use I18N::LangTags;
my $in = q:to/END/;
NIX => NIX
sv => sv
en => en
hai => hai
pt-br => pt-br pt
pt-br fr => pt-br fr pt
pt-br fr pt => pt-br fr pt
pt-br fr pt de => pt-br fr pt de
de pt-br fr pt => de pt-br fr pt
de pt-br fr => de pt-br fr pt
hai pt-br fr => hai pt-br fr pt
# Now test multi-part complicateds:
pt-br-janeiro fr => pt-br-janeiro fr pt-br pt
pt-br-janeiro de fr => pt-br-janeiro de fr pt-br pt
pt-br-janeiro de pt fr => pt-br-janeiro de pt fr pt-br
ja pt-br-janeiro fr => ja pt-br-janeiro fr pt-br pt
ja pt-br-janeiro de fr => ja pt-br-janeiro de fr pt-br pt
ja pt-br-janeiro de pt fr => ja pt-br-janeiro de pt fr pt-br
pt-br-janeiro de pt-br fr => pt-br-janeiro de pt-br fr pt
# an odd case, since we don't filter for uniqueness in this sub
END
for $in.lines.grep(*.so) -> $line {
next unless $line ~~ m/ ^ \s* (.*?) \s* '=>' \s* (.*?) \s* $ /;
my @in = $/[0].Str.comb( /[<alnum>||'-']+/ );
my @should = $/[1].Str.comb( /[<alnum>||'-']+/ );
my @out = implicate_supers_strictly(|@in);
exit unless is-deeply @out, @should, "implicate_supers_strictly for {@in}";
}
done-testing;