mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-22 05:36:16 +00:00
[FEAT] Trim spaces from repository name
- This uses the `TrimSpace` preprocessing of the binding library to remove any accidental spaces from the input. - Integration test added. - Resolves #4309
This commit is contained in:
parent
310376525b
commit
4952747699
|
@ -27,7 +27,7 @@ import (
|
|||
// CreateRepoForm form for creating repository
|
||||
type CreateRepoForm struct {
|
||||
UID int64 `binding:"Required"`
|
||||
RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"`
|
||||
RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)" preprocess:"TrimSpace"`
|
||||
Private bool
|
||||
Description string `binding:"MaxSize(2048)"`
|
||||
DefaultBranch string `binding:"GitRefName;MaxSize(100)"`
|
||||
|
|
|
@ -11,9 +11,11 @@ import (
|
|||
"strings"
|
||||
"testing"
|
||||
|
||||
repo_model "code.gitea.io/gitea/models/repo"
|
||||
"code.gitea.io/gitea/models/unittest"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/test"
|
||||
"code.gitea.io/gitea/modules/translation"
|
||||
"code.gitea.io/gitea/tests"
|
||||
|
||||
|
@ -135,3 +137,19 @@ func TestRepoGenerateToOrg(t *testing.T) {
|
|||
|
||||
testRepoGenerate(t, session, "44", "user27", "template1", user, org, "generated2")
|
||||
}
|
||||
|
||||
func TestRepoCreateFormTrimSpace(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
|
||||
session := loginUser(t, user.Name)
|
||||
|
||||
req := NewRequestWithValues(t, "POST", "/repo/create", map[string]string{
|
||||
"_csrf": GetCSRF(t, session, "/repo/create"),
|
||||
"uid": "2",
|
||||
"repo_name": " spaced-name ",
|
||||
})
|
||||
resp := session.MakeRequest(t, req, http.StatusSeeOther)
|
||||
|
||||
assert.EqualValues(t, "/user2/spaced-name", test.RedirectURL(resp))
|
||||
unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerID: 2, Name: "spaced-name"})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue