1#!./perl -w 2 3BEGIN { 4 require './test.pl'; 5 skip_all_without_dynamic_extension('Encode'); 6 skip_all("EBCDIC") if $::IS_EBCDIC; 7 skip_all_without_perlio(); 8} 9 10plan tests => 72; 11 12no warnings 'deprecated'; 13use encoding "greek"; # iso 8859-7 14 15# U+0391, \xC1, \301, GREEK CAPITAL LETTER ALPHA 16# U+03B1, \xE1, \341, GREEK SMALL LETTER ALPHA 17 18ok("\xC1" =~ /\xC1/, '\xC1 to /\xC1/'); 19ok("\x{391}" =~ /\xC1/, '\x{391} to /\xC1/'); 20ok("\xC1" =~ /\x{C1}/, '\xC1 to /\x{C1}/'); 21ok("\x{391}" =~ /\x{C1}/, '\x{391} to /\x{C1}/'); 22ok("\xC1" =~ /\301/, '\xC1 to /\301/'); 23ok("\x{391}" =~ /\301/, '\x{391} to /\301/'); 24ok("\xC1" =~ /\x{391}/, '\xC1 to /\x{391}/'); 25ok("\x{391}" =~ /\x{391}/, '\x{391} to /\x{391}/'); 26 27ok("\xC1" =~ /\xC1/i, '\xC1 to /\xC1/i'); 28ok("\xE1" =~ /\xC1/i, '\xE1 to /\xC1/i'); 29ok("\xC1" =~ /\xE1/i, '\xC1 to /\xE1/i'); 30ok("\xE1" =~ /\xE1/i, '\xE1 to /\xE1/i'); 31ok("\xC1" =~ /\x{391}/i, '\xC1 to /\x{391}/i'); 32ok("\xE1" =~ /\x{391}/i, '\xE1 to /\x{391}/i'); 33ok("\xC1" =~ /\x{3B1}/i, '\xC1 to /\x{3B1}/i'); 34ok("\xE1" =~ /\x{3B1}/i, '\xE1 to /\x{3B1}/i'); 35 36ok("\xC1" =~ /[\xC1]/, '\xC1 to /[\xC1]/'); 37ok("\x{391}" =~ /[\xC1]/, '\x{391} to /[\xC1]/'); 38ok("\xC1" =~ /[\x{C1}]/, '\xC1 to /[\x{C1}]/'); 39ok("\x{391}" =~ /[\x{C1}]/, '\x{391} to /[\x{C1}]/'); 40ok("\xC1" =~ /[\301]/, '\xC1 to /[\301]/'); 41ok("\x{391}" =~ /[\301]/, '\x{391} to /[\301]/'); 42ok("\xC1" =~ /[\x{391}]/, '\xC1 to /[\x{391}]/'); 43ok("\x{391}" =~ /[\x{391}]/, '\x{391} to /[\x{391}]/'); 44 45ok("\xC1" =~ /[\xC1]/i, '\xC1 to /[\xC1]/i'); 46ok("\xE1" =~ /[\xC1]/i, '\xE1 to /[\xC1]/i'); 47ok("\xC1" =~ /[\xE1]/i, '\xC1 to /[\xE1]/i'); 48ok("\xE1" =~ /[\xE1]/i, '\xE1 to /[\xE1]/i'); 49ok("\xC1" =~ /[\x{391}]/i, '\xC1 to /[\x{391}]/i'); 50ok("\xE1" =~ /[\x{391}]/i, '\xE1 to /[\x{391}]/i'); 51ok("\xC1" =~ /[\x{3B1}]/i, '\xC1 to /[\x{3B1}]/i'); 52ok("\xE1" =~ /[\x{3B1}]/i, '\xE1 to /[\x{3B1}]/i'); 53 54ok("\xC1" =~ '\xC1', '\xC1 to \'\xC1\''); 55ok("\xC1" =~ '\x{C1}', '\xC1 to \'\x{C1}\''); 56ok("\xC1" =~ '\301', '\xC1 to \'\301\''); 57ok("\xC1" =~ '\x{391}', '\xC1 to \'\x{391}\''); 58ok("\xC1" =~ '[\xC1]', '\xC1 to \'[\xC1]\''); 59ok("\xC1" =~ '[\x{C1}]', '\xC1 to \'[\x{C1}]\''); 60ok("\xC1" =~ '[\301]', '\xC1 to \'[\301]\''); 61ok("\xC1" =~ '[\x{391}]', '\xC1 to \'[\x{391}]\''); 62 63ok("\xC1" =~ /�/, '\xC1 to /<ALPHA>/'); 64ok("\xE1" !~ /�/, '\xE1 to /<ALPHA>/'); 65ok("\xC1" =~ /�/i, '\xC1 to /<ALPHA>/i'); 66ok("\xE1" =~ /�/i, '\xE1 to /<ALPHA>/i'); 67ok("\xC1" =~ /[�]/, '\xC1 to /[<ALPHA>]/'); 68ok("\xE1" !~ /[�]/, '\xE1 to /[<ALPHA>]/'); 69ok("\xC1" =~ /[�]/i, '\xC1 to /[<ALPHA>]/i'); 70ok("\xE1" =~ /[�]/i, '\xE1 to /[<ALPHA>]/i'); 71 72ok("\xC1\xC1" =~ /�\xC1/, '\xC1\xC1 to /<ALPHA>\xC1/'); 73ok("\xC1\xC1" =~ /\xC1�/, '\xC1\xC1 to /\xC1<ALPHA>/'); 74ok("\xC1\xC1" =~ /�\xC1/i, '\xC1\xC1 to /<ALPHA>\xC1/i'); 75ok("\xC1\xC1" =~ /\xC1�/i, '\xC1\xC1 to /\xC1<ALPHA>/i'); 76ok("\xC1\xE1" =~ /�\xC1/i, '\xC1\xE1 to /<ALPHA>\xC1/i'); 77ok("\xC1\xE1" =~ /\xC1�/i, '\xC1\xE1 to /\xC1<ALPHA>/i'); 78ok("\xE1\xE1" =~ /�\xC1/i, '\xE1\xE1 to /<ALPHA>\xC1/i'); 79ok("\xE1\xE1" =~ /\xC1�/i, '\xE1\xE1 to /\xC1<ALPHA>/i'); 80 81# U+038A, \xBA, GREEK CAPITAL LETTER IOTA WITH TONOS 82# U+03AF, \xDF, GREEK SMALL LETTER IOTA WITH TONOS 83 84ok("\x{38A}" =~ /\xBA/, '\x{38A} to /\xBA/'); 85ok("\x{38A}" !~ /\xDF/, '\x{38A} to /\xDF/'); 86ok("\x{38A}" =~ /\xBA/i, '\x{38A} to /\xBA/i'); 87ok("\x{38A}" =~ /\xDF/i, '\x{38A} to /\xDF/i'); 88ok("\x{38A}" =~ /[\xBA]/, '\x{38A} to /[\xBA]/'); 89ok("\x{38A}" !~ /[\xDF]/, '\x{38A} to /[\xDF]/'); 90ok("\x{38A}" =~ /[\xBA]/i, '\x{38A} to /[\xBA]/i'); 91ok("\x{38A}" =~ /[\xDF]/i, '\x{38A} to /[\xDF]/i'); 92 93# \xDF is not LATIN SMALL LETTER SHARP S 94 95ok("SS" !~ /\xDF/i, 'SS to /\xDF/i'); 96ok("Ss" !~ /\xDF/i, 'Ss to /\xDF/i'); 97ok("sS" !~ /\xDF/i, 'sS to /\xDF/i'); 98ok("ss" !~ /\xDF/i, 'ss to /\xDF/i'); 99ok("SS" !~ /�/i, 'SS to /<iota-tonos>/i'); 100ok("Ss" !~ /�/i, 'Ss to /<iota-tonos>/i'); 101ok("sS" !~ /�/i, 'sS to /<iota-tonos>/i'); 102ok("ss" !~ /�/i, 'ss to /<iota-tonos>/i'); 103 104