Skip to content

Commit e4c9d81

Browse files
authored
chore: add tests for myers panics (#45)
Add two tests that confirm the panics revealed in #44 (9d6d18c).
1 parent 9d6d18c commit e4c9d81

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

diff/myers/myers_test.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,3 +1293,29 @@ func generateBenchmarkInput(size int, changeRate float64) (string, string) {
12931293

12941294
return strings.Join(aLines, "\n"), strings.Join(bLines, "\n")
12951295
}
1296+
1297+
func TestLinearSpacePanics(t *testing.T) {
1298+
// 1. x/y clamping panic
1299+
t.Run("xy clamping panic", func(t *testing.T) {
1300+
a := []string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"}
1301+
b := []string{"X", "Y", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "Z"}
1302+
1303+
_, err := myers.DiffStrings(a, b,
1304+
myers.WithLinearSpace(true),
1305+
myers.WithSmallInputThreshold(0),
1306+
)
1307+
assert.NoError(t, err)
1308+
})
1309+
1310+
// 2. prefix/suffix limit panic
1311+
t.Run("prefix suffix limit panic", func(t *testing.T) {
1312+
a := []string{"X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X"}
1313+
b := []string{"X", "X", "X", "X", "X", "X", "X", "X", "X", "X"}
1314+
1315+
_, err := myers.DiffStrings(a, b,
1316+
myers.WithLinearSpace(true),
1317+
myers.WithSmallInputThreshold(0),
1318+
)
1319+
assert.NoError(t, err)
1320+
})
1321+
}

0 commit comments

Comments
 (0)