github.com/markusbkk/elvish@v0.0.0-20231204143114-91dc52438621/pkg/ui/mark_lines_test.go (about) 1 package ui 2 3 import ( 4 "testing" 5 6 "github.com/markusbkk/elvish/pkg/tt" 7 ) 8 9 func TestMarkLines(t *testing.T) { 10 stylesheet := RuneStylesheet{ 11 '-': Inverse, 12 'x': Stylings(FgBlue, BgGreen), 13 } 14 tt.Test(t, tt.Fn("MarkLines", MarkLines), tt.Table{ 15 tt.Args("foo bar foobar").Rets(T("foo bar foobar")), 16 tt.Args( 17 "foo bar foobar", stylesheet, 18 "--- xxx ------", 19 ).Rets( 20 Concat( 21 T("foo", Inverse), 22 T(" "), 23 T("bar", FgBlue, BgGreen), 24 T(" "), 25 T("foobar", Inverse)), 26 ), 27 tt.Args( 28 "foo bar foobar", stylesheet, 29 "---", 30 ).Rets( 31 Concat( 32 T("foo", Inverse), 33 T(" bar foobar")), 34 ), 35 tt.Args( 36 "plain1", 37 "plain2", 38 "foo bar foobar\n", stylesheet, 39 "--- xxx ------", 40 "plain3", 41 ).Rets( 42 Concat( 43 T("plain1"), 44 T("plain2"), 45 T("foo", Inverse), 46 T(" "), 47 T("bar", FgBlue, BgGreen), 48 T(" "), 49 T("foobar", Inverse), 50 T("\n"), 51 T("plain3")), 52 ), 53 }) 54 }