Merge pull request #73 from sergi/support-1.6-and-1.7

Support Go 1.6 and 1.7
diff --git a/diffmatchpatch/diff_test.go b/diffmatchpatch/diff_test.go
index 9eaf99a..e642c66 100644
--- a/diffmatchpatch/diff_test.go
+++ b/diffmatchpatch/diff_test.go
@@ -1074,6 +1074,29 @@
 	deltaDiffs, err = dmp.DiffFromDelta("", delta)
 	assert.Equal(t, diffs, deltaDiffs)
 	assert.Nil(t, err)
+
+	// Test blank tokens.
+	_, err = dmp.DiffFromDelta("", "")
+	assert.Nil(t, err)
+
+	// Test invalid diff operation "a"
+	_, err = dmp.DiffFromDelta("", "a")
+	if err == nil {
+		assert.Fail(t, "expected Invalid diff operation.")
+	}
+
+	// Test non-numeric parameter
+	_, err = dmp.DiffFromDelta("", "-")
+	if err == nil {
+		assert.Fail(t, "expected Invalid syntax.")
+	}
+
+	// Test negative parameter
+	_, err = dmp.DiffFromDelta("", "--1")
+	if err == nil {
+		assert.Fail(t, "expected Negative number.")
+	}
+
 }
 
 func TestDiffXIndex(t *testing.T) {
diff --git a/diffmatchpatch/patch_test.go b/diffmatchpatch/patch_test.go
index 12d1441..fa1763e 100644
--- a/diffmatchpatch/patch_test.go
+++ b/diffmatchpatch/patch_test.go
@@ -65,6 +65,7 @@
 		{"@@ -1 +1 @@\n-a\n+b\n", ""},
 		{"@@ -1,3 +0,0 @@\n-abc\n", ""},
 		{"@@ -0,0 +1,3 @@\n+abc\n", ""},
+		{"@@ _0,0 +0,0 @@\n+abc\n", "Invalid patch string: @@ _0,0 +0,0 @@"},
 		{"Bad\nPatch\n", "Invalid patch string"},
 	} {
 		patches, err := dmp.PatchFromText(tc.Patch)
@@ -201,6 +202,10 @@
 
 	actual := dmp.PatchToText(patches)
 	assert.Equal(t, "@@ -1,14 +1,16 @@\n Lorem \n+a \n ipsum do\n@@ -148,13 +148,12 @@\n m libero\n- \n vel.\n", actual)
+
+	// Check that empty Patch array is returned for no parameter call
+	patches = dmp.PatchMake()
+	assert.Equal(t, []Patch{}, patches)
 }
 
 func TestPatchSplitMax(t *testing.T) {