Skip to content

Commit 6ba37a0

Browse files
committed
Fix missing diff preview, revert order to what it was before, add test
1 parent 2410c43 commit 6ba37a0

File tree

2 files changed

+33
-4
lines changed

2 files changed

+33
-4
lines changed

routers/web/web.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1314,16 +1314,17 @@ func registerWebRoutes(m *web.Router) {
13141314
m.Group("/{username}/{reponame}", func() { // repo code
13151315
m.Group("", func() {
13161316
m.Group("", func() {
1317-
m.Combo("/_new/*").Get(repo.NewFile).
1318-
Post(web.Bind(forms.EditRepoFileForm{}), repo.NewFilePost)
1317+
m.Post("/_preview/*", web.Bind(forms.EditPreviewDiffForm{}), repo.DiffPreviewPost)
13191318
m.Combo("/_edit/*").Get(repo.EditFile).
13201319
Post(web.Bind(forms.EditRepoFileForm{}), repo.EditFilePost)
1320+
m.Combo("/_new/*").Get(repo.NewFile).
1321+
Post(web.Bind(forms.EditRepoFileForm{}), repo.NewFilePost)
13211322
m.Combo("/_delete/*").Get(repo.DeleteFile).
13221323
Post(web.Bind(forms.DeleteRepoFileForm{}), repo.DeleteFilePost)
1323-
m.Combo("/_diffpatch/*").Get(repo.NewDiffPatch).
1324-
Post(web.Bind(forms.EditRepoFileForm{}), repo.NewDiffPatchPost)
13251324
m.Combo("/_upload/*", context.MustBeAbleToUpload()).Get(repo.UploadFile).
13261325
Post(web.Bind(forms.UploadRepoFileForm{}), repo.UploadFilePost)
1326+
m.Combo("/_diffpatch/*").Get(repo.NewDiffPatch).
1327+
Post(web.Bind(forms.EditRepoFileForm{}), repo.NewDiffPatchPost)
13271328
m.Combo("/_fork_to_edit/*").
13281329
Post(web.Bind(forms.ForkToEditRepoFileForm{}), repo.ForkToEditFilePost)
13291330
}, context.MustEnableEditor())

tests/integration/editor_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,34 @@ func TestEditFileToNewBranchFork(t *testing.T) {
234234
})
235235
}
236236

237+
func testEditFileDiffPreview(t *testing.T, session *TestSession, user, repo, branch, filePath string) {
238+
// Get to the 'edit this file' page
239+
req := NewRequest(t, "GET", path.Join(user, repo, "_edit", branch, filePath))
240+
resp := session.MakeRequest(t, req, http.StatusOK)
241+
242+
htmlDoc := NewHTMLParser(t, resp.Body)
243+
lastCommit := htmlDoc.GetInputValueByName("last_commit")
244+
assert.NotEmpty(t, lastCommit)
245+
246+
// Preview the changes
247+
req = NewRequestWithValues(t, "POST", path.Join(user, repo, "_preview", branch, filePath),
248+
map[string]string{
249+
"_csrf": htmlDoc.GetCSRF(),
250+
"content": "Hello, World (Edited)\n",
251+
},
252+
)
253+
resp = session.MakeRequest(t, req, http.StatusOK)
254+
255+
assert.Contains(t, resp.Body.String(), `<span class="added-code">Hello, World (Edited)</span>`)
256+
}
257+
258+
func TestEditFileDiffPreview(t *testing.T) {
259+
onGiteaRun(t, func(t *testing.T, u *url.URL) {
260+
session := loginUser(t, "user2")
261+
testEditFileDiffPreview(t, session, "user2", "repo1", "master", "README.md")
262+
})
263+
}
264+
237265
func TestDeleteFile(t *testing.T) {
238266
onGiteaRun(t, func(t *testing.T, u *url.URL) {
239267
session := loginUser(t, "user2")

0 commit comments

Comments
 (0)