gitea源码

util_test.go 1.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package bleve
  4. import (
  5. "fmt"
  6. "testing"
  7. "code.gitea.io/gitea/modules/setting"
  8. "code.gitea.io/gitea/modules/test"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func TestBleveGuessFuzzinessByKeyword(t *testing.T) {
  12. defer test.MockVariableValue(&setting.Indexer.TypeBleveMaxFuzzniess, 2)()
  13. scenarios := []struct {
  14. Input string
  15. Fuzziness int // See util.go for the definition of fuzziness in this particular context
  16. }{
  17. {
  18. Input: "",
  19. Fuzziness: 0,
  20. },
  21. {
  22. Input: "Avocado",
  23. Fuzziness: 1,
  24. },
  25. {
  26. Input: "Geschwindigkeit",
  27. Fuzziness: 2,
  28. },
  29. {
  30. Input: "non-exist",
  31. Fuzziness: 0,
  32. },
  33. {
  34. Input: "갃갃갃",
  35. Fuzziness: 0,
  36. },
  37. {
  38. Input: "repo1",
  39. Fuzziness: 0,
  40. },
  41. {
  42. Input: "avocado.md",
  43. Fuzziness: 0,
  44. },
  45. }
  46. for _, scenario := range scenarios {
  47. t.Run(fmt.Sprintf("Fuziniess:%s=%d", scenario.Input, scenario.Fuzziness), func(t *testing.T) {
  48. assert.Equal(t, scenario.Fuzziness, GuessFuzzinessByKeyword(scenario.Input))
  49. })
  50. }
  51. }