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  }