From e8405f40fe2eb3675f1cb4f69e825eff5f13f269 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Tue, 7 May 2024 01:06:42 +0900 Subject: Refactor the code so that fzf can be used as a library (#3769) --- src/options_test.go | 54 ++++++++++++++++++++++------------------------------- 1 file changed, 22 insertions(+), 32 deletions(-) (limited to 'src/options_test.go') diff --git a/src/options_test.go b/src/options_test.go index 8e3b20f4..270af5c8 100644 --- a/src/options_test.go +++ b/src/options_test.go @@ -80,7 +80,7 @@ func TestDelimiterRegexRegexCaret(t *testing.T) { func TestSplitNth(t *testing.T) { { - ranges := splitNth("..") + ranges, _ := splitNth("..") if len(ranges) != 1 || ranges[0].begin != rangeEllipsis || ranges[0].end != rangeEllipsis { @@ -88,7 +88,7 @@ func TestSplitNth(t *testing.T) { } } { - ranges := splitNth("..3,1..,2..3,4..-1,-3..-2,..,2,-2,2..-2,1..-1") + ranges, _ := splitNth("..3,1..,2..3,4..-1,-3..-2,..,2,-2,2..-2,1..-1") if len(ranges) != 10 || ranges[0].begin != rangeEllipsis || ranges[0].end != 3 || ranges[1].begin != rangeEllipsis || ranges[1].end != rangeEllipsis || @@ -137,7 +137,7 @@ func TestIrrelevantNth(t *testing.T) { } func TestParseKeys(t *testing.T) { - pairs := parseKeyChords("ctrl-z,alt-z,f2,@,Alt-a,!,ctrl-G,J,g,ctrl-alt-a,ALT-enter,alt-SPACE", "") + pairs, _ := parseKeyChords("ctrl-z,alt-z,f2,@,Alt-a,!,ctrl-G,J,g,ctrl-alt-a,ALT-enter,alt-SPACE", "") checkEvent := func(e tui.Event, s string) { if pairs[e] != s { t.Errorf("%s != %s", pairs[e], s) @@ -163,7 +163,7 @@ func TestParseKeys(t *testing.T) { checkEvent(tui.AltKey(' '), "alt-SPACE") // Synonyms - pairs = parseKeyChords("enter,Return,space,tab,btab,esc,up,down,left,right", "") + pairs, _ = parseKeyChords("enter,Return,space,tab,btab,esc,up,down,left,right", "") if len(pairs) != 9 { t.Error(9) } @@ -177,7 +177,7 @@ func TestParseKeys(t *testing.T) { check(tui.Left, "left") check(tui.Right, "right") - pairs = parseKeyChords("Tab,Ctrl-I,PgUp,page-up,pgdn,Page-Down,Home,End,Alt-BS,Alt-BSpace,shift-left,shift-right,btab,shift-tab,return,Enter,bspace", "") + pairs, _ = parseKeyChords("Tab,Ctrl-I,PgUp,page-up,pgdn,Page-Down,Home,End,Alt-BS,Alt-BSpace,shift-left,shift-right,btab,shift-tab,return,Enter,bspace", "") if len(pairs) != 11 { t.Error(11) } @@ -206,40 +206,40 @@ func TestParseKeysWithComma(t *testing.T) { } } - pairs := parseKeyChords(",", "") + pairs, _ := parseKeyChords(",", "") checkN(len(pairs), 1) check(pairs, tui.Key(','), ",") - pairs = parseKeyChords(",,a,b", "") + pairs, _ = parseKeyChords(",,a,b", "") checkN(len(pairs), 3) check(pairs, tui.Key('a'), "a") check(pairs, tui.Key('b'), "b") check(pairs, tui.Key(','), ",") - pairs = parseKeyChords("a,b,,", "") + pairs, _ = parseKeyChords("a,b,,", "") checkN(len(pairs), 3) check(pairs, tui.Key('a'), "a") check(pairs, tui.Key('b'), "b") check(pairs, tui.Key(','), ",") - pairs = parseKeyChords("a,,,b", "") + pairs, _ = parseKeyChords("a,,,b", "") checkN(len(pairs), 3) check(pairs, tui.Key('a'), "a") check(pairs, tui.Key('b'), "b") check(pairs, tui.Key(','), ",") - pairs = parseKeyChords("a,,,b,c", "") + pairs, _ = parseKeyChords("a,,,b,c", "") checkN(len(pairs), 4) check(pairs, tui.Key('a'), "a") check(pairs, tui.Key('b'), "b") check(pairs, tui.Key('c'), "c") check(pairs, tui.Key(','), ",") - pairs = parseKeyChords(",,,", "") + pairs, _ = parseKeyChords(",,,", "") checkN(len(pairs), 1) check(pairs, tui.Key(','), ",") - pairs = parseKeyChords(",ALT-,,", "") + pairs, _ = parseKeyChords(",ALT-,,", "") checkN(len(pairs), 1) check(pairs, tui.AltKey(','), "ALT-,") } @@ -262,17 +262,13 @@ func TestBind(t *testing.T) { } } check(tui.CtrlA.AsEvent(), "", actBeginningOfLine) - errorString := "" - errorFn := func(e string) { - errorString = e - } parseKeymap(keymap, "ctrl-a:kill-line,ctrl-b:toggle-sort+up+down,c:page-up,alt-z:page-down,"+ "f1:execute(ls {+})+abort+execute(echo \n{+})+select-all,f2:execute/echo {}, {}, {}/,f3:execute[echo '({})'],f4:execute;less {};,"+ "alt-a:execute-Multi@echo (,),[,],/,:,;,%,{}@,alt-b:execute;echo (,),[,],/,:,@,%,{};,"+ "x:Execute(foo+bar),X:execute/bar+baz/"+ ",f1:+first,f1:+top"+ - ",,:abort,::accept,+:execute:++\nfoobar,Y:execute(baz)+up", errorFn) + ",,:abort,::accept,+:execute:++\nfoobar,Y:execute(baz)+up") check(tui.CtrlA.AsEvent(), "", actKillLine) check(tui.CtrlB.AsEvent(), "", actToggleSort, actUp, actDown) check(tui.Key('c'), "", actPageUp) @@ -290,20 +286,17 @@ func TestBind(t *testing.T) { check(tui.Key('+'), "++\nfoobar,Y:execute(baz)+up", actExecute) for idx, char := range []rune{'~', '!', '@', '#', '$', '%', '^', '&', '*', '|', ';', '/'} { - parseKeymap(keymap, fmt.Sprintf("%d:execute%cfoobar%c", idx%10, char, char), errorFn) + parseKeymap(keymap, fmt.Sprintf("%d:execute%cfoobar%c", idx%10, char, char)) check(tui.Key([]rune(fmt.Sprintf("%d", idx%10))[0]), "foobar", actExecute) } - parseKeymap(keymap, "f1:abort", errorFn) + parseKeymap(keymap, "f1:abort") check(tui.F1.AsEvent(), "", actAbort) - if len(errorString) > 0 { - t.Errorf("error parsing keymap: %s", errorString) - } } func TestColorSpec(t *testing.T) { theme := tui.Dark256 - dark := parseTheme(theme, "dark") + dark, _ := parseTheme(theme, "dark") if *dark != *theme { t.Errorf("colors should be equivalent") } @@ -311,7 +304,7 @@ func TestColorSpec(t *testing.T) { t.Errorf("point should not be equivalent") } - light := parseTheme(theme, "dark,light") + light, _ := parseTheme(theme, "dark,light") if *light == *theme { t.Errorf("should not be equivalent") } @@ -322,7 +315,7 @@ func TestColorSpec(t *testing.T) { t.Errorf("point should not be equivalent") } - customized := parseTheme(theme, "fg:231,bg:232") + customized, _ := parseTheme(theme, "fg:231,bg:232") if customized.Fg.Color != 231 || customized.Bg.Color != 232 { t.Errorf("color not customized") } @@ -335,7 +328,7 @@ func TestColorSpec(t *testing.T) { t.Errorf("colors should now be equivalent: %v, %v", tui.Dark256, customized) } - customized = parseTheme(theme, "fg:231,dark,bg:232") + customized, _ = parseTheme(theme, "fg:231,dark,bg:232") if customized.Fg != tui.Dark256.Fg || customized.Bg == tui.Dark256.Bg { t.Errorf("color not customized") } @@ -475,7 +468,7 @@ func TestValidateSign(t *testing.T) { } func TestParseSingleActionList(t *testing.T) { - actions := parseSingleActionList("Execute@foo+bar,baz@+up+up+reload:down+down", func(string) {}) + actions, _ := parseSingleActionList("Execute@foo+bar,baz@+up+up+reload:down+down") if len(actions) != 4 { t.Errorf("Invalid number of actions parsed:%d", len(actions)) } @@ -491,11 +484,8 @@ func TestParseSingleActionList(t *testing.T) { } func TestParseSingleActionListError(t *testing.T) { - err := "" - parseSingleActionList("change-query(foobar)baz", func(e string) { - err = e - }) - if len(err) == 0 { + _, err := parseSingleActionList("change-query(foobar)baz") + if err == nil { t.Errorf("Failed to detect error") } } -- cgit v1.2.3