summaryrefslogtreecommitdiff
path: root/test/test_loclist_binary_search.vader
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_loclist_binary_search.vader')
-rw-r--r--test/test_loclist_binary_search.vader59
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)