|
|
@@ -5,6 +5,8 @@ import ( |
|
|
|
"strings" |
|
|
|
"testing" |
|
|
|
|
|
|
|
"code.gitea.io/gitea/modules/setting" |
|
|
|
|
|
|
|
dmp "github.com/sergi/go-diff/diffmatchpatch" |
|
|
|
"github.com/stretchr/testify/assert" |
|
|
|
) |
|
|
@@ -99,6 +101,59 @@ func ExampleCutDiffAroundLine() { |
|
|
|
println(result) |
|
|
|
} |
|
|
|
|
|
|
|
func TestParsePatch(t *testing.T) { |
|
|
|
var diff = `diff --git "a/README.md" "b/README.md" |
|
|
|
--- a/README.md |
|
|
|
+++ b/README.md |
|
|
|
@@ -1,3 +1,6 @@ |
|
|
|
# gitea-github-migrator |
|
|
|
+ |
|
|
|
+ Build Status |
|
|
|
- Latest Release |
|
|
|
Docker Pulls |
|
|
|
+ cut off |
|
|
|
+ cut off` |
|
|
|
result, err := ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff)) |
|
|
|
if err != nil { |
|
|
|
t.Errorf("ParsePatch failed: %s", err) |
|
|
|
} |
|
|
|
println(result) |
|
|
|
|
|
|
|
var diff2 = `diff --git "a/A \\ B" "b/A \\ B" |
|
|
|
--- "a/A \\ B" |
|
|
|
+++ "b/A \\ B" |
|
|
|
@@ -1,3 +1,6 @@ |
|
|
|
# gitea-github-migrator |
|
|
|
+ |
|
|
|
+ Build Status |
|
|
|
- Latest Release |
|
|
|
Docker Pulls |
|
|
|
+ cut off |
|
|
|
+ cut off` |
|
|
|
result, err = ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff2)) |
|
|
|
if err != nil { |
|
|
|
t.Errorf("ParsePatch failed: %s", err) |
|
|
|
} |
|
|
|
println(result) |
|
|
|
|
|
|
|
var diff3 = `diff --git a/README.md b/README.md |
|
|
|
--- a/README.md |
|
|
|
+++ b/README.md |
|
|
|
@@ -1,3 +1,6 @@ |
|
|
|
# gitea-github-migrator |
|
|
|
+ |
|
|
|
+ Build Status |
|
|
|
- Latest Release |
|
|
|
Docker Pulls |
|
|
|
+ cut off |
|
|
|
+ cut off` |
|
|
|
result, err = ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff3)) |
|
|
|
if err != nil { |
|
|
|
t.Errorf("ParsePatch failed: %s", err) |
|
|
|
} |
|
|
|
println(result) |
|
|
|
} |
|
|
|
|
|
|
|
func setupDefaultDiff() *Diff { |
|
|
|
return &Diff{ |
|
|
|
Files: []*DiffFile{ |