feat(language): disable when at home

resolves #547
This commit is contained in:
Jan De Dobbeleer 2021-03-22 19:19:08 +01:00 committed by Jan De Dobbeleer
parent d213286ead
commit 542ef2b73e
7 changed files with 40 additions and 0 deletions

View file

@ -26,6 +26,8 @@ func bootStrapDotnetTest(args *dotnetArgs) *dotnet {
env.On("hasFiles", "*.cs").Return(true)
env.On("getPathSeperator", nil).Return("")
env.On("getcwd", nil).Return("/usr/home/project")
env.On("homeDir", nil).Return("/usr/home")
props := &properties{
values: map[Property]interface{}{
DisplayVersion: args.displayVersion,

View file

@ -21,6 +21,8 @@ func TestGolang(t *testing.T) {
env.On("hasCommand", "go").Return(true)
env.On("runCommand", "go", []string{"version"}).Return(tc.Version, nil)
env.On("hasFiles", "*.go").Return(true)
env.On("getcwd", nil).Return("/usr/home/project")
env.On("homeDir", nil).Return("/usr/home")
props := &properties{
values: map[Property]interface{}{
DisplayVersion: true,

View file

@ -38,6 +38,8 @@ func TestJava(t *testing.T) {
env.On("hasCommand", "java").Return(true)
env.On("runCommand", "java", []string{"-Xinternalversion"}).Return(tc.Version, nil)
env.On("hasFiles", "pom.xml").Return(true)
env.On("getcwd", nil).Return("/usr/home/project")
env.On("homeDir", nil).Return("/usr/home")
if tc.JavaHomeEnabled {
env.On("getenv", "JAVA_HOME").Return("/usr/java")
env.On("hasCommand", "/usr/java/bin/java").Return(true)

View file

@ -116,6 +116,9 @@ func (l *language) string() string {
}
func (l *language) enabled() bool {
if l.env.getcwd() == l.env.homeDir() {
return false
}
l.loadLanguageContext()
displayMode := l.props.getString(DisplayMode, DisplayModeFiles)
switch displayMode {

View file

@ -22,6 +22,7 @@ type languageArgs struct {
expectedError error
properties map[Property]interface{}
matchesVersionFile matchesVersionFile
inHome bool
}
func (l *languageArgs) hasvalue(value string, list []string) bool {
@ -42,6 +43,13 @@ func bootStrapLanguageTest(args *languageArgs) *language {
for _, extension := range args.extensions {
env.On("hasFiles", extension).Return(args.hasvalue(extension, args.enabledExtensions))
}
home := "/usr/home"
cwd := "/usr/home/project"
if args.inHome {
cwd = home
}
env.On("getcwd", nil).Return(cwd)
env.On("homeDir", nil).Return(home)
props := &properties{
values: args.properties,
}
@ -141,6 +149,25 @@ func TestLanguageEnabledOneExtensionFound(t *testing.T) {
assert.Equal(t, universion, lang.string(), "unicorn is available and uni files are found")
}
func TestLanguageDisabledInHome(t *testing.T) {
args := &languageArgs{
commands: []*cmd{
{
executable: "unicorn",
args: []string{"--version"},
regex: "(?P<version>.*)",
},
},
extensions: []string{uni, corn},
enabledExtensions: []string{uni},
enabledCommands: []string{"unicorn"},
version: universion,
inHome: true,
}
lang := bootStrapLanguageTest(args)
assert.False(t, lang.enabled())
}
func TestLanguageEnabledSecondExtensionFound(t *testing.T) {
args := &languageArgs{
commands: []*cmd{

View file

@ -35,6 +35,8 @@ func TestPythonVirtualEnv(t *testing.T) {
env.On("getenv", "CONDA_DEFAULT_ENV").Return(tc.CondaDefaultEnvName)
env.On("getenv", "PYENV_VERSION").Return(tc.PyEnvName)
env.On("getPathSeperator", nil).Return("")
env.On("getcwd", nil).Return("/usr/home/project")
env.On("homeDir", nil).Return("/usr/home")
props := &properties{
values: map[Property]interface{}{
DisplayVersion: tc.DisplayVersion,

View file

@ -96,6 +96,8 @@ func TestRuby(t *testing.T) {
env.On("hasFiles", "*.rb").Return(tc.HasRubyFiles)
env.On("hasFiles", "Rakefile").Return(tc.HasRakeFile)
env.On("hasFiles", "Gemfile").Return(tc.HasGemFile)
env.On("getcwd", nil).Return("/usr/home/project")
env.On("homeDir", nil).Return("/usr/home")
props := &properties{
values: map[Property]interface{}{
DisplayVersion: tc.DisplayVersion,