summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2016-09-07 09:58:18 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2016-09-18 14:34:46 +0900
commit2fc7c18747250ebf8adf68d2057ec22af6976f29 (patch)
treeaab013c4492a82dd613866a35b98fc9de42f533d /test
parent8ef2420677abf5cca27b47bead6e70e42220c7aa (diff)
Revise ranking algorithm
Diffstat (limited to 'test')
-rw-r--r--test/test_go.rb224
1 files changed, 71 insertions, 153 deletions
diff --git a/test/test_go.rb b/test/test_go.rb
index 00b9c88b..2c018181 100644
--- a/test/test_go.rb
+++ b/test/test_go.rb
@@ -517,162 +517,91 @@ class TestGoFZF < TestBase
assert_equal input, `#{FZF} -f"!z" -x --tiebreak end < #{tempname}`.split($/)
end
- # Since 0.11.2
- def test_tiebreak_list
- input = %w[
- f-o-o-b-a-r
- foobar----
- --foobar
- ----foobar
- foobar--
- --foobar--
- foobar
- ]
- writelines tempname, input
-
- assert_equal %w[
- foobar----
- --foobar
- ----foobar
- foobar--
- --foobar--
- foobar
- f-o-o-b-a-r
- ], `#{FZF} -ffb --tiebreak=index < #{tempname}`.split($/)
-
- by_length = %w[
- foobar
- --foobar
- foobar--
- foobar----
- ----foobar
- --foobar--
- f-o-o-b-a-r
+ def test_tiebreak_index_begin
+ writelines tempname, [
+ 'xoxxxxxoxx',
+ 'xoxxxxxox',
+ 'xxoxxxoxx',
+ 'xxxoxoxxx',
+ 'xxxxoxox',
+ ' xxoxoxxx',
]
- assert_equal by_length, `#{FZF} -ffb < #{tempname}`.split($/)
- assert_equal by_length, `#{FZF} -ffb --tiebreak=length < #{tempname}`.split($/)
-
- assert_equal %w[
- foobar
- foobar--
- --foobar
- foobar----
- --foobar--
- ----foobar
- f-o-o-b-a-r
- ], `#{FZF} -ffb --tiebreak=length,begin < #{tempname}`.split($/)
- assert_equal %w[
- foobar
- --foobar
- foobar--
- ----foobar
- --foobar--
- foobar----
- f-o-o-b-a-r
- ], `#{FZF} -ffb --tiebreak=length,end < #{tempname}`.split($/)
+ assert_equal [
+ 'xxxxoxox',
+ ' xxoxoxxx',
+ 'xxxoxoxxx',
+ 'xxoxxxoxx',
+ 'xoxxxxxox',
+ 'xoxxxxxoxx',
+ ], `#{FZF} -foo < #{tempname}`.split($/)
- assert_equal %w[
- foobar----
- foobar--
- foobar
- --foobar
- --foobar--
- ----foobar
- f-o-o-b-a-r
- ], `#{FZF} -ffb --tiebreak=begin < #{tempname}`.split($/)
-
- by_begin_end = %w[
- foobar
- foobar--
- foobar----
- --foobar
- --foobar--
- ----foobar
- f-o-o-b-a-r
- ]
- assert_equal by_begin_end, `#{FZF} -ffb --tiebreak=begin,length < #{tempname}`.split($/)
- assert_equal by_begin_end, `#{FZF} -ffb --tiebreak=begin,end < #{tempname}`.split($/)
+ assert_equal [
+ 'xxxoxoxxx',
+ 'xxxxoxox',
+ ' xxoxoxxx',
+ 'xxoxxxoxx',
+ 'xoxxxxxoxx',
+ 'xoxxxxxox',
+ ], `#{FZF} -foo --tiebreak=index < #{tempname}`.split($/)
+
+ # Note that --tiebreak=begin is now based on the first occurrence of the
+ # first character on the pattern
+ assert_equal [
+ ' xxoxoxxx',
+ 'xxxoxoxxx',
+ 'xxxxoxox',
+ 'xxoxxxoxx',
+ 'xoxxxxxoxx',
+ 'xoxxxxxox',
+ ], `#{FZF} -foo --tiebreak=begin < #{tempname}`.split($/)
- assert_equal %w[
- --foobar
- ----foobar
- foobar
- foobar--
- --foobar--
- foobar----
- f-o-o-b-a-r
- ], `#{FZF} -ffb --tiebreak=end < #{tempname}`.split($/)
-
- by_begin_end = %w[
- foobar
- --foobar
- ----foobar
- foobar--
- --foobar--
- foobar----
- f-o-o-b-a-r
- ]
- assert_equal by_begin_end, `#{FZF} -ffb --tiebreak=end,begin < #{tempname}`.split($/)
- assert_equal by_begin_end, `#{FZF} -ffb --tiebreak=end,length < #{tempname}`.split($/)
+ assert_equal [
+ ' xxoxoxxx',
+ 'xxxoxoxxx',
+ 'xxxxoxox',
+ 'xxoxxxoxx',
+ 'xoxxxxxox',
+ 'xoxxxxxoxx',
+ ], `#{FZF} -foo --tiebreak=begin,length < #{tempname}`.split($/)
end
- def test_tiebreak_white_prefix
+ def test_tiebreak_end
writelines tempname, [
- 'f o o b a r',
- ' foo bar',
- ' foobar',
- '----foo bar',
- '----foobar',
- ' foo bar',
- ' foobar--',
- ' foobar',
- '--foo bar',
- '--foobar',
- 'foobar',
+ 'xoxxxxxxxx',
+ 'xxoxxxxxxx',
+ 'xxxoxxxxxx',
+ 'xxxxoxxxx',
+ 'xxxxxoxxx',
+ ' xxxxoxxx',
]
assert_equal [
- ' foobar',
- ' foobar',
- 'foobar',
- ' foobar--',
- '--foobar',
- '----foobar',
- ' foo bar',
- ' foo bar',
- '--foo bar',
- '----foo bar',
- 'f o o b a r',
- ], `#{FZF} -ffb < #{tempname}`.split($/)
+ ' xxxxoxxx',
+ 'xxxxoxxxx',
+ 'xxxxxoxxx',
+ 'xoxxxxxxxx',
+ 'xxoxxxxxxx',
+ 'xxxoxxxxxx',
+ ], `#{FZF} -fo < #{tempname}`.split($/)
assert_equal [
- ' foobar',
- ' foobar--',
- ' foobar',
- 'foobar',
- '--foobar',
- '----foobar',
- ' foo bar',
- ' foo bar',
- '--foo bar',
- '----foo bar',
- 'f o o b a r',
- ], `#{FZF} -ffb --tiebreak=begin < #{tempname}`.split($/)
+ 'xxxxxoxxx',
+ ' xxxxoxxx',
+ 'xxxxoxxxx',
+ 'xxxoxxxxxx',
+ 'xxoxxxxxxx',
+ 'xoxxxxxxxx',
+ ], `#{FZF} -fo --tiebreak=end < #{tempname}`.split($/)
assert_equal [
- ' foobar',
- ' foobar',
- 'foobar',
- ' foobar--',
- '--foobar',
- '----foobar',
- ' foo bar',
- ' foo bar',
- '--foo bar',
- '----foo bar',
- 'f o o b a r',
- ], `#{FZF} -ffb --tiebreak=begin,length < #{tempname}`.split($/)
+ ' xxxxoxxx',
+ 'xxxxxoxxx',
+ 'xxxxoxxxx',
+ 'xxxoxxxxxx',
+ 'xxoxxxxxxx',
+ 'xoxxxxxxxx',
+ ], `#{FZF} -fo --tiebreak=end,length,begin < #{tempname}`.split($/)
end
def test_tiebreak_length_with_nth
@@ -748,17 +677,6 @@ class TestGoFZF < TestBase
assert_equal output, `#{FZF} -fi -n2,1..2 < #{tempname}`.split($/)
end
- def test_tiebreak_end_backward_scan
- input = %w[
- foobar-fb
- fubar
- ]
- writelines tempname, input
-
- assert_equal input.reverse, `#{FZF} -f fb < #{tempname}`.split($/)
- assert_equal input, `#{FZF} -f fb --tiebreak=end < #{tempname}`.split($/)
- end
-
def test_invalid_cache
tmux.send_keys "(echo d; echo D; echo x) | #{fzf '-q d'}", :Enter
tmux.until { |lines| lines[-2].include? '2/3' }