diff options
author | w0rp <devw0rp@gmail.com> | 2017-08-12 14:27:47 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-08-12 14:27:47 +0100 |
commit | c52a4910bf281f5e7851db455adf8939412308c1 (patch) | |
tree | 55155382e9d54b6133580049448fa66a1a002786 /test/test_loclist_binary_search.vader | |
parent | 7614560a6e64a6a332cb3663afd7038497197cb7 (diff) | |
download | ale-c52a4910bf281f5e7851db455adf8939412308c1.zip |
#653 - Update the loclist binary search to work with buffer numbers, to filter out items for other buffers
Diffstat (limited to 'test/test_loclist_binary_search.vader')
-rw-r--r-- | test/test_loclist_binary_search.vader | 59 |
1 files changed, 41 insertions, 18 deletions
diff --git a/test/test_loclist_binary_search.vader b/test/test_loclist_binary_search.vader index e0b2c651..5558191c 100644 --- a/test/test_loclist_binary_search.vader +++ b/test/test_loclist_binary_search.vader @@ -1,26 +1,49 @@ Before: let g:loclist = [ - \ {'lnum': 2, 'col': 10}, - \ {'lnum': 3, 'col': 2}, - \ {'lnum': 3, 'col': 10}, - \ {'lnum': 3, 'col': 12}, - \ {'lnum': 3, 'col': 25}, - \ {'lnum': 5, 'col': 4}, - \ {'lnum': 5, 'col': 5}, + \ {'bufnr': 1, 'lnum': 2, 'col': 10}, + \ {'bufnr': 1, 'lnum': 3, 'col': 2}, + \ {'bufnr': 1, 'lnum': 3, 'col': 10}, + \ {'bufnr': 1, 'lnum': 3, 'col': 12}, + \ {'bufnr': 1, 'lnum': 3, 'col': 25}, + \ {'bufnr': 1, 'lnum': 5, 'col': 4}, + \ {'bufnr': 1, 'lnum': 5, 'col': 5}, + \ {'bufnr': 1, 'lnum': 9, 'col': 5}, + \ {'bufnr': 1, 'lnum': 10, 'col': 1}, + \ {'bufnr': 2, 'lnum': 7, 'col': 10}, + \ {'bufnr': 2, 'lnum': 9, 'col': 2}, + \ {'bufnr': 2, 'lnum': 10, 'col': 2}, + \ {'bufnr': 2, 'lnum': 11, 'col': 2}, \] -Execute (Exact column matches should be correct): - AssertEqual 1, ale#util#BinarySearch(g:loclist, 3, 2) +After: + unlet g:loclist -Execute (Off lines, there should be no match): - AssertEqual -1, ale#util#BinarySearch(g:loclist, 4, 2) +Execute(Exact column matches should be correct): + AssertEqual 1, ale#util#BinarySearch(g:loclist, 1, 3, 2) -Execute (Near column matches should be taken): - AssertEqual 2, ale#util#BinarySearch(g:loclist, 3, 11) - AssertEqual 4, ale#util#BinarySearch(g:loclist, 3, 13) +Execute(Off lines, there should be no match): + AssertEqual -1, ale#util#BinarySearch(g:loclist, 1, 4, 2) -Execute (Columns before should be taken when the cursor is far ahead): - AssertEqual 4, ale#util#BinarySearch(g:loclist, 3, 300) +Execute(Near column matches should be taken): + AssertEqual 2, ale#util#BinarySearch(g:loclist, 1, 3, 11) + AssertEqual 3, ale#util#BinarySearch(g:loclist, 1, 3, 13) -After: - unlet g:loclist +Execute(Columns before should be taken when the cursor is far ahead): + AssertEqual 4, ale#util#BinarySearch(g:loclist, 1, 3, 300) + +Execute(The only problems on lines in later columns should be matched): + AssertEqual 7, ale#util#BinarySearch(g:loclist, 1, 9, 1) + +Execute(The only problems on lines in earlier columns should be matched): + AssertEqual 8, ale#util#BinarySearch(g:loclist, 1, 10, 30) + +Execute(Lines for other buffers should not be matched): + AssertEqual -1, ale#util#BinarySearch(g:loclist, 1, 7, 10) + +Execute(Searches for buffers later in the list should work): + AssertEqual 10, ale#util#BinarySearch(g:loclist, 2, 9, 10) + +Execute(Searches should work with just one item): + let g:loclist = [{'bufnr': 1, 'lnum': 3, 'col': 10}] + + AssertEqual 0, ale#util#BinarySearch(g:loclist, 1, 3, 2) |