package output import ( "strings" "testing" "github.com/aisim/kb-cli/internal/search" ) func TestFormatTable(t *testing.T) { results := []search.SearchResult{ {Path: "FAQ/充装类/001.md", Title: "充装问题", Section: "FAQ", Score: 100}, } output := FormatTable(results) if !strings.Contains(output, "FAQ") { t.Error("output should contain section") } if !strings.Contains(output, "100") { t.Error("output should contain score") } } func TestFormatTableEmpty(t *testing.T) { output := FormatTable(nil) if output != "未找到匹配结果" { t.Errorf("output = %q, want %q", output, "未找到匹配结果") } } func TestFormatJSON(t *testing.T) { results := []search.SearchResult{ {Path: "test.md", Title: "Test", Score: 50}, } output, err := FormatJSON(results) if err != nil { t.Fatalf("FormatJSON failed: %v", err) } if !strings.Contains(output, "test.md") { t.Error("JSON should contain path") } }