| package toolcall | |
| import ( | |
| "testing" | |
| ) | |
| // --- FormatOpenAIStreamToolCalls --- | |
| func TestFormatOpenAIStreamToolCalls(t *testing.T) { | |
| formatted := FormatOpenAIStreamToolCalls([]ParsedToolCall{ | |
| {Name: "search", Input: map[string]any{"q": "test"}}, | |
| }, nil) | |
| if len(formatted) != 1 { | |
| t.Fatalf("expected 1, got %d", len(formatted)) | |
| } | |
| fn, _ := formatted[0]["function"].(map[string]any) | |
| if fn["name"] != "search" { | |
| t.Fatalf("unexpected function name: %#v", fn) | |
| } | |
| if formatted[0]["index"] != 0 { | |
| t.Fatalf("expected index 0, got %v", formatted[0]["index"]) | |
| } | |
| } | |
| // --- ParseToolCalls edge cases --- | |
| func TestParseToolCallsEmptyText(t *testing.T) { | |
| calls := ParseToolCalls("", []string{"search"}) | |
| if len(calls) != 0 { | |
| t.Fatalf("expected 0 calls for empty text, got %d", len(calls)) | |
| } | |
| } | |