github.com/ipld/go-ipld-prime@v0.21.0/testutil/indent_test.go (about)

     1  package testutil
     2  
     3  import (
     4  	"testing"
     5  
     6  	qt "github.com/frankban/quicktest"
     7  )
     8  
     9  func TestDedent(t *testing.T) {
    10  	for _, tr := range []struct{ a, b string }{
    11  		{"", ""},
    12  		{"\t", ""},
    13  		{"\t\t", ""},
    14  		{"\n", ""},
    15  		{"\n\t", ""},
    16  		{"\n\t\t", ""},
    17  		{"\n\n", "\n"},
    18  		{"\n\t\n", "\n"},
    19  		{"\n\t\t\n", "\n"},
    20  		{"\n\n", "\n"},
    21  		{"\n\n\t", "\n\t"},
    22  		{"\n\n\t\t", "\n\t\t"},
    23  		{"a\nb\n\tc\n", "a\nb\n\tc\n"},
    24  		{"\ta\nb\n\tc\n", "a\nb\nc\n"},
    25  		{"\t\ta\nb\n\tc\n", "a\nb\nc\n"},
    26  		{"\ta\n\t\tb\n\tc\n", "a\n\tb\nc\n"},
    27  		{"\ta\n\t\t\tb\n\tc\n", "a\n\t\tb\nc\n"},
    28  		{"\n\t\t\ta\n\t\tb\n\t\t\t\n\t\t\t\tc\n\t\t", "a\nb\n\n\tc\n"},
    29  	} {
    30  		actual := Dedent(tr.a)
    31  		qt.Assert(t, actual, qt.Equals, tr.b)
    32  	}
    33  }