src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/strutil/chop_test.go (about)

     1  package strutil
     2  
     3  import (
     4  	"testing"
     5  
     6  	"src.elv.sh/pkg/tt"
     7  )
     8  
     9  func TestChopLineEnding(t *testing.T) {
    10  	tt.Test(t, ChopLineEnding,
    11  		Args("").Rets(""),
    12  		Args("text").Rets("text"),
    13  		Args("text\n").Rets("text"),
    14  		Args("text\r\n").Rets("text"),
    15  		// Only chop off one line ending
    16  		Args("text\n\n").Rets("text\n"),
    17  		// Preserve internal line endings
    18  		Args("text\ntext 2\n").Rets("text\ntext 2"),
    19  	)
    20  }
    21  
    22  func TestChopTerminator(t *testing.T) {
    23  	tt.Test(t, ChopTerminator,
    24  		Args("", byte('\x00')).Rets(""),
    25  		Args("foo", byte('\x00')).Rets("foo"),
    26  		Args("foo\x00", byte('\x00')).Rets("foo"),
    27  		Args("foo\x00\x00", byte('\x00')).Rets("foo\x00"),
    28  		Args("foo\x00bar\x00", byte('\x00')).Rets("foo\x00bar"),
    29  	)
    30  }