// Copyright 2017 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package git import ( "strings" "testing" "github.com/stretchr/testify/assert" ) func TestEntriesCustomSort(t *testing.T) { expected := 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}, } // Start with entries in reverse order to ensure sorting is tested entries := Entries{ &TreeEntry{name: "b-file", entryMode: EntryModeBlob}, &TreeEntry{name: "a-file", entryMode: EntryModeBlob}, &TreeEntry{name: "b-submodule", entryMode: EntryModeCommit}, &TreeEntry{name: "b-dir", entryMode: EntryModeTree}, &TreeEntry{name: "a-submodule", entryMode: EntryModeCommit}, &TreeEntry{name: "a-dir", entryMode: EntryModeTree}, } entries.CustomSort(strings.Compare) assert.Equal(t, expected, entries) }