Add tests for sub-interfaces.
This commit is contained in:
parent
eba42209a7
commit
3ad8c5b5ee
|
@ -31,6 +31,7 @@ base test element are also tested to ensure proper indirection across all types.
|
|||
- Slice containing interfaces
|
||||
- Standard string
|
||||
- Nil interface
|
||||
- Sub-interface
|
||||
- Map with string keys and int vals
|
||||
- Map with custom formatter type on pointer receiver only keys and vals
|
||||
- Map with interface keys and values
|
||||
|
@ -402,7 +403,7 @@ func addStringDumpTests() {
|
|||
addDumpTest(nv, "(*"+vt+")(<nil>)\n")
|
||||
}
|
||||
|
||||
func addNilInterfaceDumpTests() {
|
||||
func addInterfaceDumpTests() {
|
||||
// Nil interface.
|
||||
var v interface{}
|
||||
nv := (*interface{})(nil)
|
||||
|
@ -415,6 +416,17 @@ func addNilInterfaceDumpTests() {
|
|||
addDumpTest(pv, "(*"+vt+")("+vAddr+")("+vs+")\n")
|
||||
addDumpTest(&pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")("+vs+")\n")
|
||||
addDumpTest(nv, "(*"+vt+")(<nil>)\n")
|
||||
|
||||
// Sub-interface.
|
||||
v2 := interface{}(uint16(65535))
|
||||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "uint16"
|
||||
v2s := "65535"
|
||||
addDumpTest(v2, "("+v2t+") "+v2s+"\n")
|
||||
addDumpTest(pv2, "(*"+v2t+")("+v2Addr+")("+v2s+")\n")
|
||||
addDumpTest(&pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")("+v2s+")\n")
|
||||
}
|
||||
|
||||
func addMapDumpTests() {
|
||||
|
@ -760,7 +772,7 @@ func TestDump(t *testing.T) {
|
|||
addArrayDumpTests()
|
||||
addSliceDumpTests()
|
||||
addStringDumpTests()
|
||||
addNilInterfaceDumpTests()
|
||||
addInterfaceDumpTests()
|
||||
addMapDumpTests()
|
||||
addStructDumpTests()
|
||||
addUintptrDumpTests()
|
||||
|
|
|
@ -31,6 +31,7 @@ base test element are also tested to ensure proper indirection across all types.
|
|||
- Slice containing interfaces
|
||||
- Standard string
|
||||
- Nil interface
|
||||
- Sub-interface
|
||||
- Map with string keys and int vals
|
||||
- Map with custom formatter type on pointer receiver only keys and vals
|
||||
- Map with interface keys and values
|
||||
|
@ -681,7 +682,7 @@ func addStringFormatterTests() {
|
|||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
}
|
||||
|
||||
func addNilInterfaceFormatterTests() {
|
||||
func addInterfaceFormatterTests() {
|
||||
// Nil interface.
|
||||
var v interface{}
|
||||
nv := (*interface{})(nil)
|
||||
|
@ -706,6 +707,26 @@ func addNilInterfaceFormatterTests() {
|
|||
addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
|
||||
addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
|
||||
|
||||
// Sub-interface.
|
||||
v2 := interface{}(uint16(65535))
|
||||
pv2 := &v2
|
||||
v2Addr := fmt.Sprintf("%p", pv2)
|
||||
pv2Addr := fmt.Sprintf("%p", &pv2)
|
||||
v2t := "uint16"
|
||||
v2s := "65535"
|
||||
addFormatterTest("%v", v2, v2s)
|
||||
addFormatterTest("%v", pv2, "<*>"+v2s)
|
||||
addFormatterTest("%v", &pv2, "<**>"+v2s)
|
||||
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 addMapFormatterTests() {
|
||||
|
@ -1335,7 +1356,7 @@ func TestFormatter(t *testing.T) {
|
|||
addArrayFormatterTests()
|
||||
addSliceFormatterTests()
|
||||
addStringFormatterTests()
|
||||
addNilInterfaceFormatterTests()
|
||||
addInterfaceFormatterTests()
|
||||
addMapFormatterTests()
|
||||
addStructFormatterTests()
|
||||
addUintptrFormatterTests()
|
||||
|
|
Loading…
Reference in New Issue