comparison src/testdir/test_matchfuzzy.vim @ 22746:875bd7c04533 v8.2.1921

patch 8.2.1921: fuzzy matching does not recognize path separators Commit: https://github.com/vim/vim/commit/dcdd42a8ccb9bafd857735d694b074269f337333 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Oct 29 18:58:01 2020 +0100 patch 8.2.1921: fuzzy matching does not recognize path separators Problem: Fuzzy matching does not recognize path separators. Solution: Add a bonus for slash and backslash. (Yegappan Lakshmanan, closes #7225)
author Bram Moolenaar <Bram@vim.org>
date Thu, 29 Oct 2020 19:00:04 +0100
parents f8bf2c122452
children 79fd5217b125
comparison
equal deleted inserted replaced
22745:34e09ca2ddb7 22746:875bd7c04533
41 call assert_equal(['one', 'onex', 'onexx'], ['onexx', 'one', 'onex']->matchfuzzy('one')) 41 call assert_equal(['one', 'onex', 'onexx'], ['onexx', 'one', 'onex']->matchfuzzy('one'))
42 " prefer complete matches over separator matches 42 " prefer complete matches over separator matches
43 call assert_equal(['.vim/vimrc', '.vim/vimrc_colors', '.vim/v_i_m_r_c'], ['.vim/vimrc', '.vim/vimrc_colors', '.vim/v_i_m_r_c']->matchfuzzy('vimrc')) 43 call assert_equal(['.vim/vimrc', '.vim/vimrc_colors', '.vim/v_i_m_r_c'], ['.vim/vimrc', '.vim/vimrc_colors', '.vim/v_i_m_r_c']->matchfuzzy('vimrc'))
44 " gap penalty 44 " gap penalty
45 call assert_equal(['xxayybxxxx', 'xxayyybxxx', 'xxayyyybxx'], ['xxayyyybxx', 'xxayyybxxx', 'xxayybxxxx']->matchfuzzy('ab')) 45 call assert_equal(['xxayybxxxx', 'xxayyybxxx', 'xxayyyybxx'], ['xxayyyybxx', 'xxayyybxxx', 'xxayybxxxx']->matchfuzzy('ab'))
46 " path separator vs word separator
47 call assert_equal(['color/setup.vim', 'color\\setup.vim', 'color setup.vim', 'color_setup.vim', 'colorsetup.vim'], matchfuzzy(['colorsetup.vim', 'color setup.vim', 'color/setup.vim', 'color_setup.vim', 'color\\setup.vim'], 'setup.vim'))
46 48
47 " match multiple words (separated by space) 49 " match multiple words (separated by space)
48 call assert_equal(['foo bar baz'], ['foo bar baz', 'foo', 'foo bar', 'baz bar']->matchfuzzy('baz foo')) 50 call assert_equal(['foo bar baz'], ['foo bar baz', 'foo', 'foo bar', 'baz bar']->matchfuzzy('baz foo'))
49 call assert_equal([], ['foo bar baz', 'foo', 'foo bar', 'baz bar']->matchfuzzy('one two')) 51 call assert_equal([], ['foo bar baz', 'foo', 'foo bar', 'baz bar']->matchfuzzy('one two'))
50 call assert_equal([], ['foo bar']->matchfuzzy(" \t ")) 52 call assert_equal([], ['foo bar']->matchfuzzy(" \t "))