From 391bc0bfbc3cc0d961244b44c6d5ebfc78c645e4 Mon Sep 17 00:00:00 2001 From: Matt Olenik Date: Thu, 28 Feb 2019 10:04:02 -0800 Subject: [PATCH] Fix raw output having quotes --- cmd/common.go | 3 ++- cmd/get_test.go | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cmd/common.go b/cmd/common.go index 28149af..5aba221 100644 --- a/cmd/common.go +++ b/cmd/common.go @@ -16,11 +16,12 @@ func getOutput(obj interface{}, raw bool) (string, error) { if isArray { for _, item := range arr { // Simple output, uses built-in %v, most useful for simple types. - result += fmt.Sprintf("%v", item) + " " + result += strings.Trim(fmt.Sprintf("%v", item), `"`) + " " } result = strings.TrimRight(result, " ") return result, nil } + return strings.Trim(fmt.Sprintf("%v", obj), `"`), nil } jsonBody, err := json.Marshal(obj) if err != nil { diff --git a/cmd/get_test.go b/cmd/get_test.go index ba9b1b5..3ca9d62 100644 --- a/cmd/get_test.go +++ b/cmd/get_test.go @@ -22,6 +22,10 @@ var getTests = []struct { {`a = 12`, ``, Args{"get", "a[]"}, "wrong type"}, {`a = [12]`, `[12]`, Args{"get", "a[]"}, ""}, {`a = [12]`, `12`, Args{"get", "a[0]"}, ""}, + {`a = ["a"]`, `"a"`, Args{"get", "a[0]"}, ""}, + {`a = ["a"]`, `a`, Args{"get", "-r", "a[0]"}, ""}, + {`a = ["a", "b"]`, `["a","b"]`, Args{"get", "a[]"}, ""}, + {`a = ["a", "b"]`, `a b`, Args{"get", "-r", "a[]"}, ""}, {`a = [1, 2, 3]`, `[1,2,3]`, Args{"get", "a[]"}, ""}, {`a = [1, 2, 3]`, `1`, Args{"get", "a[0]"}, ""}, {`a = [1, 2, 3]`, `2`, Args{"get", "a[1]"}, ""}, @@ -32,8 +36,8 @@ var getTests = []struct { {`a = []`, `[]`, Args{"get", "a[]"}, ""}, {`a = []`, ``, Args{"get", "a"}, "wrong type"}, {`a { b = "2" }`, `"2"`, Args{"get", "a.b"}, ""}, - {`a { b = "2" }`, `"2"`, Args{"get", "-r", "a.b"}, ""}, - {`a { b = "2a" }`, `"2a"`, Args{"get", "-r", "a.b"}, ""}, + {`a { b = "2" }`, `2`, Args{"get", "-r", "a.b"}, ""}, + {`a { b = "2a" }`, `2a`, Args{"get", "-r", "a.b"}, ""}, {`a "b" { c = [1] }`, `[1]`, Args{"get", "a.b.c[]"}, ""}, }