mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-15 10:23:52 +01:00
4e33481357
Fix https://github.com/go-gitea/gitea/issues/23715 Other related PRs: * #23717 * #23716 * #23719 This PR is different from others, it tries to resolve the problem fundamentally (and brings more benefits) Although it looks like some more lines are added, actually many new lines are for tests. ---- Before, the code was just "guessing" the file type and try to parse them. <details> ![image](https://user-images.githubusercontent.com/2114189/228002245-57d58e27-1078-4da9-bf42-5bc0b264c6ce.png) </details> This PR: * Always remember the original option file names, and always use correct parser for them. * Another benefit is that we can sort the Label Templates now (before there was a map, its key order is undefined) ![image](https://user-images.githubusercontent.com/2114189/228002432-931b9f18-3908-484b-a36b-04760c9ad132.png)
30 lines
806 B
Go
30 lines
806 B
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package repository
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestMergeCustomLabels(t *testing.T) {
|
|
files := mergeCustomLabelFiles(optionFileList{
|
|
all: []string{"a", "a.yaml", "a.yml"},
|
|
custom: nil,
|
|
})
|
|
assert.EqualValues(t, []string{"a.yaml"}, files, "yaml file should win")
|
|
|
|
files = mergeCustomLabelFiles(optionFileList{
|
|
all: []string{"a", "a.yaml"},
|
|
custom: []string{"a"},
|
|
})
|
|
assert.EqualValues(t, []string{"a"}, files, "custom file should win")
|
|
|
|
files = mergeCustomLabelFiles(optionFileList{
|
|
all: []string{"a", "a.yml", "a.yaml"},
|
|
custom: []string{"a", "a.yml"},
|
|
})
|
|
assert.EqualValues(t, []string{"a.yml"}, files, "custom yml file should win if no yaml")
|
|
}
|