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}