package fallback_test

import (
	"context"
	"testing"

	"bit.admedia.com/scm/ad/adpilot-indexing-code-parser.com/internal/service/parser/analyzers/fallback"
)

func TestFallbackProducesChunksForUnknownLanguage(t *testing.T) {
	a := fallback.NewAnalyzer()
	source := []byte("fn main() {\n    println!(\"hi\");\n}\n")
	artifact, chunks, err := a.ParseFile(context.Background(), source, "main.rs", "rust")
	if err != nil {
		t.Fatalf("ParseFile: %v", err)
	}
	if len(chunks) == 0 {
		t.Fatal("expected fallback chunks")
	}
	foundLevel := false
	for _, node := range artifact.Nodes {
		if node.Metadata != nil && node.Metadata["fallback_level"] != "" {
			foundLevel = true
		}
	}
	if !foundLevel {
		t.Fatal("expected fallback_level metadata")
	}
}
