From fab4fd50d2e3f5890632728f6835136a1c022862 Mon Sep 17 00:00:00 2001 From: "Brandon McGinty (chatgpt)" Date: Mon, 10 Aug 2026 11:25:52 -0400 Subject: [PATCH] Test exclusive tone-test output creation --- tonetest_test.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tonetest_test.go b/tonetest_test.go index d791b13..c31da2a 100644 --- a/tonetest_test.go +++ b/tonetest_test.go @@ -1,6 +1,7 @@ package main import ( + "os" "path/filepath" "testing" ) @@ -25,6 +26,23 @@ func TestNewAudioFileSaverReportsUnavailableOutputPath(t *testing.T) { } } +func TestNewAudioFileSaverDoesNotOverwriteExistingOutput(t *testing.T) { + path := filepath.Join(t.TempDir(), "tone.pcm") + if err := os.WriteFile(path, []byte("existing"), 0600); err != nil { + t.Fatal(err) + } + if saver, err := NewAudioFileSaver(path); err == nil || saver != nil { + t.Fatalf("got saver=%v err=%v", saver, err) + } + contents, err := os.ReadFile(path) + if err != nil { + t.Fatal(err) + } + if string(contents) != "existing" { + t.Fatalf("output was overwritten: %q", contents) + } +} + type testDetacher struct{ detached bool } func (d *testDetacher) Detach() { d.detached = true }