rewrite git_config() to use the config-set API
[gitweb.git] / t / t7004-tag.sh
index e4ab0f5b64194da05b159782a5e41479bf47de20..0366653088417a3d694856538bb1d1bd35d36cda 100755 (executable)
@@ -1385,41 +1385,77 @@ test_expect_success 'lexical sort' '
        git tag foo1.6 &&
        git tag foo1.10 &&
        git tag -l --sort=refname "foo*" >actual &&
-       cat >expect <<EOF &&
-foo1.10
-foo1.3
-foo1.6
-EOF
+       cat >expect <<-\EOF &&
+       foo1.10
+       foo1.3
+       foo1.6
+       EOF
        test_cmp expect actual
 '
 
 test_expect_success 'version sort' '
        git tag -l --sort=version:refname "foo*" >actual &&
-       cat >expect <<EOF &&
-foo1.3
-foo1.6
-foo1.10
-EOF
+       cat >expect <<-\EOF &&
+       foo1.3
+       foo1.6
+       foo1.10
+       EOF
        test_cmp expect actual
 '
 
 test_expect_success 'reverse version sort' '
        git tag -l --sort=-version:refname "foo*" >actual &&
-       cat >expect <<EOF &&
-foo1.10
-foo1.6
-foo1.3
-EOF
+       cat >expect <<-\EOF &&
+       foo1.10
+       foo1.6
+       foo1.3
+       EOF
        test_cmp expect actual
 '
 
 test_expect_success 'reverse lexical sort' '
        git tag -l --sort=-refname "foo*" >actual &&
-       cat >expect <<EOF &&
-foo1.6
-foo1.3
-foo1.10
-EOF
+       cat >expect <<-\EOF &&
+       foo1.6
+       foo1.3
+       foo1.10
+       EOF
+       test_cmp expect actual
+'
+
+test_expect_success 'configured lexical sort' '
+       git config tag.sort "v:refname" &&
+       git tag -l "foo*" >actual &&
+       cat >expect <<-\EOF &&
+       foo1.3
+       foo1.6
+       foo1.10
+       EOF
+       test_cmp expect actual
+'
+
+test_expect_success 'option override configured sort' '
+       git tag -l --sort=-refname "foo*" >actual &&
+       cat >expect <<-\EOF &&
+       foo1.6
+       foo1.3
+       foo1.10
+       EOF
+       test_cmp expect actual
+'
+
+test_expect_success 'invalid sort parameter on command line' '
+       test_must_fail git tag -l --sort=notvalid "foo*" >actual
+'
+
+test_expect_success 'invalid sort parameter in configuratoin' '
+       git config tag.sort "v:notvalid" &&
+       git tag -l "foo*" >actual &&
+       cat >expect <<-\EOF &&
+       foo1.10
+       foo1.3
+       foo1.6
+       EOF
        test_cmp expect actual
 '