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