all repos

clerk @ e2e9e2b27783c07fe5724268bf7ae828b3aacac7

missing tooling for ledger/hledger

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

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
improve analyzer, 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
			if _, err := l.LoadFS(fsys, "in.journal"); err != nil {
23
				t.Fatalf("LoadFS: %v", err)
24
			}
25
26
			var buf bytes.Buffer
27
			fprint(&buf, Build(l.Ordered()))
28
			golden.Assert(t, a, buf.String())
29
		})
30
	}
31
}