From fc28cc5196900f0c8ae446269294da42d5488c95 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 10 Apr 2026 10:43:51 +0300 Subject: Release v0.1.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Testable CLI flags; version package under internal/version; broad tests for atom, generator, post, processor, and cmd—overall coverage ~85%. Made-with: Cursor --- internal/post/post_test.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'internal/post/post_test.go') diff --git a/internal/post/post_test.go b/internal/post/post_test.go index 7283afd..68d5d64 100644 --- a/internal/post/post_test.go +++ b/internal/post/post_test.go @@ -1,6 +1,8 @@ package post import ( + "os" + "path/filepath" "testing" "time" ) @@ -53,3 +55,49 @@ func TestNewID(t *testing.T) { }) } } + +func TestSave_roundTrip(t *testing.T) { + t.Parallel() + + dir := t.TempDir() + p := &Post{ + ID: "2026-01-01-120000", + Timestamp: time.Date(2026, 1, 1, 12, 0, 0, 0, time.UTC), + PostType: TypeText, + Content: "

x

", + } + + if err := p.Save(dir); err != nil { + t.Fatalf("Save: %v", err) + } + + got, err := Load(dir) + if err != nil { + t.Fatalf("Load: %v", err) + } + if got.ID != p.ID || got.Content != p.Content || got.PostType != p.PostType { + t.Fatalf("got %+v; want %+v", got, p) + } +} + +func TestLoad_missingFile(t *testing.T) { + t.Parallel() + + _, err := Load(t.TempDir()) + if err == nil { + t.Fatal("expected error") + } +} + +func TestLoad_invalidJSON(t *testing.T) { + t.Parallel() + + dir := t.TempDir() + if err := os.WriteFile(filepath.Join(dir, "post.json"), []byte("{"), 0o644); err != nil { + t.Fatal(err) + } + _, err := Load(dir) + if err == nil { + t.Fatal("expected error") + } +} -- cgit v1.2.3