t/t3800-mktag.sh: use test_must_fail rather than '!'
[gitweb.git] / t / t7502-status.sh
index 269b3341a25f853e14715d747bddd2626fc5fdb6..e00607490bcb0439c6557003a3419d84823a8f00 100755 (executable)
@@ -17,6 +17,9 @@ test_expect_success 'setup' '
        : > dir1/tracked &&
        : > dir1/modified &&
        git add . &&
+
+       git status >output &&
+
        test_tick &&
        git commit -m initial &&
        : > untracked &&
@@ -28,6 +31,12 @@ test_expect_success 'setup' '
        git add dir2/added
 '
 
+test_expect_success 'status (1)' '
+
+       grep -e "use \"git rm --cached <file>\.\.\.\" to unstage" output
+
+'
+
 cat > expect << \EOF
 # On branch master
 # Changes to be committed:
@@ -51,7 +60,7 @@ cat > expect << \EOF
 #      untracked
 EOF
 
-test_expect_success 'status' '
+test_expect_success 'status (2)' '
 
        git status > output &&
        git diff expect output
@@ -68,7 +77,7 @@ cat > expect << \EOF
 # Changed but not updated:
 #   (use "git add <file>..." to update what will be committed)
 #
-#      modified:   ../dir1/modified
+#      modified:   modified
 #
 # Untracked files:
 #   (use "git add <file>..." to include in what will be committed)
@@ -88,4 +97,56 @@ test_expect_success 'status with relative paths' '
 
 '
 
+cat > expect << \EOF
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#      new file:   dir2/added
+#
+# Changed but not updated:
+#   (use "git add <file>..." to update what will be committed)
+#
+#      modified:   dir1/modified
+#
+# Untracked files:
+#   (use "git add <file>..." to include in what will be committed)
+#
+#      dir1/untracked
+#      dir2/modified
+#      dir2/untracked
+#      expect
+#      output
+#      untracked
+EOF
+
+test_expect_success 'status without relative paths' '
+
+       git config status.relativePaths false
+       (cd dir1 && git status) > output &&
+       git diff expect output
+
+'
+
+cat <<EOF >expect
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#      modified:   dir1/modified
+#
+# Untracked files:
+#   (use "git add <file>..." to include in what will be committed)
+#
+#      dir1/untracked
+#      dir2/
+#      expect
+#      output
+#      untracked
+EOF
+test_expect_success 'status of partial commit excluding new file in index' '
+       git status dir1/modified >output &&
+       diff -u expect output
+'
+
 test_done