From c7db86ed4c5167692efdeb9b45267e709d92a79b Mon Sep 17 00:00:00 2001 From: Jan De Dobbeleer Date: Tue, 16 Feb 2021 13:45:51 +0100 Subject: [PATCH] fix(language): do not parse version when empty relates to #423 --- src/segment_language.go | 3 +++ src/segment_language_test.go | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/segment_language.go b/src/segment_language.go index 0aab485e..dac79a0a 100644 --- a/src/segment_language.go +++ b/src/segment_language.go @@ -157,6 +157,9 @@ func (l *language) setVersion() error { l.exitCode = exitErr.exitCode return fmt.Errorf("err executing %s with %s", command.executable, command.args) } + if version == "" { + continue + } err = command.parse(version) if err != nil { return fmt.Errorf("err parsing info from %s with %s", command.executable, version) diff --git a/src/segment_language_test.go b/src/segment_language_test.go index b9fecb0b..0db52859 100644 --- a/src/segment_language_test.go +++ b/src/segment_language_test.go @@ -243,6 +243,29 @@ func TestLanguageEnabledMissingCommand(t *testing.T) { assert.Equal(t, "", lang.string(), "unicorn is available and uni and corn files are found") } +func TestLanguageEnabledNoVersionData(t *testing.T) { + props := map[Property]interface{}{ + DisplayVersion: true, + } + args := &languageArgs{ + commands: []*cmd{ + { + executable: "uni", + args: []string{"--version"}, + regex: `(?:Python (?P((?P[0-9]+).(?P[0-9]+).(?P[0-9]+))))`, + }, + }, + extensions: []string{uni, corn}, + enabledExtensions: []string{uni, corn}, + enabledCommands: []string{"uni"}, + version: "", + properties: props, + } + lang := bootStrapLanguageTest(args) + assert.True(t, lang.enabled()) + assert.Equal(t, "", lang.string()) +} + func TestLanguageEnabledMissingCommandCustomText(t *testing.T) { expected := "missing" props := map[Property]interface{}{