diff options
Diffstat (limited to 'third_party/git/t/t3910-mac-os-precompose.sh')
-rwxr-xr-x | third_party/git/t/t3910-mac-os-precompose.sh | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/third_party/git/t/t3910-mac-os-precompose.sh b/third_party/git/t/t3910-mac-os-precompose.sh deleted file mode 100755 index 54ce19e353d9..000000000000 --- a/third_party/git/t/t3910-mac-os-precompose.sh +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012 Torsten Bögershausen -# - -test_description='utf-8 decomposed (nfd) converted to precomposed (nfc)' - -. ./test-lib.sh - -if ! test_have_prereq UTF8_NFD_TO_NFC -then - skip_all="filesystem does not corrupt utf-8" - test_done -fi - -# create utf-8 variables -Adiarnfc=$(printf '\303\204') -Adiarnfd=$(printf 'A\314\210') - -Odiarnfc=$(printf '\303\226') -Odiarnfd=$(printf 'O\314\210') -AEligatu=$(printf '\303\206') -Invalidu=$(printf '\303\377') - - -#Create a string with 255 bytes (decomposed) -Alongd=$Adiarnfd$Adiarnfd$Adiarnfd$Adiarnfd$Adiarnfd$Adiarnfd$Adiarnfd #21 Byte -Alongd=$Alongd$Alongd$Alongd #63 Byte -Alongd=$Alongd$Alongd$Alongd$Alongd$Adiarnfd #255 Byte - -#Create a string with 254 bytes (precomposed) -Alongc=$AEligatu$AEligatu$AEligatu$AEligatu$AEligatu #10 Byte -Alongc=$Alongc$Alongc$Alongc$Alongc$Alongc #50 Byte -Alongc=$Alongc$Alongc$Alongc$Alongc$Alongc #250 Byte -Alongc=$Alongc$AEligatu$AEligatu #254 Byte - -test_expect_success "detect if nfd needed" ' - precomposeunicode=$(git config core.precomposeunicode) && - test "$precomposeunicode" = true && - git config core.precomposeunicode true -' -test_expect_success "setup" ' - >x && - git add x && - git commit -m "1st commit" && - git rm x && - git commit -m "rm x" -' -test_expect_success "setup case mac" ' - git checkout -b mac_os -' -# This will test nfd2nfc in git diff -test_expect_success "git diff f.Adiar" ' - touch f.$Adiarnfc && - git add f.$Adiarnfc && - echo f.Adiarnfc >f.$Adiarnfc && - git diff f.$Adiarnfd >expect && - git diff f.$Adiarnfc >actual && - test_cmp expect actual && - git reset HEAD f.Adiarnfc && - rm f.$Adiarnfc expect actual -' -# This will test nfd2nfc in git diff-files -test_expect_success "git diff-files f.Adiar" ' - touch f.$Adiarnfc && - git add f.$Adiarnfc && - echo f.Adiarnfc >f.$Adiarnfc && - git diff-files f.$Adiarnfd >expect && - git diff-files f.$Adiarnfc >actual && - test_cmp expect actual && - git reset HEAD f.Adiarnfc && - rm f.$Adiarnfc expect actual -' -# This will test nfd2nfc in git diff-index -test_expect_success "git diff-index f.Adiar" ' - touch f.$Adiarnfc && - git add f.$Adiarnfc && - echo f.Adiarnfc >f.$Adiarnfc && - git diff-index HEAD f.$Adiarnfd >expect && - git diff-index HEAD f.$Adiarnfc >actual && - test_cmp expect actual && - git reset HEAD f.Adiarnfc && - rm f.$Adiarnfc expect actual -' -# This will test nfd2nfc in readdir() -test_expect_success "add file Adiarnfc" ' - echo f.Adiarnfc >f.$Adiarnfc && - git add f.$Adiarnfc && - git commit -m "add f.$Adiarnfc" -' -# This will test nfd2nfc in git diff-tree -test_expect_success "git diff-tree f.Adiar" ' - echo f.Adiarnfc >>f.$Adiarnfc && - git diff-tree HEAD f.$Adiarnfd >expect && - git diff-tree HEAD f.$Adiarnfc >actual && - test_cmp expect actual && - git checkout f.$Adiarnfc && - rm expect actual -' -# This will test nfd2nfc in git stage() -test_expect_success "stage file d.Adiarnfd/f.Adiarnfd" ' - mkdir d.$Adiarnfd && - echo d.$Adiarnfd/f.$Adiarnfd >d.$Adiarnfd/f.$Adiarnfd && - git stage d.$Adiarnfd/f.$Adiarnfd && - git commit -m "add d.$Adiarnfd/f.$Adiarnfd" -' -test_expect_success "add link Adiarnfc" ' - ln -s d.$Adiarnfd/f.$Adiarnfd l.$Adiarnfc && - git add l.$Adiarnfc && - git commit -m "add l.Adiarnfc" -' -# This will test git log -test_expect_success "git log f.Adiar" ' - git log f.$Adiarnfc > f.Adiarnfc.log && - git log f.$Adiarnfd > f.Adiarnfd.log && - test -s f.Adiarnfc.log && - test -s f.Adiarnfd.log && - test_cmp f.Adiarnfc.log f.Adiarnfd.log && - rm f.Adiarnfc.log f.Adiarnfd.log -' -# This will test git ls-files -test_expect_success "git lsfiles f.Adiar" ' - git ls-files f.$Adiarnfc > f.Adiarnfc.log && - git ls-files f.$Adiarnfd > f.Adiarnfd.log && - test -s f.Adiarnfc.log && - test -s f.Adiarnfd.log && - test_cmp f.Adiarnfc.log f.Adiarnfd.log && - rm f.Adiarnfc.log f.Adiarnfd.log -' -# This will test git mv -test_expect_success "git mv" ' - git mv f.$Adiarnfd f.$Odiarnfc && - git mv d.$Adiarnfd d.$Odiarnfc && - git mv l.$Adiarnfd l.$Odiarnfc && - git commit -m "mv Adiarnfd Odiarnfc" -' -# Files can be checked out as nfc -# And the link has been corrected from nfd to nfc -test_expect_success "git checkout nfc" ' - rm f.$Odiarnfc && - git checkout f.$Odiarnfc -' -# Make it possible to checkout files with their NFD names -test_expect_success "git checkout file nfd" ' - rm -f f.* && - git checkout f.$Odiarnfd -' -# Make it possible to checkout links with their NFD names -test_expect_success "git checkout link nfd" ' - rm l.* && - git checkout l.$Odiarnfd -' -test_expect_success "setup case mac2" ' - git checkout master && - git reset --hard && - git checkout -b mac_os_2 -' -# This will test nfd2nfc in git commit -test_expect_success "commit file d2.Adiarnfd/f.Adiarnfd" ' - mkdir d2.$Adiarnfd && - echo d2.$Adiarnfd/f.$Adiarnfd >d2.$Adiarnfd/f.$Adiarnfd && - git add d2.$Adiarnfd/f.$Adiarnfd && - git commit -m "add d2.$Adiarnfd/f.$Adiarnfd" -- d2.$Adiarnfd/f.$Adiarnfd -' -test_expect_success "setup for long decomposed filename" ' - git checkout master && - git reset --hard && - git checkout -b mac_os_long_nfd_fn -' -test_expect_success "Add long decomposed filename" ' - echo longd >$Alongd && - git add * && - git commit -m "Long filename" -' -test_expect_success "setup for long precomposed filename" ' - git checkout master && - git reset --hard && - git checkout -b mac_os_long_nfc_fn -' -test_expect_success "Add long precomposed filename" ' - echo longc >$Alongc && - git add * && - git commit -m "Long filename" -' - -test_expect_failure 'handle existing decomposed filenames' ' - echo content >"verbatim.$Adiarnfd" && - git -c core.precomposeunicode=false add "verbatim.$Adiarnfd" && - git commit -m "existing decomposed file" && - git ls-files --exclude-standard -o "verbatim*" >untracked && - test_must_be_empty untracked -' - -# Test if the global core.precomposeunicode stops autosensing -# Must be the last test case -test_expect_success "respect git config --global core.precomposeunicode" ' - git config --global core.precomposeunicode true && - rm -rf .git && - git init && - precomposeunicode=$(git config core.precomposeunicode) && - test "$precomposeunicode" = "true" -' - -test_done |