3 unless ("A" eq pack('U', 0x41)) {
4 print "1..0 # Unicode::Collate " .
5 "cannot stringify a Unicode code point\n";
10 @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
16 BEGIN { $| = 1; print "1..81\n"; }
19 my $p = my $r = shift;
22 $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
24 print $p ? "ok" : "not ok", ' ', ++$count, "\n";
27 use Unicode::Collate::Locale;
31 #########################
33 my $objFa = Unicode::Collate::Locale->
34 new(locale => 'FA', normalization => undef);
36 ok($objFa->getlocale, 'fa');
38 $objFa->change(level => 1);
40 ok($objFa->lt("\x{622}", "\x{627}"));
41 ok($objFa->lt("\x{627}", "\x{621}"));
42 ok($objFa->lt("\x{621}", "\x{66E}"));
44 ok($objFa->lt("\x{6CF}", "\x{647}"));
45 ok($objFa->lt("\x{647}", "\x{778}"));
49 ok($objFa->eq("\x{64E}", "\x{650}"));
50 ok($objFa->eq("\x{650}", "\x{64F}"));
51 ok($objFa->eq("\x{64F}", "\x{64B}"));
52 ok($objFa->eq("\x{64B}", "\x{64D}"));
53 ok($objFa->eq("\x{64D}", "\x{64C}"));
55 ok($objFa->eq("\x{627}", "\x{671}"));
57 ok($objFa->eq("\x{621}", "\x{623}"));
58 ok($objFa->eq("\x{623}", "\x{672}"));
59 ok($objFa->eq("\x{672}", "\x{625}"));
60 ok($objFa->eq("\x{625}", "\x{673}"));
61 ok($objFa->eq("\x{673}", "\x{624}"));
62 ok($objFa->eq("\x{624}", "\x{6CC}\x{654}"));
64 ok($objFa->eq("\x{6A9}", "\x{6AA}"));
65 ok($objFa->eq("\x{6AA}", "\x{6AB}"));
66 ok($objFa->eq("\x{6AB}", "\x{643}"));
67 ok($objFa->eq("\x{643}", "\x{6AC}"));
68 ok($objFa->eq("\x{6AC}", "\x{6AD}"));
69 ok($objFa->eq("\x{6AD}", "\x{6AE}"));
71 ok($objFa->eq("\x{647}", "\x{6D5}"));
72 ok($objFa->eq("\x{6D5}", "\x{6C1}"));
73 ok($objFa->eq("\x{6C1}", "\x{629}"));
74 ok($objFa->eq("\x{629}", "\x{6C3}"));
75 ok($objFa->eq("\x{6C3}", "\x{6C0}"));
76 ok($objFa->eq("\x{6C0}", "\x{6BE}"));
78 ok($objFa->eq("\x{6CC}", "\x{649}"));
79 ok($objFa->eq("\x{649}", "\x{6D2}"));
80 ok($objFa->eq("\x{6D2}", "\x{64A}"));
81 ok($objFa->eq("\x{64A}", "\x{6D0}"));
82 ok($objFa->eq("\x{6D0}", "\x{6D1}"));
83 ok($objFa->eq("\x{6D1}", "\x{6CD}"));
84 ok($objFa->eq("\x{6CD}", "\x{6CE}"));
88 $objFa->change(level => 2);
90 ok($objFa->lt("\x{64E}", "\x{650}"));
91 ok($objFa->lt("\x{650}", "\x{64F}"));
92 ok($objFa->lt("\x{64F}", "\x{64B}"));
93 ok($objFa->lt("\x{64B}", "\x{64D}"));
94 ok($objFa->lt("\x{64D}", "\x{64C}"));
96 ok($objFa->lt("\x{627}", "\x{671}"));
98 ok($objFa->lt("\x{621}", "\x{623}"));
99 ok($objFa->lt("\x{623}", "\x{672}"));
100 ok($objFa->lt("\x{672}", "\x{625}"));
101 ok($objFa->lt("\x{625}", "\x{673}"));
102 ok($objFa->lt("\x{673}", "\x{624}"));
103 ok($objFa->lt("\x{624}", "\x{6CC}\x{654}"));
105 ok($objFa->lt("\x{6A9}", "\x{6AA}"));
106 ok($objFa->lt("\x{6AA}", "\x{6AB}"));
107 ok($objFa->lt("\x{6AB}", "\x{643}"));
108 ok($objFa->lt("\x{643}", "\x{6AC}"));
109 ok($objFa->lt("\x{6AC}", "\x{6AD}"));
110 ok($objFa->lt("\x{6AD}", "\x{6AE}"));
112 ok($objFa->lt("\x{647}", "\x{6D5}"));
113 ok($objFa->lt("\x{6D5}", "\x{6C1}"));
114 ok($objFa->lt("\x{6C1}", "\x{629}"));
115 ok($objFa->lt("\x{629}", "\x{6C3}"));
116 ok($objFa->lt("\x{6C3}", "\x{6C0}"));
117 ok($objFa->lt("\x{6C0}", "\x{6BE}"));
119 ok($objFa->lt("\x{6CC}", "\x{649}"));
120 ok($objFa->lt("\x{649}", "\x{6D2}"));
121 ok($objFa->lt("\x{6D2}", "\x{64A}"));
122 ok($objFa->lt("\x{64A}", "\x{6D0}"));
123 ok($objFa->lt("\x{6D0}", "\x{6D1}"));
124 ok($objFa->lt("\x{6D1}", "\x{6CD}"));
125 ok($objFa->lt("\x{6CD}", "\x{6CE}"));
129 ok($objFa->eq("\x{6CC}\x{654}", "\x{649}\x{654}"));
130 ok($objFa->eq("\x{649}\x{654}", "\x{626}"));
134 $objFa->change(level => 3);
136 ok($objFa->lt("\x{6CC}\x{654}", "\x{649}\x{654}"));
137 ok($objFa->lt("\x{649}\x{654}", "\x{626}"));
141 ok($objFa->eq("\x{622}", "\x{627}\x{653}"));
142 ok($objFa->eq("\x{623}", "\x{627}\x{654}"));
143 ok($objFa->eq("\x{625}", "\x{627}\x{655}"));
144 ok($objFa->eq("\x{624}", "\x{648}\x{654}"));
145 ok($objFa->eq("\x{626}", "\x{64A}\x{654}"));
146 ok($objFa->eq("\x{6C2}", "\x{6C1}\x{654}"));
147 ok($objFa->eq("\x{6C0}", "\x{6D5}\x{654}"));
148 ok($objFa->eq("\x{6D3}", "\x{6D2}\x{654}"));