1package atsc323import (4 "os"5 "testing"6)78func TestParseDenver(t *testing.T) {9 raw, err := os.ReadFile("testdata/denver.html")10 if err != nil {11 t.Fatal(err)12 }13 hosts, err := Parse(raw)14 if err != nil {15 t.Fatal(err)16 }17 if len(hosts) != 3 {18 t.Fatalf("got %d hosts, want 3", len(hosts))19 }20 k := hosts[0]21 if k.CallSign != "KWGN-TV" || k.RF != "34" || k.Market != "Denver, Colorado" || k.Simulcast != "KDVR" {22 t.Errorf("first host = %+v", k)23 }24 if k.FacilityID == 0 {25 t.Error("facility ID not parsed from the station link")26 }27 if len(k.Services) != 4 {28 t.Fatalf("KWGN-TV services = %d, want 4", len(k.Services))29 }30 cw := k.Services[0]31 if cw.Major != 2 || cw.Minor != 1 || cw.Network != "CW" || cw.Name != "KWGN" || cw.ATSC1Call != "KDVR" || cw.ATSC1Display != "02-1" {32 t.Errorf("CW service = %+v", cw)33 }34 if kxdp := hosts[1]; kxdp.CallSign != "KXDP-LD" || len(kxdp.Services) != 1 || kxdp.Services[0].ATSC1Call != "" {35 t.Errorf("KXDP-LD = %+v", kxdp)36 }37}