MCPcopy
hub / github.com/expr-lang/expr / addSliceFormatterTests

Function addSliceFormatterTests

internal/spew/format_test.go:585–691  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

583}
584
585func addSliceFormatterTests() {
586 // Slice containing standard float32 values.
587 v := []float32{3.14, 6.28, 12.56}
588 nv := (*[]float32)(nil)
589 pv := &v
590 vAddr := fmt.Sprintf("%p", pv)
591 pvAddr := fmt.Sprintf("%p", &pv)
592 vt := "[]float32"
593 vs := "[3.14 6.28 12.56]"
594 addFormatterTest("%v", v, vs)
595 addFormatterTest("%v", pv, "<*>"+vs)
596 addFormatterTest("%v", &pv, "<**>"+vs)
597 addFormatterTest("%+v", nv, "<nil>")
598 addFormatterTest("%+v", v, vs)
599 addFormatterTest("%+v", pv, "<*>("+vAddr+")"+vs)
600 addFormatterTest("%+v", &pv, "<**>("+pvAddr+"->"+vAddr+")"+vs)
601 addFormatterTest("%+v", nv, "<nil>")
602 addFormatterTest("%#v", v, "("+vt+")"+vs)
603 addFormatterTest("%#v", pv, "(*"+vt+")"+vs)
604 addFormatterTest("%#v", &pv, "(**"+vt+")"+vs)
605 addFormatterTest("%#v", nv, "(*"+vt+")"+"<nil>")
606 addFormatterTest("%#+v", v, "("+vt+")"+vs)
607 addFormatterTest("%#+v", pv, "(*"+vt+")("+vAddr+")"+vs)
608 addFormatterTest("%#+v", &pv, "(**"+vt+")("+pvAddr+"->"+vAddr+")"+vs)
609 addFormatterTest("%#+v", nv, "(*"+vt+")"+"<nil>")
610
611 // Slice containing type with custom formatter on pointer receiver only.
612 v2 := []pstringer{"1", "2", "3"}
613 nv2 := (*[]pstringer)(nil)
614 pv2 := &v2
615 v2Addr := fmt.Sprintf("%p", pv2)
616 pv2Addr := fmt.Sprintf("%p", &pv2)
617 v2t := "[]spew_test.pstringer"
618 v2s := "[stringer 1 stringer 2 stringer 3]"
619 addFormatterTest("%v", v2, v2s)
620 addFormatterTest("%v", pv2, "<*>"+v2s)
621 addFormatterTest("%v", &pv2, "<**>"+v2s)
622 addFormatterTest("%+v", nv2, "<nil>")
623 addFormatterTest("%+v", v2, v2s)
624 addFormatterTest("%+v", pv2, "<*>("+v2Addr+")"+v2s)
625 addFormatterTest("%+v", &pv2, "<**>("+pv2Addr+"->"+v2Addr+")"+v2s)
626 addFormatterTest("%+v", nv2, "<nil>")
627 addFormatterTest("%#v", v2, "("+v2t+")"+v2s)
628 addFormatterTest("%#v", pv2, "(*"+v2t+")"+v2s)
629 addFormatterTest("%#v", &pv2, "(**"+v2t+")"+v2s)
630 addFormatterTest("%#v", nv2, "(*"+v2t+")"+"<nil>")
631 addFormatterTest("%#+v", v2, "("+v2t+")"+v2s)
632 addFormatterTest("%#+v", pv2, "(*"+v2t+")("+v2Addr+")"+v2s)
633 addFormatterTest("%#+v", &pv2, "(**"+v2t+")("+pv2Addr+"->"+v2Addr+")"+v2s)
634 addFormatterTest("%#+v", nv2, "(*"+v2t+")"+"<nil>")
635
636 // Slice containing interfaces.
637 v3 := []interface{}{"one", int(2), uint(3), nil}
638 nv3 := (*[]interface{})(nil)
639 pv3 := &v3
640 v3Addr := fmt.Sprintf("%p", pv3)
641 pv3Addr := fmt.Sprintf("%p", &pv3)
642 v3t := "[]interface {}"

Callers 1

TestFormatterFunction · 0.85

Calls 2

addFormatterTestFunction · 0.85
SprintfMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…