package search import "testing" func TestCanonicalURL(t *testing.T) { cases := []struct { in, want string }{ {"https://Example.COM/a/b#frag", "https://example.com/a/b"}, {"http://example.com:80/x", "http://example.com/x"}, {"https://example.com:443/x", "https://example.com/x"}, {"https://example.com/x/", "https://example.com/x"}, {"https://www.example.com/x", "https://www.example.com/x"}, {"https://example.com/", "https://example.com"}, {"HTTP://Ex.com:80/a/?q=1", "http://ex.com/a?q=1"}, } for _, c := range cases { got := CanonicalURL(c.in) if got != c.want { t.Errorf("CanonicalURL(%q)=%q want %q", c.in, got, c.want) } } }