diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-14 08:58:38 -0800 |
|---|---|---|
| committer | Adam Mathes <adam@adammathes.com> | 2026-02-14 08:58:38 -0800 |
| commit | e3c379d069ffa9661561d25cdbf2f5894a2f8ee8 (patch) | |
| tree | 24d0e9f5610dd9c8f873c5b78e6bc1c88d32840a /internal/vlog/vlog_test.go | |
| parent | 4b06155fbde91a1bef6361ef36efb28789861928 (diff) | |
| download | neko-e3c379d069ffa9661561d25cdbf2f5894a2f8ee8.tar.gz neko-e3c379d069ffa9661561d25cdbf2f5894a2f8ee8.tar.bz2 neko-e3c379d069ffa9661561d25cdbf2f5894a2f8ee8.zip | |
Refactor: project structure, implement dependency injection, and align v2 UI with v1
Diffstat (limited to 'internal/vlog/vlog_test.go')
| -rw-r--r-- | internal/vlog/vlog_test.go | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/internal/vlog/vlog_test.go b/internal/vlog/vlog_test.go new file mode 100644 index 0000000..9def0f0 --- /dev/null +++ b/internal/vlog/vlog_test.go @@ -0,0 +1,78 @@ +package vlog + +import ( + "bytes" + "fmt" + "os" + "testing" +) + +func captureStdout(f func()) string { + old := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + + f() + + w.Close() + os.Stdout = old + + var buf bytes.Buffer + buf.ReadFrom(r) + return buf.String() +} + +func TestPrintfVerbose(t *testing.T) { + VERBOSE = true + defer func() { VERBOSE = false }() + + output := captureStdout(func() { + Printf("hello %s", "world") + }) + expected := fmt.Sprintf("hello %s", "world") + if output != expected { + t.Errorf("expected %q, got %q", expected, output) + } +} + +func TestPrintfSilent(t *testing.T) { + VERBOSE = false + + output := captureStdout(func() { + Printf("hello %s", "world") + }) + if output != "" { + t.Errorf("expected empty output when not verbose, got %q", output) + } +} + +func TestPrintlnVerbose(t *testing.T) { + VERBOSE = true + defer func() { VERBOSE = false }() + + output := captureStdout(func() { + Println("hello", "world") + }) + expected := fmt.Sprintln("hello", "world") + if output != expected { + t.Errorf("expected %q, got %q", expected, output) + } +} + +func TestPrintlnSilent(t *testing.T) { + VERBOSE = false + + output := captureStdout(func() { + Println("hello", "world") + }) + if output != "" { + t.Errorf("expected empty output when not verbose, got %q", output) + } +} + +func TestInit(t *testing.T) { + // init() sets VERBOSE to false + if VERBOSE != false { + t.Error("VERBOSE should default to false") + } +} |
