diff --git a/src/ansi_test.go b/src/ansi_test.go index a80e98a..0ba9e40 100644 --- a/src/ansi_test.go +++ b/src/ansi_test.go @@ -3,13 +3,19 @@ package fzf import ( "fmt" "testing" + + "github.com/junegunn/fzf/src/curses" ) func TestExtractColor(t *testing.T) { assert := func(offset ansiOffset, b int32, e int32, fg int, bg int, bold bool) { + var attr curses.Attr + if bold { + attr = curses.Bold + } if offset.offset[0] != b || offset.offset[1] != e || - offset.color.fg != fg || offset.color.bg != bg || offset.color.bold != bold { - t.Error(offset, b, e, fg, bg, bold) + offset.color.fg != fg || offset.color.bg != bg || offset.color.attr != attr { + t.Error(offset, b, e, fg, bg, attr) } } @@ -121,7 +127,7 @@ func TestExtractColor(t *testing.T) { if len(*offsets) != 1 { t.Fail() } - if state.fg != 2 || state.bg != -1 || !state.bold { + if state.fg != 2 || state.bg != -1 || state.attr == 0 { t.Fail() } assert((*offsets)[0], 6, 11, 2, -1, true) @@ -132,7 +138,7 @@ func TestExtractColor(t *testing.T) { if len(*offsets) != 1 { t.Fail() } - if state.fg != 2 || state.bg != -1 || !state.bold { + if state.fg != 2 || state.bg != -1 || state.attr == 0 { t.Fail() } assert((*offsets)[0], 0, 11, 2, -1, true) @@ -143,7 +149,7 @@ func TestExtractColor(t *testing.T) { if len(*offsets) != 2 { t.Fail() } - if state.fg != 200 || state.bg != 100 || state.bold { + if state.fg != 200 || state.bg != 100 || state.attr > 0 { t.Fail() } assert((*offsets)[0], 0, 6, 2, -1, true) diff --git a/src/result_test.go b/src/result_test.go index c6832f1..46c20fd 100644 --- a/src/result_test.go +++ b/src/result_test.go @@ -97,16 +97,20 @@ func TestColorOffset(t *testing.T) { item := Result{ item: &Item{ colors: &[]ansiOffset{ - ansiOffset{[2]int32{0, 20}, ansiState{1, 5, false}}, - ansiOffset{[2]int32{22, 27}, ansiState{2, 6, true}}, - ansiOffset{[2]int32{30, 32}, ansiState{3, 7, false}}, - ansiOffset{[2]int32{33, 40}, ansiState{4, 8, true}}}}} + ansiOffset{[2]int32{0, 20}, ansiState{1, 5, 0}}, + ansiOffset{[2]int32{22, 27}, ansiState{2, 6, curses.Bold}}, + ansiOffset{[2]int32{30, 32}, ansiState{3, 7, 0}}, + ansiOffset{[2]int32{33, 40}, ansiState{4, 8, curses.Bold}}}}} // [{[0 5] 9 false} {[5 15] 99 false} {[15 20] 9 false} {[22 25] 10 true} {[25 35] 99 false} {[35 40] 11 true}] - colors := item.colorOffsets(offsets, 99, false, true) + colors := item.colorOffsets(offsets, 99, 0, true) assert := func(idx int, b int32, e int32, c int, bold bool) { + var attr curses.Attr + if bold { + attr = curses.Bold + } o := colors[idx] - if o.offset[0] != b || o.offset[1] != e || o.color != c || o.bold != bold { + if o.offset[0] != b || o.offset[1] != e || o.color != c || o.attr != attr { t.Error(o) } }