1
0
mirror of https://github.com/golang/go synced 2024-11-19 03:54:42 -07:00
go/internal/lsp/diff/diff_test.go
Ian Cottrell 5bee6a6eb8 internal/lsp: cleanup the diff package
Make sure everything is documented and move things to sensible files now all the
cross package shuffling is done

Change-Id: I884053a207d6741cda066afa5da91b00f1dfd31c
Reviewed-on: https://go-review.googlesource.com/c/tools/+/198877
Run-TryBot: Ian Cottrell <iancottrell@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2019-10-05 01:43:51 +00:00

31 lines
770 B
Go

package diff_test
import (
"testing"
"golang.org/x/tools/internal/lsp/diff"
"golang.org/x/tools/internal/span"
)
func TestApplyEdits(t *testing.T) {
var testCases = []struct {
before string
edits []diff.TextEdit
want string
}{
{"", nil, ""},
{"X", []diff.TextEdit{{newSpan(0, 1), "Y"}}, "Y"},
{" X ", []diff.TextEdit{{newSpan(1, 2), "Y"}}, " Y "},
{" X X ", []diff.TextEdit{{newSpan(1, 2), "Y"}, {newSpan(3, 4), "Z"}}, " Y Z "},
}
for _, tc := range testCases {
if got := diff.ApplyEdits(tc.before, tc.edits); got != tc.want {
t.Errorf("applyEdits(%v, %v): got %v, want %v", tc.before, tc.edits, got, tc.want)
}
}
}
func newSpan(start, end int) span.Span {
return span.New("", span.NewPoint(0, 0, start), span.NewPoint(0, 0, end))
}