github.com/tsuyoshiwada/git-prout@v0.0.0-20170402150409-5c51421d4bdb/git_test.go (about)

     1  package main
     2  
     3  import "testing"
     4  
     5  func TestGit(t *testing.T) {
     6  	reset := createTestRepo()
     7  	defer reset()
     8  
     9  	if files, _ := git("ls-files"); files != "README.md" {
    10  		t.Fatalf("failed git, ls-files -> %q", files)
    11  	}
    12  }
    13  
    14  func TestGitRemotes(t *testing.T) {
    15  	reset := createTestRepo()
    16  	defer reset()
    17  
    18  	remotes := GitListRemotes()
    19  	if len(remotes) != 1 || remotes[0] != "origin" {
    20  		t.Fatalf("failed get remotes. %d %q", len(remotes), remotes)
    21  	}
    22  
    23  	_, err := git("remote", "add", "foo", "http://hoge.com/fuga/baz.git")
    24  	if err != nil {
    25  		panic(err)
    26  	}
    27  
    28  	remotes = GitListRemotes()
    29  
    30  	if len(remotes) != 2 || remotes[0] != "foo" || remotes[1] != "origin" {
    31  		t.Fatalf("failed get remotes. %d %q", len(remotes), remotes)
    32  	}
    33  }
    34  
    35  func TestGitValidRemote(t *testing.T) {
    36  	reset := createTestRepo()
    37  	defer reset()
    38  
    39  	if GitIsValidRemote("hoge") {
    40  		t.Fatal("invalid remote of 'hoge'.")
    41  	}
    42  
    43  	if !GitIsValidRemote("origin") {
    44  		t.Fatal("invalid remote of 'origin'.")
    45  	}
    46  }
    47  
    48  func TestGitCurrentBranch(t *testing.T) {
    49  	reset := createTestRepo()
    50  	defer reset()
    51  
    52  	want := "master"
    53  	if got, _ := GitCurrentBranch(); got != want {
    54  		t.Fatalf("current branch got %s want %s", got, want)
    55  	}
    56  
    57  	_, err := git("checkout", "-b", "pr/123")
    58  	if err != nil {
    59  		panic(err)
    60  	}
    61  
    62  	want = "pr/123"
    63  	if got, _ := GitCurrentBranch(); got != want {
    64  		t.Fatalf("current branch got %s want %s", got, want)
    65  	}
    66  }