From 29e244c48222278c2f255ff2adf45e3af7c9f895 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Fri, 24 Jul 2026 16:50:45 +0200 Subject: export: internal/export (Markdown/Text/ReadingsPDF via pure-Go go-pdf/fpdf + embedded DejaVu Sans, covers pl/la/gr); cli --md/--pdf/--out; web /export + download links; v0.22.0 --- internal/export/export_test.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 internal/export/export_test.go (limited to 'internal/export/export_test.go') diff --git a/internal/export/export_test.go b/internal/export/export_test.go new file mode 100644 index 0000000..7f1c68d --- /dev/null +++ b/internal/export/export_test.go @@ -0,0 +1,41 @@ +package export + +import ( + "bytes" + "strings" + "testing" + + "github.com/lukaszkasprzak/lectio/internal/liturgy" +) + +func sampleSecs() []liturgy.Section { + return []liturgy.Section{{ + Heading: "Ewangelia (Mt 13, 1-9)", + Citation: "Mt 13, 1-9", + PartID: "ewangelia", + Paragraphs: [][]string{{"Owego dnia Jezus wyszedł z domu i usiadł nad jeziorem."}}, + }} +} + +func TestMarkdownAndText(t *testing.T) { + info := liturgy.DayInfo{Name: "Środa XV tygodnia", Colour: "green"} + md := Markdown("2026-07-22", info, sampleSecs(), "bt", "new", "en") + if !strings.Contains(md, "# Środa") || !strings.Contains(md, "## Gospel") || !strings.Contains(md, "Jezus wyszedł") { + t.Errorf("markdown:\n%s", md) + } + txt := Text("2026-07-22", info, sampleSecs(), "bt", "new", "en") + if !strings.Contains(txt, "Jezus wyszedł") || !strings.Contains(txt, "Gospel") { + t.Errorf("text:\n%s", txt) + } +} + +func TestReadingsPDF(t *testing.T) { + info := liturgy.DayInfo{Name: "Środa XV tygodnia"} + pdf, err := ReadingsPDF("2026-07-22", info, sampleSecs(), "bt", "new", "en") + if err != nil { + t.Fatal(err) + } + if len(pdf) < 1000 || !bytes.HasPrefix(pdf, []byte("%PDF")) { + t.Errorf("bad pdf len=%d", len(pdf)) + } +} -- cgit v1.3