2
2
// Use of this source code is governed by a BSD-style
3
3
// license that can be found in the LICENSE file.
4
4
5
- package diff_test
5
+ package myers_test
6
6
7
7
import (
8
8
"flag"
@@ -14,7 +14,7 @@ import (
14
14
"strings"
15
15
"testing"
16
16
17
- "golang.org/x/tools/internal/lsp/diff"
17
+ "golang.org/x/tools/internal/lsp/diff/myers "
18
18
)
19
19
20
20
const (
@@ -28,22 +28,22 @@ var verifyDiff = flag.Bool("verify-diff", false, "Check that the unified diff ou
28
28
func TestDiff (t * testing.T ) {
29
29
for _ , test := range []struct {
30
30
a , b string
31
- lines []* diff .Op
32
- operations []* diff .Op
31
+ lines []* myers .Op
32
+ operations []* myers .Op
33
33
unified string
34
34
nodiff bool
35
35
}{
36
36
{
37
37
a : "A\n B\n C\n " ,
38
38
b : "A\n B\n C\n " ,
39
- operations : []* diff .Op {},
39
+ operations : []* myers .Op {},
40
40
unified : `
41
41
` [1 :]}, {
42
42
a : "A\n " ,
43
43
b : "B\n " ,
44
- operations : []* diff .Op {
45
- & diff .Op {Kind : diff .Delete , I1 : 0 , I2 : 1 , J1 : 0 },
46
- & diff .Op {Kind : diff .Insert , Content : []string {"B\n " }, I1 : 1 , I2 : 1 , J1 : 0 },
44
+ operations : []* myers .Op {
45
+ & myers .Op {Kind : myers .Delete , I1 : 0 , I2 : 1 , J1 : 0 },
46
+ & myers .Op {Kind : myers .Insert , Content : []string {"B\n " }, I1 : 1 , I2 : 1 , J1 : 0 },
47
47
},
48
48
unified : `
49
49
@@ -1 +1 @@
@@ -52,9 +52,9 @@ func TestDiff(t *testing.T) {
52
52
` [1 :]}, {
53
53
a : "A" ,
54
54
b : "B" ,
55
- operations : []* diff .Op {
56
- & diff .Op {Kind : diff .Delete , I1 : 0 , I2 : 1 , J1 : 0 },
57
- & diff .Op {Kind : diff .Insert , Content : []string {"B" }, I1 : 1 , I2 : 1 , J1 : 0 },
55
+ operations : []* myers .Op {
56
+ & myers .Op {Kind : myers .Delete , I1 : 0 , I2 : 1 , J1 : 0 },
57
+ & myers .Op {Kind : myers .Insert , Content : []string {"B" }, I1 : 1 , I2 : 1 , J1 : 0 },
58
58
},
59
59
unified : `
60
60
@@ -1 +1 @@
@@ -65,12 +65,12 @@ func TestDiff(t *testing.T) {
65
65
` [1 :]}, {
66
66
a : "A\n B\n C\n A\n B\n B\n A\n " ,
67
67
b : "C\n B\n A\n B\n A\n C\n " ,
68
- operations : []* diff .Op {
69
- & diff .Op {Kind : diff .Delete , I1 : 0 , I2 : 1 , J1 : 0 },
70
- & diff .Op {Kind : diff .Delete , I1 : 1 , I2 : 2 , J1 : 0 },
71
- & diff .Op {Kind : diff .Insert , Content : []string {"B\n " }, I1 : 3 , I2 : 3 , J1 : 1 },
72
- & diff .Op {Kind : diff .Delete , I1 : 5 , I2 : 6 , J1 : 4 },
73
- & diff .Op {Kind : diff .Insert , Content : []string {"C\n " }, I1 : 7 , I2 : 7 , J1 : 5 },
68
+ operations : []* myers .Op {
69
+ & myers .Op {Kind : myers .Delete , I1 : 0 , I2 : 1 , J1 : 0 },
70
+ & myers .Op {Kind : myers .Delete , I1 : 1 , I2 : 2 , J1 : 0 },
71
+ & myers .Op {Kind : myers .Insert , Content : []string {"B\n " }, I1 : 3 , I2 : 3 , J1 : 1 },
72
+ & myers .Op {Kind : myers .Delete , I1 : 5 , I2 : 6 , J1 : 4 },
73
+ & myers .Op {Kind : myers .Insert , Content : []string {"C\n " }, I1 : 7 , I2 : 7 , J1 : 5 },
74
74
},
75
75
unified : `
76
76
@@ -1,7 +1,6 @@
@@ -89,10 +89,10 @@ func TestDiff(t *testing.T) {
89
89
{
90
90
a : "A\n B\n " ,
91
91
b : "A\n C\n \n " ,
92
- operations : []* diff .Op {
93
- & diff .Op {Kind : diff .Delete , I1 : 1 , I2 : 2 , J1 : 1 },
94
- & diff .Op {Kind : diff .Insert , Content : []string {"C\n " }, I1 : 2 , I2 : 2 , J1 : 1 },
95
- & diff .Op {Kind : diff .Insert , Content : []string {"\n " }, I1 : 2 , I2 : 2 , J1 : 2 },
92
+ operations : []* myers .Op {
93
+ & myers .Op {Kind : myers .Delete , I1 : 1 , I2 : 2 , J1 : 1 },
94
+ & myers .Op {Kind : myers .Insert , Content : []string {"C\n " }, I1 : 2 , I2 : 2 , J1 : 1 },
95
+ & myers .Op {Kind : myers .Insert , Content : []string {"\n " }, I1 : 2 , I2 : 2 , J1 : 2 },
96
96
},
97
97
unified : `
98
98
@@ -1,2 +1,3 @@
@@ -120,9 +120,9 @@ func TestDiff(t *testing.T) {
120
120
+K
121
121
` [1 :]},
122
122
} {
123
- a := diff .SplitLines (test .a )
124
- b := diff .SplitLines (test .b )
125
- ops := diff .Operations (a , b )
123
+ a := myers .SplitLines (test .a )
124
+ b := myers .SplitLines (test .b )
125
+ ops := myers .Operations (a , b )
126
126
if test .operations != nil {
127
127
if len (ops ) != len (test .operations ) {
128
128
t .Fatalf ("expected %v operations, got %v" , len (test .operations ), len (ops ))
@@ -134,15 +134,15 @@ func TestDiff(t *testing.T) {
134
134
}
135
135
}
136
136
}
137
- applied := diff .ApplyEdits (a , ops )
137
+ applied := myers .ApplyEdits (a , ops )
138
138
for i , want := range applied {
139
139
got := b [i ]
140
140
if got != want {
141
141
t .Errorf ("expected %v got %v" , want , got )
142
142
}
143
143
}
144
144
if test .unified != "" {
145
- diff := diff .ToUnified (fileA , fileB , a , ops )
145
+ diff := myers .ToUnified (fileA , fileB , a , ops )
146
146
got := fmt .Sprint (diff )
147
147
if ! strings .HasPrefix (got , unifiedPrefix ) {
148
148
t .Errorf ("expected prefix:\n %s\n got:\n %s" , unifiedPrefix , got )
@@ -166,7 +166,7 @@ func TestDiff(t *testing.T) {
166
166
}
167
167
168
168
func getDiffOutput (a , b string ) (string , error ) {
169
- fileA , err := ioutil .TempFile ("" , "diff .in" )
169
+ fileA , err := ioutil .TempFile ("" , "myers .in" )
170
170
if err != nil {
171
171
return "" , err
172
172
}
@@ -177,7 +177,7 @@ func getDiffOutput(a, b string) (string, error) {
177
177
if err := fileA .Close (); err != nil {
178
178
return "" , err
179
179
}
180
- fileB , err := ioutil .TempFile ("" , "diff .in" )
180
+ fileB , err := ioutil .TempFile ("" , "myers .in" )
181
181
if err != nil {
182
182
return "" , err
183
183
}
0 commit comments