github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/project/registry_test.go (about) 1 package project_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "github.com/ActiveState/cli/pkg/project" 9 ) 10 11 func TestRegisterExpander_RequiresNonBlankName(t *testing.T) { 12 err := project.RegisterExpander("", func(_ string, n string, _ string, _ bool, ctx *project.Expansion) (string, error) { 13 return "", nil 14 }) 15 assert.ErrorIs(t, err, project.ErrExpandBadName) 16 assert.False(t, project.IsRegistered("")) 17 18 err = project.RegisterExpander(" \n \t\f ", func(_ string, n string, _ string, _ bool, ctx *project.Expansion) (string, error) { 19 return "", nil 20 }) 21 assert.ErrorIs(t, err, project.ErrExpandBadName) 22 assert.False(t, project.IsRegistered(" \n \t\f ")) 23 } 24 25 func TestRegisterExpander_FuncCannotBeNil(t *testing.T) { 26 err := project.RegisterExpander("tests", nil) 27 assert.ErrorIs(t, err, project.ErrExpandNoFunc) 28 assert.False(t, project.IsRegistered("tests")) 29 } 30 31 func TestRegisterExpander(t *testing.T) { 32 assert.False(t, project.IsRegistered("lobsters")) 33 err := project.RegisterExpander("lobsters", func(_ string, n string, _ string, _ bool, ctx *project.Expansion) (string, error) { 34 return "", nil 35 }) 36 assert.Nil(t, err) 37 assert.True(t, project.IsRegistered("lobsters")) 38 }