34 lines
801 B
Go
34 lines
801 B
Go
|
|
package models
|
||
|
|
|
||
|
|
import "testing"
|
||
|
|
|
||
|
|
func TestParseCursorCliModels(t *testing.T) {
|
||
|
|
output := `
|
||
|
|
gpt-4o - GPT-4o (some info)
|
||
|
|
claude-3-5-sonnet - Claude 3.5 Sonnet
|
||
|
|
gpt-4o - GPT-4o duplicate
|
||
|
|
invalid line without dash
|
||
|
|
`
|
||
|
|
result := ParseCursorCliModels(output)
|
||
|
|
|
||
|
|
if len(result) != 2 {
|
||
|
|
t.Fatalf("expected 2 unique models, got %d: %v", len(result), result)
|
||
|
|
}
|
||
|
|
if result[0].ID != "gpt-4o" {
|
||
|
|
t.Errorf("expected gpt-4o, got %s", result[0].ID)
|
||
|
|
}
|
||
|
|
if result[0].Name != "GPT-4o" {
|
||
|
|
t.Errorf("expected 'GPT-4o', got %s", result[0].Name)
|
||
|
|
}
|
||
|
|
if result[1].ID != "claude-3-5-sonnet" {
|
||
|
|
t.Errorf("expected claude-3-5-sonnet, got %s", result[1].ID)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestParseCursorCliModelsEmpty(t *testing.T) {
|
||
|
|
result := ParseCursorCliModels("")
|
||
|
|
if len(result) != 0 {
|
||
|
|
t.Fatalf("expected empty, got %v", result)
|
||
|
|
}
|
||
|
|
}
|