github.com/derat/nup@v0.0.0-20230418113745-15592ba7c620/cmd/nup/client/config_test.go (about) 1 // Copyright 2021 Daniel Erat. 2 // All rights reserved. 3 4 package client 5 6 import "testing" 7 8 func TestConfig_ServerURL(t *testing.T) { 9 for _, tc := range []struct{ server, path, want string }{ 10 {"https://www.example.com", "cmd", "https://www.example.com/cmd"}, 11 {"https://www.example.com", "/cmd", "https://www.example.com/cmd"}, 12 {"https://www.example.com/", "cmd", "https://www.example.com/cmd"}, 13 {"https://www.example.com/", "/cmd", "https://www.example.com/cmd"}, 14 {"https://www.example.com/base", "cmd", "https://www.example.com/base/cmd"}, 15 {"https://www.example.com/base", "/cmd", "https://www.example.com/base/cmd"}, 16 {"https://www.example.com/base/", "cmd", "https://www.example.com/base/cmd"}, 17 {"https://www.example.com/base/", "/cmd", "https://www.example.com/base/cmd"}, 18 } { 19 cfg := Config{ServerURL: tc.server} 20 if got := cfg.GetURL(tc.path); got.String() != tc.want { 21 t.Errorf("ClientConfig{ServerURL: %q}.GetURL(%q) = %q; want %q", 22 tc.server, tc.path, tc.want, got.String()) 23 } 24 } 25 }