aboutsummaryrefslogtreecommitdiffstats
path: root/modules/indexer/internal/bleve/util_test.go
blob: 1a7e4db0f4234c7a989238c69bc444b517cc6e86 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package bleve

import (
	"fmt"
	"testing"

	"code.gitea.io/gitea/modules/setting"
	"code.gitea.io/gitea/modules/test"

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

func TestBleveGuessFuzzinessByKeyword(t *testing.T) {
	defer test.MockVariableValue(&setting.Indexer.TypeBleveMaxFuzzniess, 2)()

	scenarios := []struct {
		Input     string
		Fuzziness int // See util.go for the definition of fuzziness in this particular context
	}{
		{
			Input:     "",
			Fuzziness: 0,
		},
		{
			Input:     "Avocado",
			Fuzziness: 1,
		},
		{
			Input:     "Geschwindigkeit",
			Fuzziness: 2,
		},
		{
			Input:     "non-exist",
			Fuzziness: 0,
		},
		{
			Input:     "갃갃갃",
			Fuzziness: 0,
		},
		{
			Input:     "repo1",
			Fuzziness: 0,
		},
		{
			Input:     "avocado.md",
			Fuzziness: 0,
		},
	}

	for _, scenario := range scenarios {
		t.Run(fmt.Sprintf("Fuziniess:%s=%d", scenario.Input, scenario.Fuzziness), func(t *testing.T) {
			assert.Equal(t, scenario.Fuzziness, GuessFuzzinessByKeyword(scenario.Input))
		})
	}
}