Merge 5fb934ca7a
into d8f796af33
This commit is contained in:
commit
3b162af8da
|
@ -75,7 +75,7 @@ import (
|
||||||
"html"
|
"html"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/davecgh/go-spew/spew"
|
"github.com/coreyog/go-spew/spew"
|
||||||
)
|
)
|
||||||
|
|
||||||
func handler(w http.ResponseWriter, r *http.Request) {
|
func handler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
|
@ -21,7 +21,7 @@ import (
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/davecgh/go-spew/spew"
|
"github.com/coreyog/go-spew/spew"
|
||||||
)
|
)
|
||||||
|
|
||||||
// custom type to test Stinger interface on non-pointer receiver.
|
// custom type to test Stinger interface on non-pointer receiver.
|
||||||
|
|
17
spew/dump.go
17
spew/dump.go
|
@ -413,13 +413,26 @@ func (d *dumpState) dump(v reflect.Value) {
|
||||||
vt := v.Type()
|
vt := v.Type()
|
||||||
numFields := v.NumField()
|
numFields := v.NumField()
|
||||||
for i := 0; i < numFields; i++ {
|
for i := 0; i < numFields; i++ {
|
||||||
d.indent()
|
|
||||||
vtf := vt.Field(i)
|
vtf := vt.Field(i)
|
||||||
|
tag := vtf.Tag.Get("spew")
|
||||||
|
if tag == "-" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
d.indent()
|
||||||
d.w.Write([]byte(vtf.Name))
|
d.w.Write([]byte(vtf.Name))
|
||||||
d.w.Write(colonSpaceBytes)
|
d.w.Write(colonSpaceBytes)
|
||||||
d.ignoreNextIndent = true
|
d.ignoreNextIndent = true
|
||||||
d.dump(d.unpackValue(v.Field(i)))
|
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)
|
d.w.Write(commaNewlineBytes)
|
||||||
} else {
|
} else {
|
||||||
d.w.Write(newlineBytes)
|
d.w.Write(newlineBytes)
|
||||||
|
|
|
@ -67,7 +67,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"unsafe"
|
"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.
|
// dumpTest is used to describe a test to be performed against the Dump method.
|
||||||
|
|
|
@ -26,7 +26,7 @@ package spew_test
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/davecgh/go-spew/spew/testdata"
|
"github.com/coreyog/go-spew/spew/testdata"
|
||||||
)
|
)
|
||||||
|
|
||||||
func addCgoDumpTests() {
|
func addCgoDumpTests() {
|
||||||
|
|
|
@ -19,7 +19,7 @@ package spew_test
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/davecgh/go-spew/spew"
|
"github.com/coreyog/go-spew/spew"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Flag int
|
type Flag int
|
||||||
|
|
|
@ -72,7 +72,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"unsafe"
|
"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.
|
// formatterTest is used to describe a test to be performed against NewFormatter.
|
||||||
|
|
|
@ -23,7 +23,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"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
|
// 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"},
|
dt := depthTester{indirCir1{nil}, [1]string{"arr"}, []string{"slice"},
|
||||||
map[string]int{"one": 1}}
|
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.
|
// Variable for tests on types which implement error interface.
|
||||||
te := customError(10)
|
te := customError(10)
|
||||||
|
|
||||||
|
@ -179,6 +186,8 @@ func initSpewTests() {
|
||||||
{scsDefault, fSprint, "", complex(-1, -2), "(-1-2i)"},
|
{scsDefault, fSprint, "", complex(-1, -2), "(-1-2i)"},
|
||||||
{scsDefault, fSprintf, "%v", complex(float32(-3), -4), "(-3-4i)"},
|
{scsDefault, fSprintf, "%v", complex(float32(-3), -4), "(-3-4i)"},
|
||||||
{scsDefault, fSprintln, "", complex(float64(-5), -6), "(-5-6i)\n"},
|
{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, "", &ts, "<*>test"},
|
{scsNoMethods, fCSFprint, "", &ts, "<*>test"},
|
||||||
{scsNoMethods, fCSFprint, "", tps, "test"},
|
{scsNoMethods, fCSFprint, "", tps, "test"},
|
||||||
|
|
Loading…
Reference in New Issue