diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2016-08-12 01:16:59 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2016-08-12 01:16:59 +0900 |
commit | 1e74dbb93764e46d71199a44ae12d4b82bc0c0b2 (patch) | |
tree | c4eec2cce3dd8ef795ded76f65344fc0731b1817 /src | |
parent | 7cef92fffe4bf020fba08cdc8ad50b137e7b7974 (diff) |
:hidden property of previous --preview-window should be cleared
Fix #636. Patch suggested by @edi9999.
Diffstat (limited to 'src')
-rw-r--r-- | src/options.go | 1 | ||||
-rw-r--r-- | src/options_test.go | 42 |
2 files changed, 36 insertions, 7 deletions
diff --git a/src/options.go b/src/options.go index 2a724274..31ad4971 100644 --- a/src/options.go +++ b/src/options.go @@ -724,6 +724,7 @@ func parseSize(str string, maxPercent float64, label string) sizeSpec { func parsePreviewWindow(opts *previewOpts, input string) { layout := input + opts.hidden = false if strings.HasSuffix(layout, ":hidden") { opts.hidden = true layout = strings.TrimSuffix(layout, ":hidden") diff --git a/src/options_test.go b/src/options_test.go index f3e62f8e..eb1dfa9c 100644 --- a/src/options_test.go +++ b/src/options_test.go @@ -352,14 +352,14 @@ func TestDefaultCtrlNP(t *testing.T) { check([]string{hist, "--bind=ctrl-p:accept"}, curses.CtrlP, actAccept) } -func TestToggle(t *testing.T) { - optsFor := func(words ...string) *Options { - opts := defaultOptions() - parseOptions(opts, words) - postProcessOptions(opts) - return opts - } +func optsFor(words ...string) *Options { + opts := defaultOptions() + parseOptions(opts, words) + postProcessOptions(opts) + return opts +} +func TestToggle(t *testing.T) { opts := optsFor() if opts.ToggleSort { t.Error() @@ -375,3 +375,31 @@ func TestToggle(t *testing.T) { t.Error() } } + +func TestPreviewOpts(t *testing.T) { + opts := optsFor() + if !(opts.Preview.command == "" && + opts.Preview.hidden == false && + opts.Preview.position == posRight && + opts.Preview.size.percent == true && + opts.Preview.size.size == 50) { + t.Error() + } + opts = optsFor("--preview", "cat {}", "--preview-window=left:15:hidden") + if !(opts.Preview.command == "cat {}" && + opts.Preview.hidden == true && + opts.Preview.position == posLeft && + opts.Preview.size.percent == false && + opts.Preview.size.size == 15+2) { + t.Error(opts.Preview) + } + + opts = optsFor("--preview-window=left:15:hidden", "--preview-window=down") + if !(opts.Preview.command == "" && + opts.Preview.hidden == false && + opts.Preview.position == posDown && + opts.Preview.size.percent == true && + opts.Preview.size.size == 50) { + t.Error(opts.Preview) + } +} |