mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-31 20:02:09 +00:00
feat: avoid sorting for MakeSelfOnTop
- Although sorting can be used to make the doer the first user of the list, this isn't optimal and can be instead done with a linear search, remove that entry and add the doer to the front of the slice. - Extra unit test added.
This commit is contained in:
parent
b525eec82b
commit
b500c48fa0
2 changed files with 17 additions and 6 deletions
|
@ -23,4 +23,15 @@ func TestMakeSelfOnTop(t *testing.T) {
|
|||
users = MakeSelfOnTop(&user.User{ID: 2}, []*user.User{{ID: 2}, {ID: 1}})
|
||||
assert.Len(t, users, 2)
|
||||
assert.EqualValues(t, 2, users[0].ID)
|
||||
|
||||
users = MakeSelfOnTop(&user.User{ID: 2}, []*user.User{{ID: 1}})
|
||||
assert.Len(t, users, 1)
|
||||
assert.EqualValues(t, 1, users[0].ID)
|
||||
|
||||
users = MakeSelfOnTop(&user.User{ID: 2}, []*user.User{{ID: 1}, {ID: 2}, {ID: 3}, {ID: 4}})
|
||||
assert.Len(t, users, 4)
|
||||
assert.EqualValues(t, 2, users[0].ID)
|
||||
assert.EqualValues(t, 1, users[1].ID)
|
||||
assert.EqualValues(t, 3, users[2].ID)
|
||||
assert.EqualValues(t, 4, users[3].ID)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue