Skip to content

Commit

Permalink
feat(language): disable when at home
Browse files Browse the repository at this point in the history
resolves #547
  • Loading branch information
JanDeDobbeleer committed Mar 22, 2021
1 parent d213286 commit 542ef2b
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/segment_dotnet_test.go
Expand Up @@ -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,
Expand Down
2 changes: 2 additions & 0 deletions src/segment_golang_test.go
Expand Up @@ -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,
Expand Down
2 changes: 2 additions & 0 deletions src/segment_java_test.go
Expand Up @@ -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)
Expand Down
3 changes: 3 additions & 0 deletions src/segment_language.go
Expand Up @@ -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 {
Expand Down
27 changes: 27 additions & 0 deletions src/segment_language_test.go
Expand Up @@ -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 {
Expand All @@ -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,
}
Expand Down Expand Up @@ -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{
Expand Down
2 changes: 2 additions & 0 deletions src/segment_python_test.go
Expand Up @@ -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,
Expand Down
2 changes: 2 additions & 0 deletions src/segment_ruby_test.go
Expand Up @@ -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,
Expand Down

0 comments on commit 542ef2b

Please sign in to comment.