rebase: implement --[no-]autostash and rebase.autostash
[gitweb.git] / t / t0008-ignores.sh
index 9b0fcd610d2fe0bd6e2dae1303dd3c49492ac283..9c1bde1fd6e6424f7af732556656a9daf9be350b 100755 (executable)
@@ -75,6 +75,16 @@ test_check_ignore () {
        stderr_empty_on_success "$expect_code"
 }
 
+# Runs the same code with 3 different levels of output verbosity,
+# expecting success each time.  Takes advantage of the fact that
+# check-ignore --verbose output is the same as normal output except
+# for the extra first column.
+#
+# Arguments:
+#   - (optional) prereqs for this test, e.g. 'SYMLINKS'
+#   - test name
+#   - output to expect from -v / --verbose mode
+#   - code to run (should invoke test_check_ignore)
 test_expect_success_multi () {
        prereq=
        if test $# -eq 4
@@ -128,9 +138,15 @@ test_expect_success 'setup' '
        cat <<-\EOF >.gitignore &&
                one
                ignored-*
+               top-level-dir/
        EOF
-       touch {,a/}{not-ignored,ignored-{and-untracked,but-in-index}} &&
-       git add -f {,a/}ignored-but-in-index
+       for dir in . a
+       do
+               : >$dir/not-ignored &&
+               : >$dir/ignored-and-untracked &&
+               : >$dir/ignored-but-in-index
+       done &&
+       git add -f ignored-but-in-index a/ignored-but-in-index &&
        cat <<-\EOF >a/.gitignore &&
                two*
                *three
@@ -162,6 +178,10 @@ test_expect_success 'setup' '
 #
 # test invalid inputs
 
+test_expect_success_multi '. corner-case' '' '
+       test_check_ignore . 1
+'
+
 test_expect_success_multi 'empty command line' '' '
        test_check_ignore "" 128 &&
        stderr_contains "fatal: no path specified"