1 2atf_test_case bmpat 3bmpat_head() 4{ 5 atf_set "descr" "Check matching multibyte characters (PR153502)" 6} 7bmpat_body() 8{ 9 export LC_CTYPE="C.UTF-8" 10 11 printf 'é' | atf_check -o "inline:é" \ 12 sed -ne '/^.$/p' 13 printf 'éé' | atf_check -o "inline:éé" \ 14 sed -ne '/^..$/p' 15 printf 'aéa' | atf_check -o "inline:aéa" \ 16 sed -ne '/a.a/p' 17 printf 'aéa'| atf_check -o "inline:aéa" \ 18 sed -ne '/a.*a/p' 19 printf 'aaéaa' | atf_check -o "inline:aaéaa" \ 20 sed -ne '/aa.aa/p' 21 printf 'aéaéa' | atf_check -o "inline:aéaéa" \ 22 sed -ne '/a.a.a/p' 23 printf 'éa' | atf_check -o "inline:éa" \ 24 sed -ne '/.a/p' 25 printf 'aéaa' | atf_check -o "inline:aéaa" \ 26 sed -ne '/a.aa/p' 27 printf 'éaé' | atf_check -o "inline:éaé" \ 28 sed -ne '/.a./p' 29} 30 31atf_test_case icase 32icase_head() 33{ 34 atf_set "descr" "Check case-insensitive matching for characters 128-255" 35} 36icase_body() 37{ 38 export LC_CTYPE="C.UTF-8" 39 40 a=$(printf '\302\265\n') # U+00B5 41 b=$(printf '\316\234\n') # U+039C 42 c=$(printf '\316\274\n') # U+03BC 43 44 echo $b | atf_check -o "inline:$b\n" sed -ne "/$a/Ip" 45 echo $c | atf_check -o "inline:$c\n" sed -ne "/$a/Ip" 46} 47 48atf_init_test_cases() 49{ 50 atf_add_test_case bmpat 51 atf_add_test_case icase 52} 53