add git-check-ignore sub-command
[gitweb.git] / t / t0300-credentials.sh
index 53e94bc0382f7d2fc0fc99935269f3d630995ddf..20e28e34e7dc63aaf9ee9c6bdabcf311e0240615 100755 (executable)
@@ -8,28 +8,27 @@ test_expect_success 'setup helper scripts' '
        cat >dump <<-\EOF &&
        whoami=`echo $0 | sed s/.*git-credential-//`
        echo >&2 "$whoami: $*"
-       while IFS== read key value; do
+       OIFS=$IFS
+       IFS==
+       while read key value; do
                echo >&2 "$whoami: $key=$value"
                eval "$key=$value"
        done
+       IFS=$OIFS
        EOF
 
-       cat >git-credential-useless <<-\EOF &&
-       #!/bin/sh
+       write_script git-credential-useless <<-\EOF &&
        . ./dump
        exit 0
        EOF
-       chmod +x git-credential-useless &&
 
-       cat >git-credential-verbatim <<-\EOF &&
-       #!/bin/sh
+       write_script git-credential-verbatim <<-\EOF &&
        user=$1; shift
        pass=$1; shift
        . ./dump
        test -z "$user" || echo username=$user
        test -z "$pass" || echo password=$pass
        EOF
-       chmod +x git-credential-verbatim &&
 
        PATH="$PWD:$PATH"
 '
@@ -247,4 +246,33 @@ test_expect_success 'pull username from config' '
        EOF
 '
 
+test_expect_success 'http paths can be part of context' '
+       check fill "verbatim foo bar" <<-\EOF &&
+       protocol=https
+       host=example.com
+       path=foo.git
+       --
+       username=foo
+       password=bar
+       --
+       verbatim: get
+       verbatim: protocol=https
+       verbatim: host=example.com
+       EOF
+       test_config credential.https://example.com.useHttpPath true &&
+       check fill "verbatim foo bar" <<-\EOF
+       protocol=https
+       host=example.com
+       path=foo.git
+       --
+       username=foo
+       password=bar
+       --
+       verbatim: get
+       verbatim: protocol=https
+       verbatim: host=example.com
+       verbatim: path=foo.git
+       EOF
+'
+
 test_done