This commit is contained in:
coreyog 2019-04-12 21:46:29 +00:00 committed by GitHub
commit 3b162af8da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 31 additions and 9 deletions

View File

@ -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) {

View File

@ -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.

View File

@ -413,13 +413,26 @@ 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
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)

View File

@ -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.

View File

@ -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() {

View File

@ -19,7 +19,7 @@ package spew_test
import (
"fmt"
"github.com/davecgh/go-spew/spew"
"github.com/coreyog/go-spew/spew"
)
type Flag int

View File

@ -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.

View File

@ -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
@ -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"},