summaryrefslogtreecommitdiffstats
path: root/modules/base/natural_sort_test.go
blob: 7378d9a643f000092453891e0ab42d6d9cac5ffb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright 2017 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package base

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestNaturalSortLess(t *testing.T) {
	test := func(s1, s2 string, less bool) {
		assert.Equal(t, less, NaturalSortLess(s1, s2))
	}
	test("v1.20.0", "v1.2.0", false)
	test("v1.20.0", "v1.29.0", true)
	test("v1.20.0", "v1.20.0", false)
	test("abc", "bcd", true)
	test("a-1-a", "a-1-b", true)
	test("2", "12", true)
	test("a", "ab", true)

	// Test for case insensitive.
	test("A", "ab", true)
	test("B", "ab", false)
	test("a", "AB", true)
	test("b", "AB", false)
}