t9903: add tests for git-prompt pcmode
[gitweb.git] / t / t4114-apply-typechange.sh
index 55334927abb33864a55f8ff49fd0c0c94a3c1769..ebadbc347fc4fd9d435a366e46e3e1cebba81b83 100755 (executable)
@@ -16,15 +16,18 @@ test_expect_success 'setup repository and commits' '
        git commit -m initial &&
        git branch initial &&
        rm -f foo &&
-       ln -s bar foo &&
-       git update-index foo &&
+       test_ln_s_add bar foo &&
        git commit -m "foo symlinked to bar" &&
        git branch foo-symlinked-to-bar &&
-       rm -f foo &&
+       git rm -f foo &&
        echo "how far is the sun?" > foo &&
-       git update-index foo &&
+       git update-index --add foo &&
        git commit -m "foo back to file" &&
        git branch foo-back-to-file &&
+       printf "\0" > foo &&
+       git update-index foo &&
+       git commit -m "foo becomes binary" &&
+       git branch foo-becomes-binary &&
        rm -f foo &&
        git update-index --remove foo &&
        mkdir foo &&
@@ -85,6 +88,20 @@ test_expect_success 'symlink becomes file' '
        '
 test_debug 'cat patch'
 
+test_expect_success 'binary file becomes symlink' '
+       git checkout -f foo-becomes-binary &&
+       git diff-tree -p --binary HEAD foo-symlinked-to-bar > patch &&
+       git apply --index < patch
+       '
+test_debug 'cat patch'
+
+test_expect_success 'symlink becomes binary file' '
+       git checkout -f foo-symlinked-to-bar &&
+       git diff-tree -p --binary HEAD foo-becomes-binary > patch &&
+       git apply --index < patch
+       '
+test_debug 'cat patch'
+
 
 test_expect_success 'symlink becomes directory' '
        git checkout -f foo-symlinked-to-bar &&