ref-filter: implement %(if), %(then), and %(else) atoms
[gitweb.git] / t / t5615-alternate-env.sh
index 22d9d8178b23db2cdf2f7066059af43d44eae6e9..26ebb0375deb67be38974c7c5610f090a5a2a9aa 100755 (executable)
@@ -31,14 +31,14 @@ test_expect_success 'objects inaccessible without alternates' '
 '
 
 test_expect_success 'access alternate via absolute path' '
-       check_obj "$(pwd)/one.git/objects" <<-EOF
+       check_obj "$PWD/one.git/objects" <<-EOF
        $one blob
        $two missing
        EOF
 '
 
 test_expect_success 'access multiple alternates' '
-       check_obj "$(pwd)/one.git/objects:$(pwd)/two.git/objects" <<-EOF
+       check_obj "$PWD/one.git/objects:$PWD/two.git/objects" <<-EOF
        $one blob
        $two blob
        EOF
@@ -68,4 +68,22 @@ test_expect_success 'access alternate via relative path (subdir)' '
        EOF
 '
 
+# set variables outside test to avoid quote insanity; the \057 is '/',
+# which doesn't need quoting, but just confirms that de-quoting
+# is working.
+quoted='"one.git\057objects"'
+unquoted='two.git/objects'
+test_expect_success 'mix of quoted and unquoted alternates' '
+       check_obj "$quoted:$unquoted" <<-EOF
+       $one blob
+       $two blob
+'
+
+test_expect_success !MINGW 'broken quoting falls back to interpreting raw' '
+       mv one.git \"one.git &&
+       check_obj \"one.git/objects <<-EOF
+       $one blob
+       EOF
+'
+
 test_done