gitea源码

natural_sort_test.go 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package base
  4. import (
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestNaturalSortLess(t *testing.T) {
  9. testLess := func(s1, s2 string) {
  10. assert.True(t, NaturalSortLess(s1, s2), "s1<s2 should be true: s1=%q, s2=%q", s1, s2)
  11. assert.False(t, NaturalSortLess(s2, s1), "s2<s1 should be false: s1=%q, s2=%q", s1, s2)
  12. }
  13. testEqual := func(s1, s2 string) {
  14. assert.False(t, NaturalSortLess(s1, s2), "s1<s2 should be false: s1=%q, s2=%q", s1, s2)
  15. assert.False(t, NaturalSortLess(s2, s1), "s2<s1 should be false: s1=%q, s2=%q", s1, s2)
  16. }
  17. testEqual("", "")
  18. testLess("", "a")
  19. testLess("", "1")
  20. testLess("v1.2", "v1.2.0")
  21. testLess("v1.2.0", "v1.10.0")
  22. testLess("v1.20.0", "v1.29.0")
  23. testEqual("v1.20.0", "v1.20.0")
  24. testLess("a", "A")
  25. testLess("a", "B")
  26. testLess("A", "b")
  27. testLess("A", "ab")
  28. testLess("abc", "bcd")
  29. testLess("a-1-a", "a-1-b")
  30. testLess("2", "12")
  31. testLess("cafe", "café")
  32. testLess("café", "caff")
  33. testLess("A-2", "A-11")
  34. testLess("0.txt", "1.txt")
  35. }