diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2015-08-10 18:34:20 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2015-08-10 18:34:20 +0900 |
commit | 766427de0c04c64085c5ed907e3fdcc6124fa2dd (patch) | |
tree | b131c9e5354b17c3ae976e3f3d05b7ac77cb2788 /src/options_test.go | |
parent | a7b75c99a5c2dd76163e229a4b6f9f49401272e0 (diff) |
Fix --with-nth performance; avoid regex if possible
Close #317
Diffstat (limited to 'src/options_test.go')
-rw-r--r-- | src/options_test.go | 50 |
1 files changed, 47 insertions, 3 deletions
diff --git a/src/options_test.go b/src/options_test.go index 28a8d9db..e9884f2c 100644 --- a/src/options_test.go +++ b/src/options_test.go @@ -2,16 +2,60 @@ package fzf import ( "fmt" + "strings" "testing" "github.com/junegunn/fzf/src/curses" ) func TestDelimiterRegex(t *testing.T) { - rx := delimiterRegexp("*") + // Valid regex + delim := delimiterRegexp(".") + if delim.regex == nil || delim.str != nil { + t.Error(delim) + } + // Broken regex -> string + delim = delimiterRegexp("[0-9") + if delim.regex != nil || *delim.str != "[0-9" { + t.Error(delim) + } + // Valid regex + delim = delimiterRegexp("[0-9]") + if strings.Index(delim.regex.String(), "[0-9]") < 0 || delim.str != nil { + t.Error(delim) + } + // Tab character + delim = delimiterRegexp("\t") + if delim.regex != nil || *delim.str != "\t" { + t.Error(delim) + } + // Tab expression + delim = delimiterRegexp("\\t") + if delim.regex != nil || *delim.str != "\t" { + t.Error(delim) + } + // Tabs -> regex + delim = delimiterRegexp("\t+") + if delim.regex == nil || delim.str != nil { + t.Error(delim) + } +} + +func TestDelimiterRegexString(t *testing.T) { + delim := delimiterRegexp("*") + tokens := strings.Split("-*--*---**---", *delim.str) + if delim.regex != nil || tokens[0] != "-" || tokens[1] != "--" || + tokens[2] != "---" || tokens[3] != "" || tokens[4] != "---" { + t.Errorf("%s %s %d", delim, tokens, len(tokens)) + } +} + +func TestDelimiterRegexRegex(t *testing.T) { + delim := delimiterRegexp("--\\*") + rx := delim.regex tokens := rx.FindAllString("-*--*---**---", -1) - if tokens[0] != "-*" || tokens[1] != "--*" || tokens[2] != "---*" || - tokens[3] != "*" || tokens[4] != "---" { + if delim.str != nil || + tokens[0] != "-*--*" || tokens[1] != "---*" || tokens[2] != "*---" { t.Errorf("%s %s %d", rx, tokens, len(tokens)) } } |