aboutsummaryrefslogtreecommitdiff
path: root/internal/ini/ini_test.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-27 12:12:19 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-27 12:12:19 +0200
commitb4982d22be0c79949046c9d957354209996acb2e (patch)
tree7608b1c303a2f977a7b4d309072172a900305739 /internal/ini/ini_test.go
parentc5d4388215713324a6cfdebc20aaa5ef594f0174 (diff)
downloadlectio-b4982d22be0c79949046c9d957354209996acb2e.tar.gz
lectio-b4982d22be0c79949046c9d957354209996acb2e.zip
feat(ini): dependency-free INI reader for config and calendar data
Diffstat (limited to 'internal/ini/ini_test.go')
-rw-r--r--internal/ini/ini_test.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/internal/ini/ini_test.go b/internal/ini/ini_test.go
new file mode 100644
index 0000000..d454388
--- /dev/null
+++ b/internal/ini/ini_test.go
@@ -0,0 +1,48 @@
+package ini
+
+import "testing"
+
+func TestParseSectionsAndPairs(t *testing.T) {
+ in := []byte(`
+# a comment
+lectionary = new ; trailing comment
+
+[assumption]
+date = 08-15
+name.pl = Wniebowzięcie ; unicode ok
+rank= solemnity
+
+[assumption/vigil]
+reading.gospel = Łk 11,27-28
+`)
+ secs, err := Parse(in)
+ if err != nil {
+ t.Fatal(err)
+ }
+ // top-level pairs land in a section with empty name, first.
+ if secs[0].Name != "" || len(secs[0].Pairs) != 1 || secs[0].Pairs[0] != (Pair{"lectionary", "new"}) {
+ t.Fatalf("top-level = %+v", secs[0])
+ }
+ if secs[1].Name != "assumption" || secs[1].Pairs[1] != (Pair{"name.pl", "Wniebowzięcie"}) {
+ t.Fatalf("assumption = %+v", secs[1])
+ }
+ if secs[1].Pairs[2] != (Pair{"rank", "solemnity"}) {
+ t.Fatalf("no-space key = %+v", secs[1].Pairs[2])
+ }
+ if secs[2].Name != "assumption/vigil" {
+ t.Fatalf("subsection = %q", secs[2].Name)
+ }
+}
+
+func TestList(t *testing.T) {
+ got := List("bt, wuj ,, vul")
+ want := []string{"bt", "wuj", "vul"}
+ if len(got) != len(want) {
+ t.Fatalf("List = %v", got)
+ }
+ for i := range want {
+ if got[i] != want[i] {
+ t.Fatalf("List[%d] = %q want %q", i, got[i], want[i])
+ }
+ }
+}