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 }