remote.c: hoist read_config into remote_get_1
[gitweb.git] / t / t9902-completion.sh
index 1d1c1063a38866f1792f9b451a4942d06c91edb4..4a14a5892e9ac06c967e17a4db68e57b06313c18 100755 (executable)
@@ -212,9 +212,18 @@ test_expect_success '__gitdir - non-existing $GIT_DIR' '
        )
 '
 
+function pwd_P_W () {
+       if test_have_prereq MINGW
+       then
+               pwd -W
+       else
+               pwd -P
+       fi
+}
+
 test_expect_success '__gitdir - gitfile in cwd' '
-       echo "$(pwd -P)/otherrepo/.git" >expected &&
-       echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" >subdir/.git &&
+       echo "$(pwd_P_W)/otherrepo/.git" >expected &&
+       echo "gitdir: $(pwd_P_W)/otherrepo/.git" >subdir/.git &&
        test_when_finished "rm -f subdir/.git" &&
        (
                cd subdir &&
@@ -224,8 +233,8 @@ test_expect_success '__gitdir - gitfile in cwd' '
 '
 
 test_expect_success '__gitdir - gitfile in parent' '
-       echo "$(pwd -P)/otherrepo/.git" >expected &&
-       echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" >subdir/.git &&
+       echo "$(pwd_P_W)/otherrepo/.git" >expected &&
+       echo "gitdir: $(pwd_P_W)/otherrepo/.git" >subdir/.git &&
        test_when_finished "rm -f subdir/.git" &&
        (
                cd subdir/subsubdir &&
@@ -342,6 +351,25 @@ test_expect_success '__gitcomp_nl - doesnt fail because of invalid variable name
        __gitcomp_nl "$invalid_variable_name"
 '
 
+test_expect_success '__git_remotes - list remotes from $GIT_DIR/remotes and from config file' '
+       cat >expect <<-EOF &&
+       remote_from_file_1
+       remote_from_file_2
+       remote_in_config_1
+       remote_in_config_2
+       EOF
+       test_when_finished "rm -rf .git/remotes" &&
+       mkdir -p .git/remotes &&
+       >.git/remotes/remote_from_file_1 &&
+       >.git/remotes/remote_from_file_2 &&
+       test_when_finished "git remote remove remote_in_config_1" &&
+       git remote add remote_in_config_1 git://remote_1 &&
+       test_when_finished "git remote remove remote_in_config_2" &&
+       git remote add remote_in_config_2 git://remote_2 &&
+       __git_remotes >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success 'basic' '
        run_completion "git " &&
        # built-in
@@ -540,7 +568,7 @@ test_expect_success 'complete files' '
        test_completion "git commit " "modified" &&
 
        : TODO .gitignore should not be here &&
-       test_completion "git ls-files " <<-\EOF
+       test_completion "git ls-files " <<-\EOF &&
        .gitignore
        dir
        modified