From f1fd14314f83956b18e9b0f01f6ed51c1a8f8c48 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 16 Jan 2019 20:15:04 -0700 Subject: [PATCH 1/4] All code files point to this new repo --- spew/common_test.go | 2 +- spew/dump_test.go | 2 +- spew/dumpcgo_test.go | 2 +- spew/example_test.go | 2 +- spew/format_test.go | 2 +- spew/spew_test.go | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/spew/common_test.go b/spew/common_test.go index 0f5ce47..c455ef6 100644 --- a/spew/common_test.go +++ b/spew/common_test.go @@ -21,7 +21,7 @@ import ( "reflect" "testing" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) // custom type to test Stinger interface on non-pointer receiver. diff --git a/spew/dump_test.go b/spew/dump_test.go index 4a31a2e..753c19f 100644 --- a/spew/dump_test.go +++ b/spew/dump_test.go @@ -67,7 +67,7 @@ import ( "testing" "unsafe" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) // dumpTest is used to describe a test to be performed against the Dump method. diff --git a/spew/dumpcgo_test.go b/spew/dumpcgo_test.go index 108baa5..10b075f 100644 --- a/spew/dumpcgo_test.go +++ b/spew/dumpcgo_test.go @@ -26,7 +26,7 @@ package spew_test import ( "fmt" - "github.com/davecgh/go-spew/spew/testdata" + "github.com/coreyog/go-spew/spew/testdata" ) func addCgoDumpTests() { diff --git a/spew/example_test.go b/spew/example_test.go index c6ec8c6..3ec1dda 100644 --- a/spew/example_test.go +++ b/spew/example_test.go @@ -19,7 +19,7 @@ package spew_test import ( "fmt" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) type Flag int diff --git a/spew/format_test.go b/spew/format_test.go index 87ee965..447588d 100644 --- a/spew/format_test.go +++ b/spew/format_test.go @@ -72,7 +72,7 @@ import ( "testing" "unsafe" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) // formatterTest is used to describe a test to be performed against NewFormatter. diff --git a/spew/spew_test.go b/spew/spew_test.go index b70466c..c11f41d 100644 --- a/spew/spew_test.go +++ b/spew/spew_test.go @@ -23,7 +23,7 @@ import ( "os" "testing" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) // spewFunc is used to identify which public function of the spew package or From 893f686338fa7abe2c6355b0a5b7a46fd0634351 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 16 Jan 2019 20:18:18 -0700 Subject: [PATCH 2/4] When iterating fields, check tag for `spew:"-"` and don't print if present Specifically checks to see if any of the remaining fields will be printed so it can accurately add a comma when more than one field are printed out. Also there's a test for it. --- spew/dump.go | 15 ++++++++++++++- spew/spew_test.go | 9 +++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/spew/dump.go b/spew/dump.go index f78d89f..b52a819 100644 --- a/spew/dump.go +++ b/spew/dump.go @@ -415,11 +415,24 @@ func (d *dumpState) dump(v reflect.Value) { for i := 0; i < numFields; i++ { d.indent() vtf := vt.Field(i) + tag := vtf.Tag.Get("spew") + if tag == "-" { + continue + } d.w.Write([]byte(vtf.Name)) d.w.Write(colonSpaceBytes) d.ignoreNextIndent = true d.dump(d.unpackValue(v.Field(i))) - if i < (numFields - 1) { + + hasAnotherFieldToWrite := false + for j := i + 1; j < numFields; j++ { + vtf = vt.Field(j) + tag = vtf.Tag.Get("spew") + if tag != "-" { + hasAnotherFieldToWrite = true + } + } + if i < (numFields-1) && hasAnotherFieldToWrite { d.w.Write(commaNewlineBytes) } else { d.w.Write(newlineBytes) diff --git a/spew/spew_test.go b/spew/spew_test.go index c11f41d..7d64544 100644 --- a/spew/spew_test.go +++ b/spew/spew_test.go @@ -154,6 +154,13 @@ func initSpewTests() { dt := depthTester{indirCir1{nil}, [1]string{"arr"}, []string{"slice"}, map[string]int{"one": 1}} + type ignoreTester struct { + visible bool + invisible bool `spew:"-"` + } + + it := ignoreTester{true, false} + // Variable for tests on types which implement error interface. te := customError(10) @@ -179,6 +186,8 @@ func initSpewTests() { {scsDefault, fSprint, "", complex(-1, -2), "(-1-2i)"}, {scsDefault, fSprintf, "%v", complex(float32(-3), -4), "(-3-4i)"}, {scsDefault, fSprintln, "", complex(float64(-5), -6), "(-5-6i)\n"}, + {scsDefault, fCSFdump, "", it, "(spew_test.ignoreTester) {\n" + + " visible: (bool) true\n }\n"}, {scsNoMethods, fCSFprint, "", ts, "test"}, {scsNoMethods, fCSFprint, "", &ts, "<*>test"}, {scsNoMethods, fCSFprint, "", tps, "test"}, From 33f49b18307d3e7f5a872741f4782d25e67ba7c6 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 16 Jan 2019 20:20:58 -0700 Subject: [PATCH 3/4] Revert import paths for smoother pull request --- spew/common_test.go | 2 +- spew/dump_test.go | 2 +- spew/dumpcgo_test.go | 2 +- spew/example_test.go | 2 +- spew/format_test.go | 2 +- spew/spew_test.go | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/spew/common_test.go b/spew/common_test.go index c455ef6..0f5ce47 100644 --- a/spew/common_test.go +++ b/spew/common_test.go @@ -21,7 +21,7 @@ import ( "reflect" "testing" - "github.com/coreyog/go-spew/spew" + "github.com/davecgh/go-spew/spew" ) // custom type to test Stinger interface on non-pointer receiver. diff --git a/spew/dump_test.go b/spew/dump_test.go index 753c19f..4a31a2e 100644 --- a/spew/dump_test.go +++ b/spew/dump_test.go @@ -67,7 +67,7 @@ import ( "testing" "unsafe" - "github.com/coreyog/go-spew/spew" + "github.com/davecgh/go-spew/spew" ) // dumpTest is used to describe a test to be performed against the Dump method. diff --git a/spew/dumpcgo_test.go b/spew/dumpcgo_test.go index 10b075f..108baa5 100644 --- a/spew/dumpcgo_test.go +++ b/spew/dumpcgo_test.go @@ -26,7 +26,7 @@ package spew_test import ( "fmt" - "github.com/coreyog/go-spew/spew/testdata" + "github.com/davecgh/go-spew/spew/testdata" ) func addCgoDumpTests() { diff --git a/spew/example_test.go b/spew/example_test.go index 3ec1dda..c6ec8c6 100644 --- a/spew/example_test.go +++ b/spew/example_test.go @@ -19,7 +19,7 @@ package spew_test import ( "fmt" - "github.com/coreyog/go-spew/spew" + "github.com/davecgh/go-spew/spew" ) type Flag int diff --git a/spew/format_test.go b/spew/format_test.go index 447588d..87ee965 100644 --- a/spew/format_test.go +++ b/spew/format_test.go @@ -72,7 +72,7 @@ import ( "testing" "unsafe" - "github.com/coreyog/go-spew/spew" + "github.com/davecgh/go-spew/spew" ) // formatterTest is used to describe a test to be performed against NewFormatter. diff --git a/spew/spew_test.go b/spew/spew_test.go index 7d64544..8192c46 100644 --- a/spew/spew_test.go +++ b/spew/spew_test.go @@ -23,7 +23,7 @@ import ( "os" "testing" - "github.com/coreyog/go-spew/spew" + "github.com/davecgh/go-spew/spew" ) // spewFunc is used to identify which public function of the spew package or From 5fb934ca7a9091d94fac7ec4d0037bd2af0bd9ea Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 12 Apr 2019 15:46:24 -0600 Subject: [PATCH 4/4] Fix indentation after removed fields, reverted imports, updated test --- README.md | 2 +- spew/common_test.go | 2 +- spew/dump.go | 2 +- spew/dump_test.go | 2 +- spew/dumpcgo_test.go | 2 +- spew/example_test.go | 2 +- spew/format_test.go | 2 +- spew/spew_test.go | 4 ++-- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index f6ed02c..e50dabe 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ import ( "html" "net/http" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) func handler(w http.ResponseWriter, r *http.Request) { diff --git a/spew/common_test.go b/spew/common_test.go index 0f5ce47..c455ef6 100644 --- a/spew/common_test.go +++ b/spew/common_test.go @@ -21,7 +21,7 @@ import ( "reflect" "testing" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) // custom type to test Stinger interface on non-pointer receiver. diff --git a/spew/dump.go b/spew/dump.go index b52a819..26e849a 100644 --- a/spew/dump.go +++ b/spew/dump.go @@ -413,12 +413,12 @@ func (d *dumpState) dump(v reflect.Value) { vt := v.Type() numFields := v.NumField() for i := 0; i < numFields; i++ { - d.indent() vtf := vt.Field(i) tag := vtf.Tag.Get("spew") if tag == "-" { continue } + d.indent() d.w.Write([]byte(vtf.Name)) d.w.Write(colonSpaceBytes) d.ignoreNextIndent = true diff --git a/spew/dump_test.go b/spew/dump_test.go index 4a31a2e..753c19f 100644 --- a/spew/dump_test.go +++ b/spew/dump_test.go @@ -67,7 +67,7 @@ import ( "testing" "unsafe" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) // dumpTest is used to describe a test to be performed against the Dump method. diff --git a/spew/dumpcgo_test.go b/spew/dumpcgo_test.go index 108baa5..10b075f 100644 --- a/spew/dumpcgo_test.go +++ b/spew/dumpcgo_test.go @@ -26,7 +26,7 @@ package spew_test import ( "fmt" - "github.com/davecgh/go-spew/spew/testdata" + "github.com/coreyog/go-spew/spew/testdata" ) func addCgoDumpTests() { diff --git a/spew/example_test.go b/spew/example_test.go index c6ec8c6..3ec1dda 100644 --- a/spew/example_test.go +++ b/spew/example_test.go @@ -19,7 +19,7 @@ package spew_test import ( "fmt" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) type Flag int diff --git a/spew/format_test.go b/spew/format_test.go index 87ee965..447588d 100644 --- a/spew/format_test.go +++ b/spew/format_test.go @@ -72,7 +72,7 @@ import ( "testing" "unsafe" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) // formatterTest is used to describe a test to be performed against NewFormatter. diff --git a/spew/spew_test.go b/spew/spew_test.go index 8192c46..a9239ac 100644 --- a/spew/spew_test.go +++ b/spew/spew_test.go @@ -23,7 +23,7 @@ import ( "os" "testing" - "github.com/davecgh/go-spew/spew" + "github.com/coreyog/go-spew/spew" ) // spewFunc is used to identify which public function of the spew package or @@ -187,7 +187,7 @@ func initSpewTests() { {scsDefault, fSprintf, "%v", complex(float32(-3), -4), "(-3-4i)"}, {scsDefault, fSprintln, "", complex(float64(-5), -6), "(-5-6i)\n"}, {scsDefault, fCSFdump, "", it, "(spew_test.ignoreTester) {\n" + - " visible: (bool) true\n }\n"}, + " visible: (bool) true\n}\n"}, {scsNoMethods, fCSFprint, "", ts, "test"}, {scsNoMethods, fCSFprint, "", &ts, "<*>test"}, {scsNoMethods, fCSFprint, "", tps, "test"},