Merge branch 'jc/combine-diff-many-parents'
[gitweb.git] / t / t3201-branch-contains.sh
index 9ef593f0e11d85a62c5bbfe89febf0fce2c20fd7..141b0611eac306616078a599a216c6050dc45389 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-test_description='branch --contains <commit>'
+test_description='branch --contains <commit>, --merged, and --no-merged'
 
 . ./test-lib.sh
 
@@ -31,7 +31,7 @@ test_expect_success 'branch --contains=master' '
        {
                echo "  master" && echo "* side"
        } >expect &&
-       diff -u expect actual
+       test_cmp expect actual
 
 '
 
@@ -41,7 +41,7 @@ test_expect_success 'branch --contains master' '
        {
                echo "  master" && echo "* side"
        } >expect &&
-       diff -u expect actual
+       test_cmp expect actual
 
 '
 
@@ -51,7 +51,82 @@ test_expect_success 'branch --contains=side' '
        {
                echo "* side"
        } >expect &&
-       diff -u expect actual
+       test_cmp expect actual
+
+'
+
+test_expect_success 'branch --contains with pattern implies --list' '
+
+       git branch --contains=master master >actual &&
+       {
+               echo "  master"
+       } >expect &&
+       test_cmp expect actual
+
+'
+
+test_expect_success 'side: branch --merged' '
+
+       git branch --merged >actual &&
+       {
+               echo "  master" &&
+               echo "* side"
+       } >expect &&
+       test_cmp expect actual
+
+'
+
+test_expect_success 'branch --merged with pattern implies --list' '
+
+       git branch --merged=side master >actual &&
+       {
+               echo "  master"
+       } >expect &&
+       test_cmp expect actual
+
+'
+
+test_expect_success 'side: branch --no-merged' '
+
+       git branch --no-merged >actual &&
+       >expect &&
+       test_cmp expect actual
+
+'
+
+test_expect_success 'master: branch --merged' '
+
+       git checkout master &&
+       git branch --merged >actual &&
+       {
+               echo "* master"
+       } >expect &&
+       test_cmp expect actual
+
+'
+
+test_expect_success 'master: branch --no-merged' '
+
+       git branch --no-merged >actual &&
+       {
+               echo "  side"
+       } >expect &&
+       test_cmp expect actual
+
+'
+
+test_expect_success 'branch --no-merged with pattern implies --list' '
+
+       git branch --no-merged=master master >actual &&
+       >expect &&
+       test_cmp expect actual
+
+'
+
+test_expect_success 'implicit --list conflicts with modification options' '
+
+       test_must_fail git branch --contains=master -d &&
+       test_must_fail git branch --contains=master -m foo
 
 '