MCPcopy Create free account
hub / github.com/cli/cli / TestClientToplevelDir

Function TestClientToplevelDir

git/client_test.go:1428–1469  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1426}
1427
1428func TestClientToplevelDir(t *testing.T) {
1429 tests := []struct {
1430 name string
1431 cmdExitStatus int
1432 cmdStdout string
1433 cmdStderr string
1434 wantCmdArgs string
1435 wantDir string
1436 wantErrorMsg string
1437 }{
1438 {
1439 name: "top level dir",
1440 cmdStdout: "/path/to/repo",
1441 wantCmdArgs: `path/to/git rev-parse --show-toplevel`,
1442 wantDir: "/path/to/repo",
1443 },
1444 {
1445 name: "git error",
1446 cmdExitStatus: 1,
1447 cmdStderr: "git error message",
1448 wantCmdArgs: `path/to/git rev-parse --show-toplevel`,
1449 wantErrorMsg: "failed to run git: git error message",
1450 },
1451 }
1452 for _, tt := range tests {
1453 t.Run(tt.name, func(t *testing.T) {
1454 cmd, cmdCtx := createCommandContext(t, tt.cmdExitStatus, tt.cmdStdout, tt.cmdStderr)
1455 client := Client{
1456 GitPath: "path/to/git",
1457 commandContext: cmdCtx,
1458 }
1459 dir, err := client.ToplevelDir(context.Background())
1460 assert.Equal(t, tt.wantCmdArgs, strings.Join(cmd.Args[3:], " "))
1461 if tt.wantErrorMsg == "" {
1462 assert.NoError(t, err)
1463 } else {
1464 assert.EqualError(t, err, tt.wantErrorMsg)
1465 }
1466 assert.Equal(t, tt.wantDir, dir)
1467 })
1468 }
1469}
1470
1471func TestClientGitDir(t *testing.T) {
1472 tests := []struct {

Callers

nothing calls this directly

Calls 5

ToplevelDirMethod · 0.95
createCommandContextFunction · 0.85
EqualMethod · 0.80
JoinMethod · 0.80
RunMethod · 0.65

Tested by

no test coverage detected