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  }