github.com/kolbycrouch/elvish@v0.14.1-0.20210614162631-215b9ac1c423/pkg/edit/buf_to_html_test.go (about) 1 package edit 2 3 import ( 4 "testing" 5 6 "src.elv.sh/pkg/cli/term" 7 "src.elv.sh/pkg/tt" 8 ) 9 10 func TestBufToHTML(t *testing.T) { 11 tt.Test(t, tt.Fn("bufToHTML", bufToHTML), tt.Table{ 12 // Just plain text. 13 tt.Args( 14 bb().Write("abc").Buffer(), 15 ).Rets( 16 `abc` + "\n", 17 ), 18 // Just styled text. 19 tt.Args( 20 bb().WriteStringSGR("abc", "31").Buffer(), 21 ).Rets( 22 `<span class="sgr-31">abc</span>` + "\n", 23 ), 24 // Mixing plain and styled texts. 25 tt.Args( 26 bb(). 27 WriteStringSGR("abc", "31"). 28 Write(" def "). 29 WriteStringSGR("xyz", "1"). 30 Buffer(), 31 ).Rets( 32 `<span class="sgr-31">abc</span> def <span class="sgr-1">xyz</span>` + "\n", 33 ), 34 // Multiple lines. 35 tt.Args( 36 bb(). 37 WriteStringSGR("abc", "31"). 38 Newline().Write("def"). 39 Newline().WriteStringSGR("xyz", "1"). 40 Buffer(), 41 ).Rets( 42 `<span class="sgr-31">abc</span>` + "\n" + 43 `def` + "\n" + 44 `<span class="sgr-1">xyz</span>` + "\n", 45 ), 46 }) 47 } 48 49 func bb() *term.BufferBuilder { return term.NewBufferBuilder(20) }