mirror of
https://github.com/go-gitea/gitea.git
synced 2025-11-10 02:57:14 -05:00
Fix #35852, the root problem is that the "name" field is heavily abused (since #6816, and no way to get a clear fix) There are still a lot of legacy problems in old code. Co-authored-by: Giteabot <teabot@gitea.io>
30 lines
863 B
Go
30 lines
863 B
Go
// Copyright 2017 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package git
|
|
|
|
import (
|
|
"math/rand/v2"
|
|
"slices"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestEntriesCustomSort(t *testing.T) {
|
|
entries := Entries{
|
|
&TreeEntry{name: "a-dir", entryMode: EntryModeTree},
|
|
&TreeEntry{name: "a-submodule", entryMode: EntryModeCommit},
|
|
&TreeEntry{name: "b-dir", entryMode: EntryModeTree},
|
|
&TreeEntry{name: "b-submodule", entryMode: EntryModeCommit},
|
|
&TreeEntry{name: "a-file", entryMode: EntryModeBlob},
|
|
&TreeEntry{name: "b-file", entryMode: EntryModeBlob},
|
|
}
|
|
expected := slices.Clone(entries)
|
|
rand.Shuffle(len(entries), func(i, j int) { entries[i], entries[j] = entries[j], entries[i] })
|
|
assert.NotEqual(t, expected, entries)
|
|
entries.CustomSort(strings.Compare)
|
|
assert.Equal(t, expected, entries)
|
|
}
|