src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/testutil/dedent_test.go (about) 1 package testutil 2 3 import "testing" 4 5 var dedentTests = []struct { 6 name string 7 in string 8 out string 9 }{ 10 { 11 name: "no leading newline, no trailing newline", 12 in: " \n foo\n bar", 13 out: "\n foo\nbar", 14 }, 15 { 16 name: "leading newline, no trailing newline", 17 in: ` 18 a 19 b 20 c`, 21 out: "a\n b\nc", 22 }, 23 { 24 name: "leading newline and trailing newline", 25 in: ` 26 a 27 b 28 c 29 `, 30 out: "a\n b\nc\n", 31 }, 32 } 33 34 func TestDedent(t *testing.T) { 35 for _, tc := range dedentTests { 36 got := Dedent(tc.in) 37 if got != tc.out { 38 t.Errorf("Dedent(%q) -> %q, want %q", tc.in, got, tc.out) 39 } 40 } 41 } 42 43 func TestDedentPanicsOnBadInput(t *testing.T) { 44 x := Recover(func() { 45 Dedent(` 46 a 47 b`) 48 }) 49 if x == nil { 50 t.Errorf("Dedent did not panic") 51 } 52 }