%PDF- %PDF-
Direktori : /home/opti/optisoftcom/.cpanm/work/1544535406.20768/Authen-SASL-SASLprep-1.100/t/ |
Current File : /home/opti/optisoftcom/.cpanm/work/1544535406.20768/Authen-SASL-SASLprep-1.100/t/saslprep.t |
# $Id$ use strict; use utf8; use Test::More; use Test::NoWarnings; use Authen::SASL::SASLprep; our @strprep = ( # test vectors from RFC 4013, section 3. # [ "I\x{00AD}X", 'IX', 'SOFT HYPHEN mapped to nothing' ], [ 'user', 'user', 'no transformation' ], [ 'USER', 'USER', 'case preserved, will not match #2' ], [ "\x{00AA}", 'a', 'output is NFKC, input in ISO 8859-1' ], [ "\x{2168}", 'IX', 'output is NFKC, will match #1' ], [ "\x{0007}", undef, 'Error - prohibited character' ], [ "\x{0627}\x{0031}", undef, 'Error - bidirectional check' ], # some more tests # [ 'ÄÖÜß', 'ÄÖÜß', 'German umlaut case preserved' ], [ 'äöüß', 'äöüß', 'German umlaut case preserved' ], [ "\x{A0}", ' ', 'no-break space mapped to ASCII space' ], [ "\x{2009}", ' ', 'thin space mapped to ASCII space' ], [ "\x{3000}", ' ', 'ideographic space mapped to ASCII space' ], [ "\x{A0}\x{2009}\x{3000}", ' ', 'no space collapsing' ], # newly assigned in Unicode 3.2 # [ "\x{2047}", "??", 'Double question mark (added in Unicode 3.2)' ], [ "\x{30FF}", "コト", 'Katakana digraph koto (added in Unicode 3.2)' ], [ "M&\x{20B0}", "M&\x{20B0}", 'German penny sign (added in Unicode 3.2)' ], # unassigned in 3.2 # [ "I\x{0221}", "I\x{0221}", 'Latin small letter d with curl (added in Unicode 4.0)', 1 ], [ "\x{33FF}", "\x{33FF}", 'Square gal (added in Unicode 4.0, would decompose)', 1 ], [ "\x{1F23B}", "\x{1F23B}", 'Squared CJK unified (added in Unicode 9.0, would decompose)', 1 ], [ "\x{E01F8}", "\x{E01F8}", 'U+E01F8 (unassigned as of Unicode 9.0)', 1 ], ); plan tests => ($#strprep+1)*3 + 1; foreach my $test (@strprep) { my ($in,$out,$comment,$has_unassigned) = @{$test}; is(eval{saslprep($in)}, $out, $comment); is(eval{saslprep($in,0)}, $out, $comment.' (query)'); $out = undef if $has_unassigned; is(eval{saslprep($in,1)}, $out, $comment.' (stored)'); }