Wrote breaking test for BisectSplit_.
diff --git a/diffmatchpatch/dmp_test.go b/diffmatchpatch/dmp_test.go
index 7724cf7..380895c 100644
--- a/diffmatchpatch/dmp_test.go
+++ b/diffmatchpatch/dmp_test.go
@@ -193,6 +193,17 @@
 	assert.True(t, dmp.DiffHalfMatch("qHilloHelloHew", "xHelloHeHulloy") == nil, "")
 }
 
+func Test_diffBisectSplit(t *testing.T) {
+	// As originally written, this can produce invalid utf8 strings.
+	dmp := New()
+	diffs := dmp.diffBisectSplit_("STUV\x05WX\x05YZ\x05[",
+		"WĺĻļ\x05YZ\x05ĽľĿŀZ", 7, 6, time.Now().Add(time.Hour))
+	for _, d := range diffs {
+		assert.True(t, utf8.ValidString(d.Text))
+	}
+}
+	
+
 func Test_diffLinesToChars(t *testing.T) {
 	dmp := New()
 	// Convert lines down to characters.