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

Function TestClientToplevelDir

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

Source from the content-addressed store, hash-verified

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