]>
Commit | Line | Data |
---|---|---|
5c1ebcca NTND |
1 | #!/bin/sh |
2 | ||
3 | test_description='grep icase on non-English locales' | |
4 | ||
5 | . ./lib-gettext.sh | |
6 | ||
7 | test_expect_success GETTEXT_LOCALE 'setup' ' | |
8 | test_write_lines "TILRAUN: Halló Heimur!" >file && | |
9 | git add file && | |
10 | LC_ALL="$is_IS_locale" && | |
11 | export LC_ALL | |
12 | ' | |
13 | ||
14 | test_have_prereq GETTEXT_LOCALE && | |
9038531f | 15 | test-tool regex "HALLÓ" "Halló" ICASE && |
5c1ebcca NTND |
16 | test_set_prereq REGEX_LOCALE |
17 | ||
18 | test_expect_success REGEX_LOCALE 'grep literal string, no -F' ' | |
19 | git grep -i "TILRAUN: Halló Heimur!" && | |
20 | git grep -i "TILRAUN: HALLÓ HEIMUR!" | |
21 | ' | |
22 | ||
3eb585c1 | 23 | test_expect_success GETTEXT_LOCALE,PCRE 'grep pcre utf-8 icase' ' |
18547aac NTND |
24 | git grep --perl-regexp "TILRAUN: H.lló Heimur!" && |
25 | git grep --perl-regexp -i "TILRAUN: H.lló Heimur!" && | |
26 | git grep --perl-regexp -i "TILRAUN: H.LLÓ HEIMUR!" | |
27 | ' | |
28 | ||
3eb585c1 | 29 | test_expect_success GETTEXT_LOCALE,PCRE 'grep pcre utf-8 string with "+"' ' |
18547aac NTND |
30 | test_write_lines "TILRAUN: Hallóó Heimur!" >file2 && |
31 | git add file2 && | |
32 | git grep -l --perl-regexp "TILRAUN: H.lló+ Heimur!" >actual && | |
33 | echo file >expected && | |
34 | echo file2 >>expected && | |
35 | test_cmp expected actual | |
36 | ' | |
37 | ||
793dc676 | 38 | test_expect_success REGEX_LOCALE 'grep literal string, with -F' ' |
e01b4dab ÆAB |
39 | git grep -i -F "TILRAUN: Halló Heimur!" && |
40 | git grep -i -F "TILRAUN: HALLÓ HEIMUR!" | |
793dc676 NTND |
41 | ' |
42 | ||
43 | test_expect_success REGEX_LOCALE 'grep string with regex, with -F' ' | |
e01b4dab ÆAB |
44 | test_write_lines "TILRAUN: Halló Heimur [abc]!" >file3 && |
45 | git add file3 && | |
46 | git grep -i -F "TILRAUN: Halló Heimur [abc]!" file3 | |
793dc676 NTND |
47 | ' |
48 | ||
b51a9c14 NTND |
49 | test_expect_success REGEX_LOCALE 'pickaxe -i on non-ascii' ' |
50 | git commit -m first && | |
51 | git log --format=%f -i -S"TILRAUN: HALLÓ HEIMUR!" >actual && | |
52 | echo first >expected && | |
53 | test_cmp expected actual | |
54 | ' | |
55 | ||
8a599983 ÆAB |
56 | test_expect_success GETTEXT_LOCALE,LIBPCRE2 'PCRE v2: setup invalid UTF-8 data' ' |
57 | printf "\\200\\n" >invalid-0x80 && | |
58 | echo "ævar" >expected && | |
59 | cat expected >>invalid-0x80 && | |
60 | git add invalid-0x80 | |
61 | ' | |
62 | ||
63 | test_expect_success GETTEXT_LOCALE,LIBPCRE2 'PCRE v2: grep ASCII from invalid UTF-8 data' ' | |
64 | git grep -h "var" invalid-0x80 >actual && | |
65 | test_cmp expected actual && | |
66 | git grep -h "(*NO_JIT)var" invalid-0x80 >actual && | |
67 | test_cmp expected actual | |
68 | ' | |
69 | ||
70 | test_expect_success GETTEXT_LOCALE,LIBPCRE2 'PCRE v2: grep non-ASCII from invalid UTF-8 data' ' | |
870eea81 | 71 | git grep -h "æ" invalid-0x80 >actual && |
8a599983 | 72 | test_cmp expected actual && |
c74b3cbb | 73 | git grep -h "(*NO_JIT)æ" invalid-0x80 >actual && |
8a599983 ÆAB |
74 | test_cmp expected actual |
75 | ' | |
76 | ||
77 | test_expect_success GETTEXT_LOCALE,LIBPCRE2 'PCRE v2: grep non-ASCII from invalid UTF-8 data with -i' ' | |
78 | test_might_fail git grep -hi "Æ" invalid-0x80 >actual && | |
e714b898 TZ |
79 | if test -s actual |
80 | then | |
81 | test_cmp expected actual | |
82 | fi && | |
c74b3cbb | 83 | test_must_fail git grep -hi "(*NO_JIT)Æ" invalid-0x80 >actual && |
e714b898 | 84 | ! test_cmp expected actual |
8a599983 ÆAB |
85 | ' |
86 | ||
5c1ebcca | 87 | test_done |