all repos

clerk @ master

missing tooling for ledger/hledger

clerk/internal/analyzer/build_test.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
improve loader, 1 day ago
1
package analyzer
2
3
import (
4
	"bytes"
5
	"testing"
6
7
	"olexsmir.xyz/clerk/internal/testutil/golden"
8
	"olexsmir.xyz/clerk/journal"
9
)
10
11
func TestBuild(t *testing.T) {
12
	tests := []string{"empty", "journal", "include"}
13
	for _, tt := range tests {
14
		t.Run(tt, func(t *testing.T) {
15
			a := golden.Read(t, tt)
16
			fsys, err := a.FS()
17
			if err != nil {
18
				t.Fatal(err)
19
			}
20
21
			l := journal.NewLoader()
22
			rj, err := l.ResolveFS(fsys, "in.journal")
23
			if err != nil {
24
				t.Fatalf("ResolveFS: %v", err)
25
			}
26
27
			var buf bytes.Buffer
28
			fprint(&buf, Build(rj))
29
			golden.Assert(t, a, buf.String())
30
		})
31
	}
32
}