package linkedin import ( "testing" ) func TestNormalizeProfileURL(t *testing.T) { tests := []struct { name string input string want string wantErr bool }{ { name: "standard /in/vanity", input: "https://www.linkedin.com/in/bradlittle", want: "https://www.linkedin.com/in/bradlittle/", wantErr: false, }, { name: "standard /in/vanity with trailing slash", input: "https://www.linkedin.com/in/bradlittle/", want: "https://www.linkedin.com/in/bradlittle/", wantErr: false, }, { name: "preload URL without trailing slash", input: "https://www.linkedin.com/preload/custom-invite/?vanityName=bradlittle", want: "https://www.linkedin.com/preload/custom-invite/?vanityName=bradlittle", wantErr: false, }, { name: "preload URL with trailing slash (bug case)", input: "https://www.linkedin.com/preload/custom-invite/?vanityName=bradlittle", want: "https://www.linkedin.com/preload/custom-invite/?vanityName=bradlittle", wantErr: false, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := normalizeProfileURL(tt.input) if (err != nil) != tt.wantErr { t.Errorf("normalizeProfileURL() error = %v, wantErr %v", err, tt.wantErr) return } if got != tt.want { t.Errorf("normalizeProfileURL() got = %q, want %q", got, tt.want) } }) } }