github.com/markusbkk/elvish@v0.0.0-20231204143114-91dc52438621/pkg/strutil/chop_test.go (about) 1 package strutil 2 3 import ( 4 "testing" 5 6 . "github.com/markusbkk/elvish/pkg/tt" 7 ) 8 9 func TestChopLineEnding(t *testing.T) { 10 Test(t, Fn("ChopLineEnding", ChopLineEnding), Table{ 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 Test(t, Fn("ChopTerminator", ChopTerminator), Table{ 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 }