diff options
| author | ZDNoFYVe <5420669+ZDNoFYVe@users.noreply.github.com> | 2018-03-30 02:47:46 +0000 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2018-03-30 11:47:46 +0900 |
| commit | 43345fb642399c43f25ccae94cec0bef773bf437 (patch) | |
| tree | b4adc3aee1ea1e517e49e7066ea6cc2534bc3f90 /src/terminal_test.go | |
| parent | 9ff33814eadcf2be766d0bfe7f3f87f8645b6b5e (diff) | |
| download | fzf-43345fb642399c43f25ccae94cec0bef773bf437.tar.gz | |
Implement flag for preserving whitespace around field (#1242)
Diffstat (limited to 'src/terminal_test.go')
| -rw-r--r-- | src/terminal_test.go | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/terminal_test.go b/src/terminal_test.go index 60f2b1ad..62b20c45 100644 --- a/src/terminal_test.go +++ b/src/terminal_test.go @@ -21,6 +21,9 @@ func TestReplacePlaceholder(t *testing.T) { newItem("foo'bar \x1b[31mbaz\x1b[m"), newItem("FOO'BAR \x1b[31mBAZ\x1b[m")} + delim := "'" + var regex *regexp.Regexp + var result string check := func(expected string) { if result != expected { @@ -72,6 +75,31 @@ func TestReplacePlaceholder(t *testing.T) { result = replacePlaceholder("echo {1}/{2}/{-1}/{-2}/{..}/{n.t}/\\{}/\\{1}/\\{q}/{3}", true, Delimiter{}, true, "query", items2) check("echo 'foo'\\''bar' 'FOO'\\''BAR'/'baz' 'BAZ'/'baz' 'BAZ'/'foo'\\''bar' 'FOO'\\''BAR'/'foo'\\''bar baz' 'FOO'\\''BAR BAZ'/{n.t}/{}/{1}/{q}/'' ''") + // Whitespace preserving flag with "'" delimiter + result = replacePlaceholder("echo {s1}", true, Delimiter{str: &delim}, false, "query", items1) + check("echo ' foo'") + + result = replacePlaceholder("echo {s2}", true, Delimiter{str: &delim}, false, "query", items1) + check("echo 'bar baz'") + + result = replacePlaceholder("echo {s}", true, Delimiter{str: &delim}, false, "query", items1) + check("echo ' foo'\\''bar baz'") + + result = replacePlaceholder("echo {s..}", true, Delimiter{str: &delim}, false, "query", items1) + check("echo ' foo'\\''bar baz'") + + // Whitespace preserving flag with regex delimiter + regex = regexp.MustCompile("\\w+") + + result = replacePlaceholder("echo {s1}", true, Delimiter{regex: regex}, false, "query", items1) + check("echo ' '") + + result = replacePlaceholder("echo {s2}", true, Delimiter{regex: regex}, false, "query", items1) + check("echo ''\\'''") + + result = replacePlaceholder("echo {s3}", true, Delimiter{regex: regex}, false, "query", items1) + check("echo ' '") + // No match result = replacePlaceholder("echo {}/{+}", true, Delimiter{}, false, "query", []*Item{nil, nil}) check("echo /") @@ -81,12 +109,11 @@ func TestReplacePlaceholder(t *testing.T) { check("echo /' foo'\\''bar baz'") // String delimiter - delim := "'" result = replacePlaceholder("echo {}/{1}/{2}", true, Delimiter{str: &delim}, false, "query", items1) check("echo ' foo'\\''bar baz'/'foo'/'bar baz'") // Regex delimiter - regex := regexp.MustCompile("[oa]+") + regex = regexp.MustCompile("[oa]+") // foo'bar baz result = replacePlaceholder("echo {}/{1}/{3}/{2..3}", true, Delimiter{regex: regex}, false, "query", items1) check("echo ' foo'\\''bar baz'/'f'/'r b'/''\\''bar b'") |
