test: test_must_be_empty helper
[gitweb.git] / t / t2015-checkout-unborn.sh
index c551d39a66c19514e260a7c938b840ce2870d45a..37bdcedcc952083ba336cb9eaca5c67424d2cbb6 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-test_description='checkout from unborn branch protects contents'
+test_description='checkout from unborn branch'
 . ./test-lib.sh
 
 test_expect_success 'setup' '
@@ -37,4 +37,24 @@ test_expect_success 'checkout from unborn merges identical index contents' '
        git checkout -b new origin
 '
 
+test_expect_success 'checking out another branch from unborn state' '
+       git checkout --orphan newroot &&
+       git checkout -b anothername &&
+       test_must_fail git show-ref --verify refs/heads/newroot &&
+       git symbolic-ref HEAD >actual &&
+       echo refs/heads/anothername >expect &&
+       test_cmp expect actual
+'
+
+test_expect_success 'checking out in a newly created repo' '
+       test_create_repo empty &&
+       (
+               cd empty &&
+               git symbolic-ref HEAD >expect &&
+               test_must_fail git checkout &&
+               git symbolic-ref HEAD >actual &&
+               test_cmp expect actual
+       )
+'
+
 test_done