build_info_test.go raw

   1  package main
   2  
   3  import "testing"
   4  
   5  type expval struct {
   6  	in, out string
   7  }
   8  
   9  func TestAppID(t *testing.T) {
  10  	t.Parallel()
  11  
  12  	tests := []expval{
  13  		{"example", "localhost.example"},
  14  		{"example.com", "com.example"},
  15  		{"www.example.com", "com.example.www"},
  16  		{"examplecom/app", "examplecom.app"},
  17  		{"example.com/app", "com.example.app"},
  18  		{"www.example.com/app", "com.example.www.app"},
  19  		{"www.en.example.com/app", "com.example.en.www.app"},
  20  		{"example.com/dir/app", "com.example.app"},
  21  		{"example.com/dir.ext/app", "com.example.app"},
  22  		{"example.com/dir/app.ext", "com.example.app.ext"},
  23  		{"example-com.net/dir/app", "net.example_com.app"},
  24  	}
  25  
  26  	for i, test := range tests {
  27  		got := getAppID(&packageMetadata{PkgPath: test.in})
  28  		if exp := test.out; got != exp {
  29  			t.Errorf("(%d): expected '%s', got '%s'", i, exp, got)
  30  		}
  31  	}
  32  }
  33