all repos

clerk @ 6fdb9097048e212574439fb0da84d0c94aa7e01b

missing tooling for ledger/hledger

clerk/journal/printer/printer_test.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
formatter, 17 hours ago
1
package printer
2
3
import (
4
	"strings"
5
	"testing"
6
7
	"olexsmir.xyz/clerk/internal/testutil/golden"
8
	"olexsmir.xyz/clerk/journal"
9
)
10
11
// TODO: test with custom config options
12
13
func TestRoundTrip(t *testing.T) {
14
	tests := []string{"accounts", "basic", "entries", "amounts", "directives", "sample"}
15
	for _, tname := range tests {
16
		t.Run(tname, func(t *testing.T) {
17
			inp := golden.Load(t, tname)
18
19
			pf, err := journal.NewLoader().LoadBytes(tname+".journal", inp)
20
			if err != nil {
21
				t.Fatal(err)
22
			}
23
			var b strings.Builder
24
			if err := defaultConfig.Fprint(&b, pf.Ast); err != nil {
25
				t.Fatal(err)
26
			}
27
28
			golden.AssertInput(t, b.String(), tname)
29
		})
30
	}
31
}