package main import "testing" func TestSplitRefEntry(t *testing.T) { code, ref, ok := splitRefEntry("rda@st-25") if !ok || code != "RDA" || ref != "ST-25" { t.Fatalf("got %q %q %v", code, ref, ok) } // The picker writes what the operator typed, spacing included. if _, ref, _ = splitRefEntry("POTA@ fr-1234 "); ref != "FR-1234" { t.Fatalf("not trimmed: %q", ref) } // A reference can contain the separator characters of a label; only the // FIRST @ splits, so "IOTA@EU-064" survives and a stray one does not create // an award out of nothing. for _, bad := range []string{"", "RDA", "@ST-25", "RDA@", "RDA@ "} { if _, _, ok := splitRefEntry(bad); ok { t.Fatalf("%q accepted", bad) } } }