2017-09-19 10:37:03 +02:00
|
|
|
// Copyright 2017 The Gitea Authors. All rights reserved.
|
2022-11-27 19:20:29 +01:00
|
|
|
// SPDX-License-Identifier: MIT
|
2017-09-19 10:37:03 +02:00
|
|
|
|
|
|
|
package base
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestNaturalSortLess(t *testing.T) {
|
|
|
|
test := func(s1, s2 string, less bool) {
|
2024-03-05 16:13:35 +01:00
|
|
|
assert.Equal(t, less, NaturalSortLess(s1, s2), "s1=%q, s2=%q", s1, s2)
|
2017-09-19 10:37:03 +02:00
|
|
|
}
|
|
|
|
test("v1.20.0", "v1.2.0", false)
|
|
|
|
test("v1.20.0", "v1.29.0", true)
|
|
|
|
test("v1.20.0", "v1.20.0", false)
|
2021-01-28 19:08:11 +01:00
|
|
|
test("abc", "bcd", true)
|
2017-09-19 10:37:03 +02:00
|
|
|
test("a-1-a", "a-1-b", true)
|
|
|
|
test("2", "12", true)
|
2021-01-28 19:08:11 +01:00
|
|
|
test("a", "ab", true)
|
2024-03-05 16:13:35 +01:00
|
|
|
|
|
|
|
test("A", "b", true)
|
|
|
|
test("a", "B", true)
|
|
|
|
|
|
|
|
test("cafe", "café", true)
|
|
|
|
test("café", "cafe", false)
|
|
|
|
test("caff", "café", false)
|
2017-09-19 10:37:03 +02:00
|
|
|
}
|