Ctrl K
ComunidadGuías…

agent/filefinder/export_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package filefinder

// Test helpers that need internal access.

// MakeTestSnapshot builds a Snapshot from a list of paths. Useful for
// query-level tests that don't need a real filesystem.
func MakeTestSnapshot(paths []string) *Snapshot {
	idx := NewIndex()
	for _, p := range paths {
		idx.Add(p, 0)
	}
	return idx.Snapshot()
}

// BuildTestIndex walks root and returns a populated Index, the same
// way Engine.AddRoot does but without starting a watcher.
func BuildTestIndex(root string) (*Index, error) {
	return walkRoot(root)
}

// IndexIsDeleted reports whether the document at id is tombstoned.
func IndexIsDeleted(idx *Index, id uint32) bool {
	return idx.deleted[id]
}

// IndexByGramLen returns the number of entries in the trigram index.
func IndexByGramLen(idx *Index) int {
	return len(idx.byGram)
}

// IndexByPrefix1Len returns the number of posting-list entries for
// the given single-byte prefix.
func IndexByPrefix1Len(idx *Index, b byte) int {
	return len(idx.byPrefix1[b])
}

// SnapshotCount returns the number of documents in a Snapshot.
func SnapshotCount(snap *Snapshot) int {
	return len(snap.docs)
}

// EngineSnapLen returns the number of root snapshots currently held
// by the engine, or -1 if the pointer is nil.
func EngineSnapLen(eng *Engine) int {
	p := eng.snap.Load()
	if p == nil {
		return -1
	}
	return len(*p)
}

// DefaultScoreParamsForTest exposes defaultScoreParams for tests.
var DefaultScoreParamsForTest = defaultScoreParams

// ScoreParamsForTest is a type alias for scoreParams.
type ScoreParamsForTest = scoreParams

// Exported aliases for internal functions used in tests.
var (
	NewQueryPlanForTest           = newQueryPlan
	SearchSnapshotForTest         = searchSnapshot
	IntersectSortedForTest        = intersectSorted
	IntersectAllForTest           = intersectAll
	MergeAndScoreForTest          = mergeAndScore
	NormalizeQueryForTest         = normalizeQuery
	NormalizePathBytesForTest     = normalizePathBytes
	ExtractTrigramsForTest        = extractTrigrams
	ExtractBasenameForTest        = extractBasename
	ExtractSegmentsForTest        = extractSegments
	Prefix1ForTest                = prefix1
	Prefix2ForTest                = prefix2
	IsSubsequenceForTest          = isSubsequence
	LongestContiguousMatchForTest = longestContiguousMatch
	IsBoundaryForTest             = isBoundary
	CountBoundaryHitsForTest      = countBoundaryHits
	EqualFoldASCIIForTest         = equalFoldASCII
	ScorePathForTest              = scorePath
	PackTrigramForTest            = packTrigram
)

// Type aliases for internal types used in tests.
type (
	CandidateForTest = candidate
	QueryPlanForTest = queryPlan
)