mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // 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) {
 | |
| 	testLess := func(s1, s2 string) {
 | |
| 		assert.True(t, NaturalSortLess(s1, s2), "s1<s2 should be true: s1=%q, s2=%q", s1, s2)
 | |
| 		assert.False(t, NaturalSortLess(s2, s1), "s2<s1 should be false: s1=%q, s2=%q", s1, s2)
 | |
| 	}
 | |
| 	testEqual := func(s1, s2 string) {
 | |
| 		assert.False(t, NaturalSortLess(s1, s2), "s1<s2 should be false: s1=%q, s2=%q", s1, s2)
 | |
| 		assert.False(t, NaturalSortLess(s2, s1), "s2<s1 should be false: s1=%q, s2=%q", s1, s2)
 | |
| 	}
 | |
| 
 | |
| 	testEqual("", "")
 | |
| 	testLess("", "a")
 | |
| 	testLess("", "1")
 | |
| 
 | |
| 	testLess("v1.2", "v1.2.0")
 | |
| 	testLess("v1.2.0", "v1.10.0")
 | |
| 	testLess("v1.20.0", "v1.29.0")
 | |
| 	testEqual("v1.20.0", "v1.20.0")
 | |
| 
 | |
| 	testLess("a", "A")
 | |
| 	testLess("a", "B")
 | |
| 	testLess("A", "b")
 | |
| 	testLess("A", "ab")
 | |
| 
 | |
| 	testLess("abc", "bcd")
 | |
| 	testLess("a-1-a", "a-1-b")
 | |
| 	testLess("2", "12")
 | |
| 
 | |
| 	testLess("cafe", "café")
 | |
| 	testLess("café", "caff")
 | |
| 
 | |
| 	testLess("A-2", "A-11")
 | |
| 	testLess("0.txt", "1.txt")
 | |
| }
 | 
