commit 613f1eef09c45e09a7172c5a0a3ff1ca1312df2e
parent cca30095e0c64d957b4422e4bdd6a067c3b65a3e
Author: Sean Enck <sean@ttypty.com>
Date: Sat, 7 Dec 2024 16:11:58 -0500
allow env to take a variable as well
Diffstat:
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/internal/app/info.go b/internal/app/info.go
@@ -73,10 +73,11 @@ func info(command string, args []string) ([]string, error) {
case 0:
case 1:
sub := args[0]
- if sub != commands.Completions {
- return nil, fmt.Errorf("unknown env subset: %s", sub)
+ if sub == commands.Completions {
+ set = completions.NewConditionals().Exported
+ } else {
+ set = []string{sub}
}
- set = completions.NewConditionals().Exported
default:
return nil, errors.New("invalid env command, too many arguments")
}
diff --git a/internal/app/info_test.go b/internal/app/info_test.go
@@ -87,9 +87,22 @@ func TestEnvInfo(t *testing.T) {
if strings.TrimSpace(buf.String()) != "LOCKBOX_READONLY=true" {
t.Error("nothing written")
}
- if _, err = app.Info(&buf, "env", []string{"defaults"}); err.Error() != "unknown env subset: defaults" {
+ buf = bytes.Buffer{}
+ ok, err = app.Info(&buf, "env", []string{"LOCKBOX_READONLY"})
+ if !ok || err != nil {
+ t.Errorf("invalid error: %v", err)
+ }
+ if strings.TrimSpace(buf.String()) != "LOCKBOX_READONLY=true" {
+ t.Error("nothing written")
+ }
+ buf = bytes.Buffer{}
+ ok, err = app.Info(&buf, "env", []string{"garbage"})
+ if !ok || err != nil {
t.Errorf("invalid error: %v", err)
}
+ if buf.String() != "\n" {
+ t.Error("nothing written")
+ }
if _, err = app.Info(&buf, "env", []string{"test", "default"}); err.Error() != "invalid env command, too many arguments" {
t.Errorf("invalid error: %v", err)
}