diff options
| -rw-r--r-- | android_shared_stub_test.go | 36 | ||||
| -rw-r--r-- | main_test.go | 52 |
2 files changed, 77 insertions, 11 deletions
diff --git a/android_shared_stub_test.go b/android_shared_stub_test.go index cc62f5d..7b42b3a 100644 --- a/android_shared_stub_test.go +++ b/android_shared_stub_test.go @@ -13,3 +13,39 @@ func TestReadSharedFromCacheStub(t *testing.T) { t.Errorf("stub returned non-empty text: %q", txt) } } + +func TestHandleSharedTextLoadAutoLogSkipsEmptyStubText(t *testing.T) { + var clearCalls int + + handleSharedTextLoad( + "", + true, + t.TempDir(), + func(string) { + t.Fatal("prefill should not be called for empty shared text") + }, + func() { + t.Fatal("focus should not be called for empty shared text") + }, + func() { + t.Fatal("resetInput should not be called for empty shared text") + }, + func() { + clearCalls++ + }, + func(string, string) error { + t.Fatal("logEntry should not be called for empty shared text") + return nil + }, + func(string, string) { + t.Fatal("info dialog should not be shown for empty shared text") + }, + func(error) { + t.Fatal("error dialog should not be shown for empty shared text") + }, + ) + + if clearCalls != 1 { + t.Fatalf("expected cache cleanup once, got %d", clearCalls) + } +} diff --git a/main_test.go b/main_test.go index 399158a..7f72cdb 100644 --- a/main_test.go +++ b/main_test.go @@ -46,20 +46,50 @@ func TestLogEntryInvalidDir(t *testing.T) { } } -func TestLogEntryEmptyText(t *testing.T) { - dir := t.TempDir() - if err := logEntry(dir, ""); err != nil { - t.Fatalf("logEntry with empty text returned error: %v", err) +func TestLogEntryHandlesEdgeCases(t *testing.T) { + tests := []struct { + name string + text string + }{ + { + name: "empty", + text: "", + }, + { + name: "very long", + text: strings.Repeat("x", maxTextLength+1), + }, } - entries, _ := os.ReadDir(dir) - if len(entries) != 1 { - t.Fatalf("expected 1 file, got %d", len(entries)) - } + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + dir := t.TempDir() + + if err := logEntry(dir, tc.text); err != nil { + t.Fatalf("logEntry returned error: %v", err) + } - content, _ := os.ReadFile(filepath.Join(dir, entries[0].Name())) - if len(content) != 0 { - t.Errorf("expected empty file, got %d bytes", len(content)) + entries, err := os.ReadDir(dir) + if err != nil { + t.Fatalf("reading dir: %v", err) + } + if len(entries) != 1 { + t.Fatalf("expected 1 file, got %d", len(entries)) + } + + name := entries[0].Name() + if !strings.HasPrefix(name, "ql-") || !strings.HasSuffix(name, ".md") { + t.Errorf("unexpected filename pattern: %s", name) + } + + content, err := os.ReadFile(filepath.Join(dir, name)) + if err != nil { + t.Fatalf("reading file: %v", err) + } + if string(content) != tc.text { + t.Fatalf("expected %d bytes, got %d", len(tc.text), len(content)) + } + }) } } |
