From ca4bdfb4bd61e1cb9991146ac5b6bafbf5391072 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 11 Jan 2015 01:47:46 +0900 Subject: Fix Transform result cache to speed up subsequent searches --- src/pattern_test.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/pattern_test.go') diff --git a/src/pattern_test.go b/src/pattern_test.go index a776e301..2635b6c7 100644 --- a/src/pattern_test.go +++ b/src/pattern_test.go @@ -86,19 +86,25 @@ func TestCaseSensitivity(t *testing.T) { } } -func TestOrigText(t *testing.T) { +func TestOrigTextAndTransformed(t *testing.T) { strptr := func(str string) *string { return &str } - pattern := BuildPattern(MODE_EXTENDED, CASE_SMART, []Range{}, nil, []rune("jg")) + tokens := Tokenize(strptr("junegunn"), nil) + trans := Transform(tokens, []Range{Range{1, 1}}) + for _, fun := range []func(*Chunk) []*Item{pattern.fuzzyMatch, pattern.extendedMatch} { chunk := Chunk{ - &Item{text: strptr("junegunn"), origText: strptr("junegunn.choi")}, + &Item{ + text: strptr("junegunn"), + origText: strptr("junegunn.choi"), + transformed: trans}, } matches := fun(&chunk) if *matches[0].text != "junegunn" || *matches[0].origText != "junegunn.choi" || - matches[0].offsets[0][0] != 0 || matches[0].offsets[0][1] != 5 { + matches[0].offsets[0][0] != 0 || matches[0].offsets[0][1] != 5 || + matches[0].transformed != trans { t.Error("Invalid match result", matches) } } -- cgit v1.2.3