diffview_test.go

 1package diffview_test
 2
 3import (
 4	_ "embed"
 5	"testing"
 6
 7	"github.com/charmbracelet/x/exp/golden"
 8	"github.com/opencode-ai/opencode/internal/exp/diffview"
 9)
10
11//go:embed testdata/TestDefault.before
12var TestDefaultBefore string
13
14//go:embed testdata/TestDefault.after
15var TestDefaultAfter string
16
17func TestDefault(t *testing.T) {
18	dv := diffview.New().
19		Before("main.go", TestDefaultBefore).
20		After("main.go", TestDefaultAfter)
21
22	t.Run("LightMode", func(t *testing.T) {
23		dv = dv.Style(diffview.DefaultLightStyle)
24		golden.RequireEqual(t, []byte(dv.String()))
25	})
26
27	t.Run("DarkMode", func(t *testing.T) {
28		dv = dv.Style(diffview.DefaultDarkStyle)
29		golden.RequireEqual(t, []byte(dv.String()))
30	})
31}
32
33func TestNoLineNumbers(t *testing.T) {
34	dv := diffview.New().
35		Before("main.go", TestDefaultBefore).
36		After("main.go", TestDefaultAfter).
37		LineNumbers(false)
38
39	t.Run("LightMode", func(t *testing.T) {
40		dv = dv.Style(diffview.DefaultLightStyle)
41		golden.RequireEqual(t, []byte(dv.String()))
42	})
43
44	t.Run("DarkMode", func(t *testing.T) {
45		dv = dv.Style(diffview.DefaultDarkStyle)
46		golden.RequireEqual(t, []byte(dv.String()))
47	})
48}