Add test for new %#v and %#+v Formatter flags.
This commit is contained in:
parent
1f81f22357
commit
8591790312
|
@ -84,6 +84,7 @@ func addIntFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "int8"
|
||||
vs := "127"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -93,6 +94,14 @@ func addIntFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Max int16.
|
||||
v2 := int16(32767)
|
||||
|
@ -100,6 +109,7 @@ func addIntFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "int16"
|
||||
v2s := "32767"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -109,6 +119,14 @@ func addIntFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
|
||||
// Max int32.
|
||||
v3 := int32(2147483647)
|
||||
|
@ -116,6 +134,7 @@ func addIntFormatterTests() {
|
|||
pv3 := &v3
|
||||
v3Addr := fmt.Sprintf("%p", pv3)
|
||||
pv3Addr := fmt.Sprintf("%p", &pv3)
|
||||
v3t := "int32"
|
||||
v3s := "2147483647"
|
||||
addFormatterTest("%v", v3, v3s)
|
||||
addFormatterTest("%v", pv3, "<*>"+v3s)
|
||||
|
@ -125,6 +144,14 @@ func addIntFormatterTests() {
|
|||
addFormatterTest("%+v", pv3, "<*>("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", &pv3, "<**>("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%#v", v3, "("+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", pv3, "(*"+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", &pv3, "(**"+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v3, "("+v3t+")"+v3s)
|
||||
addFormatterTest("%#+v", pv3, "(*"+v3t+")("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%#+v", &pv3, "(**"+v3t+")("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
|
||||
// Max int64.
|
||||
v4 := int64(9223372036854775807)
|
||||
|
@ -132,6 +159,7 @@ func addIntFormatterTests() {
|
|||
pv4 := &v4
|
||||
v4Addr := fmt.Sprintf("%p", pv4)
|
||||
pv4Addr := fmt.Sprintf("%p", &pv4)
|
||||
v4t := "int64"
|
||||
v4s := "9223372036854775807"
|
||||
addFormatterTest("%v", v4, v4s)
|
||||
addFormatterTest("%v", pv4, "<*>"+v4s)
|
||||
|
@ -141,6 +169,14 @@ func addIntFormatterTests() {
|
|||
addFormatterTest("%+v", pv4, "<*>("+v4Addr+")"+v4s)
|
||||
addFormatterTest("%+v", &pv4, "<**>("+pv4Addr+"->"+v4Addr+")"+v4s)
|
||||
addFormatterTest("%+v", nv4, "<nil>")
|
||||
addFormatterTest("%#v", v4, "("+v4t+")"+v4s)
|
||||
addFormatterTest("%#v", pv4, "(*"+v4t+")"+v4s)
|
||||
addFormatterTest("%#v", &pv4, "(**"+v4t+")"+v4s)
|
||||
addFormatterTest("%#v", nv4, "(*"+v4t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v4, "("+v4t+")"+v4s)
|
||||
addFormatterTest("%#+v", pv4, "(*"+v4t+")("+v4Addr+")"+v4s)
|
||||
addFormatterTest("%#+v", &pv4, "(**"+v4t+")("+pv4Addr+"->"+v4Addr+")"+v4s)
|
||||
addFormatterTest("%#+v", nv4, "(*"+v4t+")"+"<nil>")
|
||||
|
||||
// Max int.
|
||||
v5 := int(2147483647)
|
||||
|
@ -148,6 +184,7 @@ func addIntFormatterTests() {
|
|||
pv5 := &v5
|
||||
v5Addr := fmt.Sprintf("%p", pv5)
|
||||
pv5Addr := fmt.Sprintf("%p", &pv5)
|
||||
v5t := "int"
|
||||
v5s := "2147483647"
|
||||
addFormatterTest("%v", v5, v5s)
|
||||
addFormatterTest("%v", pv5, "<*>"+v5s)
|
||||
|
@ -157,6 +194,14 @@ func addIntFormatterTests() {
|
|||
addFormatterTest("%+v", pv5, "<*>("+v5Addr+")"+v5s)
|
||||
addFormatterTest("%+v", &pv5, "<**>("+pv5Addr+"->"+v5Addr+")"+v5s)
|
||||
addFormatterTest("%+v", nv5, "<nil>")
|
||||
addFormatterTest("%#v", v5, "("+v5t+")"+v5s)
|
||||
addFormatterTest("%#v", pv5, "(*"+v5t+")"+v5s)
|
||||
addFormatterTest("%#v", &pv5, "(**"+v5t+")"+v5s)
|
||||
addFormatterTest("%#v", nv5, "(*"+v5t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v5, "("+v5t+")"+v5s)
|
||||
addFormatterTest("%#+v", pv5, "(*"+v5t+")("+v5Addr+")"+v5s)
|
||||
addFormatterTest("%#+v", &pv5, "(**"+v5t+")("+pv5Addr+"->"+v5Addr+")"+v5s)
|
||||
addFormatterTest("%#+v", nv5, "(*"+v5t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addUintFormatterTests() {
|
||||
|
@ -166,6 +211,7 @@ func addUintFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "uint8"
|
||||
vs := "255"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -175,6 +221,14 @@ func addUintFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Max uint16.
|
||||
v2 := uint16(65535)
|
||||
|
@ -182,6 +236,7 @@ func addUintFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "uint16"
|
||||
v2s := "65535"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -191,6 +246,14 @@ func addUintFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
|
||||
// Max uint32.
|
||||
v3 := uint32(4294967295)
|
||||
|
@ -198,6 +261,7 @@ func addUintFormatterTests() {
|
|||
pv3 := &v3
|
||||
v3Addr := fmt.Sprintf("%p", pv3)
|
||||
pv3Addr := fmt.Sprintf("%p", &pv3)
|
||||
v3t := "uint32"
|
||||
v3s := "4294967295"
|
||||
addFormatterTest("%v", v3, v3s)
|
||||
addFormatterTest("%v", pv3, "<*>"+v3s)
|
||||
|
@ -207,6 +271,14 @@ func addUintFormatterTests() {
|
|||
addFormatterTest("%+v", pv3, "<*>("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", &pv3, "<**>("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%#v", v3, "("+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", pv3, "(*"+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", &pv3, "(**"+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v3, "("+v3t+")"+v3s)
|
||||
addFormatterTest("%#+v", pv3, "(*"+v3t+")("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%#+v", &pv3, "(**"+v3t+")("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
|
||||
// Max uint64.
|
||||
v4 := uint64(18446744073709551615)
|
||||
|
@ -214,6 +286,7 @@ func addUintFormatterTests() {
|
|||
pv4 := &v4
|
||||
v4Addr := fmt.Sprintf("%p", pv4)
|
||||
pv4Addr := fmt.Sprintf("%p", &pv4)
|
||||
v4t := "uint64"
|
||||
v4s := "18446744073709551615"
|
||||
addFormatterTest("%v", v4, v4s)
|
||||
addFormatterTest("%v", pv4, "<*>"+v4s)
|
||||
|
@ -223,6 +296,14 @@ func addUintFormatterTests() {
|
|||
addFormatterTest("%+v", pv4, "<*>("+v4Addr+")"+v4s)
|
||||
addFormatterTest("%+v", &pv4, "<**>("+pv4Addr+"->"+v4Addr+")"+v4s)
|
||||
addFormatterTest("%+v", nv4, "<nil>")
|
||||
addFormatterTest("%#v", v4, "("+v4t+")"+v4s)
|
||||
addFormatterTest("%#v", pv4, "(*"+v4t+")"+v4s)
|
||||
addFormatterTest("%#v", &pv4, "(**"+v4t+")"+v4s)
|
||||
addFormatterTest("%#v", nv4, "(*"+v4t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v4, "("+v4t+")"+v4s)
|
||||
addFormatterTest("%#+v", pv4, "(*"+v4t+")("+v4Addr+")"+v4s)
|
||||
addFormatterTest("%#+v", &pv4, "(**"+v4t+")("+pv4Addr+"->"+v4Addr+")"+v4s)
|
||||
addFormatterTest("%#+v", nv4, "(*"+v4t+")"+"<nil>")
|
||||
|
||||
// Max uint.
|
||||
v5 := uint(4294967295)
|
||||
|
@ -230,6 +311,7 @@ func addUintFormatterTests() {
|
|||
pv5 := &v5
|
||||
v5Addr := fmt.Sprintf("%p", pv5)
|
||||
pv5Addr := fmt.Sprintf("%p", &pv5)
|
||||
v5t := "uint"
|
||||
v5s := "4294967295"
|
||||
addFormatterTest("%v", v5, v5s)
|
||||
addFormatterTest("%v", pv5, "<*>"+v5s)
|
||||
|
@ -239,6 +321,14 @@ func addUintFormatterTests() {
|
|||
addFormatterTest("%+v", pv5, "<*>("+v5Addr+")"+v5s)
|
||||
addFormatterTest("%+v", &pv5, "<**>("+pv5Addr+"->"+v5Addr+")"+v5s)
|
||||
addFormatterTest("%+v", nv5, "<nil>")
|
||||
addFormatterTest("%#v", v5, "("+v5t+")"+v5s)
|
||||
addFormatterTest("%#v", pv5, "(*"+v5t+")"+v5s)
|
||||
addFormatterTest("%#v", &pv5, "(**"+v5t+")"+v5s)
|
||||
addFormatterTest("%#v", nv5, "(*"+v5t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v5, "("+v5t+")"+v5s)
|
||||
addFormatterTest("%#+v", pv5, "(*"+v5t+")("+v5Addr+")"+v5s)
|
||||
addFormatterTest("%#+v", &pv5, "(**"+v5t+")("+pv5Addr+"->"+v5Addr+")"+v5s)
|
||||
addFormatterTest("%#v", nv5, "(*"+v5t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addBoolFormatterTests() {
|
||||
|
@ -248,6 +338,7 @@ func addBoolFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "bool"
|
||||
vs := "true"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -257,12 +348,21 @@ func addBoolFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Boolean false.
|
||||
v2 := bool(false)
|
||||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "bool"
|
||||
v2s := "false"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -270,6 +370,12 @@ func addBoolFormatterTests() {
|
|||
addFormatterTest("%+v", v2, v2s)
|
||||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
}
|
||||
|
||||
func addFloatFormatterTests() {
|
||||
|
@ -279,6 +385,7 @@ func addFloatFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "float32"
|
||||
vs := "3.1415"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -288,6 +395,14 @@ func addFloatFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Standard float64.
|
||||
v2 := float64(3.1415926)
|
||||
|
@ -295,6 +410,7 @@ func addFloatFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "float64"
|
||||
v2s := "3.1415926"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -304,6 +420,14 @@ func addFloatFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addComplexFormatterTests() {
|
||||
|
@ -313,6 +437,7 @@ func addComplexFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "complex64"
|
||||
vs := "(6-2i)"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -322,6 +447,14 @@ func addComplexFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Standard complex128.
|
||||
v2 := complex(float64(-6), 2)
|
||||
|
@ -329,6 +462,7 @@ func addComplexFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "complex128"
|
||||
v2s := "(-6+2i)"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -338,6 +472,14 @@ func addComplexFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addArrayFormatterTests() {
|
||||
|
@ -347,6 +489,7 @@ func addArrayFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "[3]int"
|
||||
vs := "[1 2 3]"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -356,6 +499,14 @@ func addArrayFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Array containing type with custom formatter on pointer receiver only.
|
||||
v2 := [3]pstringer{"1", "2", "3"}
|
||||
|
@ -363,6 +514,7 @@ func addArrayFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "[3]spew_test.pstringer"
|
||||
v2s := "[stringer 1 stringer 2 stringer 3]"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -372,6 +524,43 @@ func addArrayFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
|
||||
// Array containing interfaces.
|
||||
v3 := [3]interface{}{"one", int(2), uint(3)}
|
||||
nv3 := (*[3]interface{})(nil)
|
||||
pv3 := &v3
|
||||
v3Addr := fmt.Sprintf("%p", pv3)
|
||||
pv3Addr := fmt.Sprintf("%p", &pv3)
|
||||
v3t := "[3]interface {}"
|
||||
v3t2 := "string"
|
||||
v3t3 := "int"
|
||||
v3t4 := "uint"
|
||||
v3s := "[one 2 3]"
|
||||
v3s2 := "[(" + v3t2 + ")one (" + v3t3 + ")2 (" + v3t4 + ")3]"
|
||||
addFormatterTest("%v", v3, v3s)
|
||||
addFormatterTest("%v", pv3, "<*>"+v3s)
|
||||
addFormatterTest("%v", &pv3, "<**>"+v3s)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%+v", v3, v3s)
|
||||
addFormatterTest("%+v", pv3, "<*>("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", &pv3, "<**>("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%#v", v3, "("+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", pv3, "(*"+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", &pv3, "(**"+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v3, "("+v3t+")"+v3s2)
|
||||
addFormatterTest("%#+v", pv3, "(*"+v3t+")("+v3Addr+")"+v3s2)
|
||||
addFormatterTest("%#+v", &pv3, "(**"+v3t+")("+pv3Addr+"->"+v3Addr+")"+v3s2)
|
||||
addFormatterTest("%#+v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addSliceFormatterTests() {
|
||||
|
@ -381,6 +570,7 @@ func addSliceFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "[]float32"
|
||||
vs := "[3.14 6.28 12.56]"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -390,6 +580,14 @@ func addSliceFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Slice containing type with custom formatter on pointer receiver only.
|
||||
v2 := []pstringer{"1", "2", "3"}
|
||||
|
@ -397,6 +595,7 @@ func addSliceFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "[]spew_test.pstringer"
|
||||
v2s := "[stringer 1 stringer 2 stringer 3]"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -406,6 +605,43 @@ func addSliceFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
|
||||
// Slice containing interfaces.
|
||||
v3 := []interface{}{"one", int(2), uint(3)}
|
||||
nv3 := (*[]interface{})(nil)
|
||||
pv3 := &v3
|
||||
v3Addr := fmt.Sprintf("%p", pv3)
|
||||
pv3Addr := fmt.Sprintf("%p", &pv3)
|
||||
v3t := "[]interface {}"
|
||||
v3t2 := "string"
|
||||
v3t3 := "int"
|
||||
v3t4 := "uint"
|
||||
v3s := "[one 2 3]"
|
||||
v3s2 := "[(" + v3t2 + ")one (" + v3t3 + ")2 (" + v3t4 + ")3]"
|
||||
addFormatterTest("%v", v3, v3s)
|
||||
addFormatterTest("%v", pv3, "<*>"+v3s)
|
||||
addFormatterTest("%v", &pv3, "<**>"+v3s)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%+v", v3, v3s)
|
||||
addFormatterTest("%+v", pv3, "<*>("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", &pv3, "<**>("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%#v", v3, "("+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", pv3, "(*"+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", &pv3, "(**"+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v3, "("+v3t+")"+v3s2)
|
||||
addFormatterTest("%#+v", pv3, "(*"+v3t+")("+v3Addr+")"+v3s2)
|
||||
addFormatterTest("%#+v", &pv3, "(**"+v3t+")("+pv3Addr+"->"+v3Addr+")"+v3s2)
|
||||
addFormatterTest("%#+v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addStringFormatterTests() {
|
||||
|
@ -415,6 +651,7 @@ func addStringFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "string"
|
||||
vs := "test"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -424,6 +661,14 @@ func addStringFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addNilInterfaceFormatterTests() {
|
||||
|
@ -433,6 +678,7 @@ func addNilInterfaceFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "interface {}"
|
||||
vs := "<nil>"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -442,6 +688,14 @@ func addNilInterfaceFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addMapFormatterTests() {
|
||||
|
@ -451,6 +705,7 @@ func addMapFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "map[string]int"
|
||||
vs := "map[one:1]"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -460,6 +715,14 @@ func addMapFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Map with custom formatter type on pointer receiver only keys and vals.
|
||||
v2 := map[pstringer]pstringer{"one": "1"}
|
||||
|
@ -467,6 +730,7 @@ func addMapFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "map[spew_test.pstringer]spew_test.pstringer"
|
||||
v2s := "map[stringer one:stringer 1]"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -476,6 +740,14 @@ func addMapFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
|
||||
// Map with interface keys and values.
|
||||
v3 := map[interface{}]interface{}{"one": 1}
|
||||
|
@ -483,7 +755,11 @@ func addMapFormatterTests() {
|
|||
pv3 := &v3
|
||||
v3Addr := fmt.Sprintf("%p", pv3)
|
||||
pv3Addr := fmt.Sprintf("%p", &pv3)
|
||||
v3t := "map[interface {}]interface {}"
|
||||
v3t1 := "string"
|
||||
v3t2 := "int"
|
||||
v3s := "map[one:1]"
|
||||
v3s2 := "map[(" + v3t1 + ")one:(" + v3t2 + ")1]"
|
||||
addFormatterTest("%v", v3, v3s)
|
||||
addFormatterTest("%v", pv3, "<*>"+v3s)
|
||||
addFormatterTest("%v", &pv3, "<**>"+v3s)
|
||||
|
@ -492,6 +768,14 @@ func addMapFormatterTests() {
|
|||
addFormatterTest("%+v", pv3, "<*>("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", &pv3, "<**>("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%#v", v3, "("+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", pv3, "(*"+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", &pv3, "(**"+v3t+")"+v3s2)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v3, "("+v3t+")"+v3s2)
|
||||
addFormatterTest("%#+v", pv3, "(*"+v3t+")("+v3Addr+")"+v3s2)
|
||||
addFormatterTest("%#+v", &pv3, "(**"+v3t+")("+pv3Addr+"->"+v3Addr+")"+v3s2)
|
||||
addFormatterTest("%#+v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addStructFormatterTests() {
|
||||
|
@ -505,8 +789,12 @@ func addStructFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "spew_test.s1"
|
||||
vt2 := "int8"
|
||||
vt3 := "uint8"
|
||||
vs := "{127 255}"
|
||||
vs2 := "{a:127 b:255}"
|
||||
vs3 := "{a:(" + vt2 + ")127 b:(" + vt3 + ")255}"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
addFormatterTest("%v", &pv, "<**>"+vs)
|
||||
|
@ -515,6 +803,14 @@ func addStructFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs2)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs2)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs3)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs3)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs3)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs3)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs3)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs3)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Struct that contains another struct.
|
||||
type s2 struct {
|
||||
|
@ -526,8 +822,15 @@ func addStructFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "spew_test.s2"
|
||||
v2t2 := "spew_test.s1"
|
||||
v2t3 := "int8"
|
||||
v2t4 := "uint8"
|
||||
v2t5 := "bool"
|
||||
v2s := "{{127 255} true}"
|
||||
v2s2 := "{s1:{a:127 b:255} b:true}"
|
||||
v2s3 := "{s1:(" + v2t2 + "){a:(" + v2t3 + ")127 b:(" + v2t4 + ")255} b:(" +
|
||||
v2t5 + ")true}"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
addFormatterTest("%v", &pv2, "<**>"+v2s)
|
||||
|
@ -536,6 +839,14 @@ func addStructFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s2)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s2)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s3)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s3)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s3)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s3)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s3)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s3)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
|
||||
// Struct that contains custom type with Stringer pointer interface via both
|
||||
// exported and unexported fields.
|
||||
|
@ -548,8 +859,11 @@ func addStructFormatterTests() {
|
|||
pv3 := &v3
|
||||
v3Addr := fmt.Sprintf("%p", pv3)
|
||||
pv3Addr := fmt.Sprintf("%p", &pv3)
|
||||
v3t := "spew_test.s3"
|
||||
v3t2 := "spew_test.pstringer"
|
||||
v3s := "{stringer test stringer test2}"
|
||||
v3s2 := "{s:stringer test S:stringer test2}"
|
||||
v3s3 := "{s:(" + v3t2 + ")stringer test S:(" + v3t2 + ")stringer test2}"
|
||||
addFormatterTest("%v", v3, v3s)
|
||||
addFormatterTest("%v", pv3, "<*>"+v3s)
|
||||
addFormatterTest("%v", &pv3, "<**>"+v3s)
|
||||
|
@ -558,6 +872,14 @@ func addStructFormatterTests() {
|
|||
addFormatterTest("%+v", pv3, "<*>("+v3Addr+")"+v3s2)
|
||||
addFormatterTest("%+v", &pv3, "<**>("+pv3Addr+"->"+v3Addr+")"+v3s2)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%#v", v3, "("+v3t+")"+v3s3)
|
||||
addFormatterTest("%#v", pv3, "(*"+v3t+")"+v3s3)
|
||||
addFormatterTest("%#v", &pv3, "(**"+v3t+")"+v3s3)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v3, "("+v3t+")"+v3s3)
|
||||
addFormatterTest("%#+v", pv3, "(*"+v3t+")("+v3Addr+")"+v3s3)
|
||||
addFormatterTest("%#+v", &pv3, "(**"+v3t+")("+pv3Addr+"->"+v3Addr+")"+v3s3)
|
||||
addFormatterTest("%#+v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addUintptrFormatterTests() {
|
||||
|
@ -567,6 +889,7 @@ func addUintptrFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "uintptr"
|
||||
vs := "<nil>"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -576,6 +899,14 @@ func addUintptrFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Address of real variable.
|
||||
i := 1
|
||||
|
@ -583,6 +914,7 @@ func addUintptrFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "uintptr"
|
||||
v2s := fmt.Sprintf("%p", &i)
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -590,6 +922,12 @@ func addUintptrFormatterTests() {
|
|||
addFormatterTest("%+v", v2, v2s)
|
||||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
}
|
||||
|
||||
func addUnsafePointerFormatterTests() {
|
||||
|
@ -599,6 +937,7 @@ func addUnsafePointerFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "unsafe.Pointer"
|
||||
vs := "<nil>"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -608,6 +947,14 @@ func addUnsafePointerFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Address of real variable.
|
||||
i := 1
|
||||
|
@ -615,6 +962,7 @@ func addUnsafePointerFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "unsafe.Pointer"
|
||||
v2s := fmt.Sprintf("%p", &i)
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -622,6 +970,12 @@ func addUnsafePointerFormatterTests() {
|
|||
addFormatterTest("%+v", v2, v2s)
|
||||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
}
|
||||
|
||||
func addChanFormatterTests() {
|
||||
|
@ -631,6 +985,7 @@ func addChanFormatterTests() {
|
|||
nv := (*chan int)(nil)
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "chan int"
|
||||
vs := "<nil>"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -640,12 +995,21 @@ func addChanFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Real channel.
|
||||
v2 := make(chan int)
|
||||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "chan int"
|
||||
v2s := fmt.Sprintf("%p", v2)
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -653,6 +1017,12 @@ func addChanFormatterTests() {
|
|||
addFormatterTest("%+v", v2, v2s)
|
||||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
}
|
||||
|
||||
func addFuncFormatterTests() {
|
||||
|
@ -662,6 +1032,7 @@ func addFuncFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "func()"
|
||||
vs := fmt.Sprintf("%p", v)
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs)
|
||||
|
@ -671,6 +1042,14 @@ func addFuncFormatterTests() {
|
|||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%+v", nv, "<nil>")
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
|
||||
addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Function with param and no returns.
|
||||
v2 := TestFormatter
|
||||
|
@ -678,6 +1057,7 @@ func addFuncFormatterTests() {
|
|||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "func(*testing.T)"
|
||||
v2s := fmt.Sprintf("%p", v2)
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
|
@ -687,6 +1067,14 @@ func addFuncFormatterTests() {
|
|||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%+v", nv2, "<nil>")
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
|
||||
addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
|
||||
addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
|
||||
|
||||
// Function with multiple params and multiple returns.
|
||||
var v3 = func(i int, s string) (b bool, err error) {
|
||||
|
@ -696,6 +1084,7 @@ func addFuncFormatterTests() {
|
|||
pv3 := &v3
|
||||
v3Addr := fmt.Sprintf("%p", pv3)
|
||||
pv3Addr := fmt.Sprintf("%p", &pv3)
|
||||
v3t := "func(int, string) (bool, error)"
|
||||
v3s := fmt.Sprintf("%p", v3)
|
||||
addFormatterTest("%v", v3, v3s)
|
||||
addFormatterTest("%v", pv3, "<*>"+v3s)
|
||||
|
@ -705,6 +1094,14 @@ func addFuncFormatterTests() {
|
|||
addFormatterTest("%+v", pv3, "<*>("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", &pv3, "<**>("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%+v", nv3, "<nil>")
|
||||
addFormatterTest("%#v", v3, "("+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", pv3, "(*"+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", &pv3, "(**"+v3t+")"+v3s)
|
||||
addFormatterTest("%#v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
addFormatterTest("%#+v", v3, "("+v3t+")"+v3s)
|
||||
addFormatterTest("%#+v", pv3, "(*"+v3t+")("+v3Addr+")"+v3s)
|
||||
addFormatterTest("%#+v", &pv3, "(**"+v3t+")("+pv3Addr+"->"+v3Addr+")"+v3s)
|
||||
addFormatterTest("%#+v", nv3, "(*"+v3t+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addCircularFormatterTests() {
|
||||
|
@ -717,16 +1114,28 @@ func addCircularFormatterTests() {
|
|||
pv := &v
|
||||
vAddr := fmt.Sprintf("%p", pv)
|
||||
pvAddr := fmt.Sprintf("%p", &pv)
|
||||
vt := "spew_test.circular"
|
||||
vs := "{<*>{<*><shown>}}"
|
||||
vs2 := "{<*><shown>}"
|
||||
vs3 := "{c:<*>(" + vAddr + "){c:<*>(" + vAddr + ")<shown>}}"
|
||||
vs4 := "{c:<*>(" + vAddr + ")<shown>}"
|
||||
vs5 := "{c:(*" + vt + "){c:(*" + vt + ")<shown>}}"
|
||||
vs6 := "{c:(*" + vt + ")<shown>}"
|
||||
vs7 := "{c:(*" + vt + ")(" + vAddr + "){c:(*" + vt + ")(" + vAddr +
|
||||
")<shown>}}"
|
||||
vs8 := "{c:(*" + vt + ")(" + vAddr + ")<shown>}"
|
||||
addFormatterTest("%v", v, vs)
|
||||
addFormatterTest("%v", pv, "<*>"+vs2)
|
||||
addFormatterTest("%v", &pv, "<**>"+vs2)
|
||||
addFormatterTest("%+v", v, vs3)
|
||||
addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs4)
|
||||
addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs4)
|
||||
addFormatterTest("%#v", v, "("+vt+")"+vs5)
|
||||
addFormatterTest("%#v", pv, "(*"+vt+")"+vs6)
|
||||
addFormatterTest("%#v", &pv, "(**"+vt+")"+vs6)
|
||||
addFormatterTest("%#+v", v, "("+vt+")"+vs7)
|
||||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs8)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs8)
|
||||
|
||||
// Structs that are circular through cross referencing.
|
||||
v2 := xref1{nil}
|
||||
|
@ -736,17 +1145,33 @@ func addCircularFormatterTests() {
|
|||
ts2Addr := fmt.Sprintf("%p", &ts2)
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "spew_test.xref1"
|
||||
v2t2 := "spew_test.xref2"
|
||||
v2s := "{<*>{<*>{<*><shown>}}}"
|
||||
v2s2 := "{<*>{<*><shown>}}"
|
||||
v2s3 := "{ps2:<*>(" + ts2Addr + "){ps1:<*>(" + v2Addr + "){ps2:<*>(" +
|
||||
ts2Addr + ")<shown>}}}"
|
||||
v2s4 := "{ps2:<*>(" + ts2Addr + "){ps1:<*>(" + v2Addr + ")<shown>}}"
|
||||
v2s5 := "{ps2:(*" + v2t2 + "){ps1:(*" + v2t + "){ps2:(*" + v2t2 +
|
||||
")<shown>}}}"
|
||||
v2s6 := "{ps2:(*" + v2t2 + "){ps1:(*" + v2t + ")<shown>}}"
|
||||
v2s7 := "{ps2:(*" + v2t2 + ")(" + ts2Addr + "){ps1:(*" + v2t +
|
||||
")(" + v2Addr + "){ps2:(*" + v2t2 + ")(" + ts2Addr +
|
||||
")<shown>}}}"
|
||||
v2s8 := "{ps2:(*" + v2t2 + ")(" + ts2Addr + "){ps1:(*" + v2t +
|
||||
")(" + v2Addr + ")<shown>}}"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s2)
|
||||
addFormatterTest("%v", &pv2, "<**>"+v2s2)
|
||||
addFormatterTest("%+v", v2, v2s3)
|
||||
addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s4)
|
||||
addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s4)
|
||||
addFormatterTest("%#v", v2, "("+v2t+")"+v2s5)
|
||||
addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s6)
|
||||
addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s6)
|
||||
addFormatterTest("%#+v", v2, "("+v2t+")"+v2s7)
|
||||
addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s8)
|
||||
addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s8)
|
||||
|
||||
// Structs that are indirectly circular.
|
||||
v3 := indirCir1{nil}
|
||||
|
@ -759,18 +1184,36 @@ func addCircularFormatterTests() {
|
|||
tic3Addr := fmt.Sprintf("%p", &tic3)
|
||||
v3Addr := fmt.Sprintf("%p", pv3)
|
||||
pv3Addr := fmt.Sprintf("%p", &pv3)
|
||||
v3t := "spew_test.indirCir1"
|
||||
v3t2 := "spew_test.indirCir2"
|
||||
v3t3 := "spew_test.indirCir3"
|
||||
v3s := "{<*>{<*>{<*>{<*><shown>}}}}"
|
||||
v3s2 := "{<*>{<*>{<*><shown>}}}"
|
||||
v3s3 := "{ps2:<*>(" + tic2Addr + "){ps3:<*>(" + tic3Addr + "){ps1:<*>(" +
|
||||
v3Addr + "){ps2:<*>(" + tic2Addr + ")<shown>}}}}"
|
||||
v3s4 := "{ps2:<*>(" + tic2Addr + "){ps3:<*>(" + tic3Addr + "){ps1:<*>(" +
|
||||
v3Addr + ")<shown>}}}"
|
||||
v3s5 := "{ps2:(*" + v3t2 + "){ps3:(*" + v3t3 + "){ps1:(*" + v3t +
|
||||
"){ps2:(*" + v3t2 + ")<shown>}}}}"
|
||||
v3s6 := "{ps2:(*" + v3t2 + "){ps3:(*" + v3t3 + "){ps1:(*" + v3t +
|
||||
")<shown>}}}"
|
||||
v3s7 := "{ps2:(*" + v3t2 + ")(" + tic2Addr + "){ps3:(*" + v3t3 + ")(" +
|
||||
tic3Addr + "){ps1:(*" + v3t + ")(" + v3Addr + "){ps2:(*" + v3t2 +
|
||||
")(" + tic2Addr + ")<shown>}}}}"
|
||||
v3s8 := "{ps2:(*" + v3t2 + ")(" + tic2Addr + "){ps3:(*" + v3t3 + ")(" +
|
||||
tic3Addr + "){ps1:(*" + v3t + ")(" + v3Addr + ")<shown>}}}"
|
||||
addFormatterTest("%v", v3, v3s)
|
||||
addFormatterTest("%v", pv3, "<*>"+v3s2)
|
||||
addFormatterTest("%v", &pv3, "<**>"+v3s2)
|
||||
addFormatterTest("%+v", v3, v3s3)
|
||||
addFormatterTest("%+v", pv3, "<*>("+v3Addr+")"+v3s4)
|
||||
addFormatterTest("%+v", &pv3, "<**>("+pv3Addr+"->"+v3Addr+")"+v3s4)
|
||||
addFormatterTest("%#v", v3, "("+v3t+")"+v3s5)
|
||||
addFormatterTest("%#v", pv3, "(*"+v3t+")"+v3s6)
|
||||
addFormatterTest("%#v", &pv3, "(**"+v3t+")"+v3s6)
|
||||
addFormatterTest("%#+v", v3, "("+v3t+")"+v3s7)
|
||||
addFormatterTest("%#+v", pv3, "(*"+v3t+")("+v3Addr+")"+v3s8)
|
||||
addFormatterTest("%#+v", &pv3, "(**"+v3t+")("+pv3Addr+"->"+v3Addr+")"+v3s8)
|
||||
}
|
||||
|
||||
// TestFormatter executes all of the tests described by formatterTests.
|
||||
|
|
Loading…
Reference in New Issue