test-lib: TAP compliance for skipping tests on request
[gitweb.git] / t / t4130-apply-criss-cross-rename.sh
index 8623dbebabc3fd821ab3d5c52a80c8b3c20c4e18..7cfa2d6287ff7c6c0fc7fbc2e86fd622bbc901ce 100755 (executable)
@@ -15,14 +15,17 @@ create_file() {
 test_expect_success 'setup' '
        create_file file1 "File1 contents" &&
        create_file file2 "File2 contents" &&
-       git add file1 file2 &&
+       create_file file3 "File3 contents" &&
+       git add file1 file2 file3 &&
        git commit -m 1
 '
 
 test_expect_success 'criss-cross rename' '
        mv file1 tmp &&
        mv file2 file1 &&
-       mv tmp file2
+       mv tmp file2 &&
+       cp file1 file1-swapped &&
+       cp file2 file2-swapped
 '
 
 test_expect_success 'diff -M -B' '
@@ -32,7 +35,32 @@ test_expect_success 'diff -M -B' '
 '
 
 test_expect_success 'apply' '
-       git apply diff
+       git apply diff &&
+       test_cmp file1 file1-swapped &&
+       test_cmp file2 file2-swapped
+'
+
+test_expect_success 'criss-cross rename' '
+       git reset --hard &&
+       mv file1 tmp &&
+       mv file2 file1 &&
+       mv file3 file2
+       mv tmp file3 &&
+       cp file1 file1-swapped &&
+       cp file2 file2-swapped &&
+       cp file3 file3-swapped
+'
+
+test_expect_success 'diff -M -B' '
+       git diff -M -B > diff &&
+       git reset --hard
+'
+
+test_expect_success 'apply' '
+       git apply diff &&
+       test_cmp file1 file1-swapped &&
+       test_cmp file2 file2-swapped &&
+       test_cmp file3 file3-swapped
 '
 
 test_done