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  }