MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / TestDetectInputMode

Function TestDetectInputMode

cmd/gosqlx/cmd/stdin_utils_test.go:69–112  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

67}
68
69func TestDetectInputMode(t *testing.T) {
70 tests := []struct {
71 name string
72 args []string
73 wantStdin bool
74 wantArg string
75 wantErr bool
76 description string
77 }{
78 {
79 name: "explicit stdin marker",
80 args: []string{"-"},
81 wantStdin: true,
82 wantArg: "-",
83 wantErr: false,
84 description: "Single dash should trigger stdin",
85 },
86 {
87 name: "file argument",
88 args: []string{"query.sql"},
89 wantStdin: false,
90 wantArg: "query.sql",
91 wantErr: false,
92 description: "File path should not trigger stdin",
93 },
94 // Skipping "no arguments" test because IsStdinPipe() returns false in test environment
95 }
96
97 for _, tt := range tests {
98 t.Run(tt.name, func(t *testing.T) {
99 gotStdin, gotArg, err := DetectInputMode(tt.args)
100 if (err != nil) != tt.wantErr {
101 t.Errorf("DetectInputMode() error = %v, wantErr %v", err, tt.wantErr)
102 return
103 }
104 if gotStdin != tt.wantStdin {
105 t.Errorf("DetectInputMode() gotStdin = %v, want %v", gotStdin, tt.wantStdin)
106 }
107 if gotArg != tt.wantArg {
108 t.Errorf("DetectInputMode() gotArg = %v, want %v", gotArg, tt.wantArg)
109 }
110 })
111 }
112}
113
114func TestShouldReadFromStdin(t *testing.T) {
115 tests := []struct {

Callers

nothing calls this directly

Calls 3

RunMethod · 0.80
DetectInputModeFunction · 0.70
ErrorfMethod · 0.65

Tested by

no test coverage detected