1717package cli
1818
1919import (
20+ "fmt"
2021 "os"
2122 "path/filepath"
2223 "testing"
@@ -33,6 +34,54 @@ func TestProjectName(t *testing.T) {
3334 assert .Equal (t , p .Name , "my_project" )
3435 })
3536
37+ t .Run ("by name start with number" , func (t * testing.T ) {
38+ opts , err := NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithName ("42my_project_num" ))
39+ assert .NilError (t , err )
40+ p , err := ProjectFromOptions (opts )
41+ assert .NilError (t , err )
42+ assert .Equal (t , p .Name , "42my_project_num" )
43+
44+ opts , err = NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithEnv ([]string {
45+ fmt .Sprintf ("%s=%s" , ComposeProjectName , "42my_project_env" ),
46+ }))
47+ assert .NilError (t , err )
48+ p , err = ProjectFromOptions (opts )
49+ assert .NilError (t , err )
50+ assert .Equal (t , p .Name , "42my_project_env" )
51+ })
52+
53+ t .Run ("by name start with invalid char '-'" , func (t * testing.T ) {
54+ opts , err := NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithName ("-my_project" ))
55+ assert .NilError (t , err )
56+ p , err := ProjectFromOptions (opts )
57+ assert .NilError (t , err )
58+ assert .Equal (t , p .Name , "my_project" )
59+
60+ opts , err = NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithEnv ([]string {
61+ fmt .Sprintf ("%s=%s" , ComposeProjectName , "-my_project" ),
62+ }))
63+ assert .NilError (t , err )
64+ p , err = ProjectFromOptions (opts )
65+ assert .NilError (t , err )
66+ assert .Equal (t , p .Name , "my_project" )
67+ })
68+
69+ t .Run ("by name start with invalid char '_'" , func (t * testing.T ) {
70+ opts , err := NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithName ("_my_project" ))
71+ assert .NilError (t , err )
72+ p , err := ProjectFromOptions (opts )
73+ assert .NilError (t , err )
74+ assert .Equal (t , p .Name , "my_project" )
75+
76+ opts , err = NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithEnv ([]string {
77+ fmt .Sprintf ("%s=%s" , ComposeProjectName , "_my_project" ),
78+ }))
79+ assert .NilError (t , err )
80+ p , err = ProjectFromOptions (opts )
81+ assert .NilError (t , err )
82+ assert .Equal (t , p .Name , "my_project" )
83+ })
84+
3685 t .Run ("by working dir" , func (t * testing.T ) {
3786 opts , err := NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithWorkingDirectory ("." ))
3887 assert .NilError (t , err )
0 commit comments