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

Function TestClientUncommittedChangeCount

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

Source from the content-addressed store, hash-verified

441}
442
443func TestClientUncommittedChangeCount(t *testing.T) {
444 tests := []struct {
445 name string
446 cmdExitStatus int
447 cmdStdout string
448 cmdStderr string
449 wantCmdArgs string
450 wantChangeCount int
451 }{
452 {
453 name: "no changes",
454 wantCmdArgs: `path/to/git status --porcelain`,
455 wantChangeCount: 0,
456 },
457 {
458 name: "one change",
459 cmdStdout: " M poem.txt",
460 wantCmdArgs: `path/to/git status --porcelain`,
461 wantChangeCount: 1,
462 },
463 {
464 name: "untracked file",
465 cmdStdout: " M poem.txt\n?? new.txt",
466 wantCmdArgs: `path/to/git status --porcelain`,
467 wantChangeCount: 2,
468 },
469 }
470 for _, tt := range tests {
471 t.Run(tt.name, func(t *testing.T) {
472 cmd, cmdCtx := createCommandContext(t, tt.cmdExitStatus, tt.cmdStdout, tt.cmdStderr)
473 client := Client{
474 GitPath: "path/to/git",
475 commandContext: cmdCtx,
476 }
477 ucc, err := client.UncommittedChangeCount(context.Background())
478 assert.Equal(t, tt.wantCmdArgs, strings.Join(cmd.Args[3:], " "))
479 assert.NoError(t, err)
480 assert.Equal(t, tt.wantChangeCount, ucc)
481 })
482 }
483}
484
485type stubbedCommit struct {
486 Sha string

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected