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