summaryrefslogtreecommitdiff
path: root/test/test_loclist_corrections.vader
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2017-02-26 14:51:22 +0000
committerw0rp <devw0rp@gmail.com>2017-02-26 14:51:22 +0000
commitb2fe1b2567a1a1e6a5e2ff805a46fa7f546ce62c (patch)
tree009f7b779ad1e800fd4b9c278954e2c81779d6de /test/test_loclist_corrections.vader
parentf1e80b800cc8c8488c9561b0db07304157ae489b (diff)
downloadale-b2fe1b2567a1a1e6a5e2ff805a46fa7f546ce62c.zip
Copy all loclist items returned from handlers, and set up defaults for convenience
Diffstat (limited to 'test/test_loclist_corrections.vader')
-rw-r--r--test/test_loclist_corrections.vader130
1 files changed, 130 insertions, 0 deletions
diff --git a/test/test_loclist_corrections.vader b/test/test_loclist_corrections.vader
new file mode 100644
index 00000000..281f6787
--- /dev/null
+++ b/test/test_loclist_corrections.vader
@@ -0,0 +1,130 @@
+Given foo (Some file with lines to count):
+ foo12345678
+ bar12345678
+ baz12345678
+ four12345678
+ five12345678
+ six12345678
+ seven12345678
+ eight12345678
+ nine12345678
+ ten12345678
+
+Execute(FixLocList should set all the default values correctly):
+ AssertEqual
+ \ [
+ \ {
+ \ 'text': 'a',
+ \ 'lnum': 2,
+ \ 'col': 0,
+ \ 'bufnr': bufnr('%'),
+ \ 'vcol': 0,
+ \ 'type': 'E',
+ \ 'nr': -1,
+ \ 'linter_name': 'foobar',
+ \ },
+ \ {
+ \ 'text': 'b',
+ \ 'lnum': 2,
+ \ 'col': 0,
+ \ 'bufnr': bufnr('%'),
+ \ 'vcol': 0,
+ \ 'type': 'E',
+ \ 'nr': -1,
+ \ 'linter_name': 'foobar',
+ \ },
+ \],
+ \ ale#engine#FixLocList(
+ \ bufnr('%'),
+ \ {'name': 'foobar'},
+ \ [{'text': 'a', 'lnum': 2}, {'text': 'b', 'lnum': 2}],
+ \ )
+
+Execute(FixLocList should use the values we supply):
+ AssertEqual
+ \ [
+ \ {
+ \ 'text': 'a',
+ \ 'lnum': 3,
+ \ 'col': 4,
+ \ 'bufnr': 10000,
+ \ 'vcol': 1,
+ \ 'type': 'W',
+ \ 'nr': 42,
+ \ 'linter_name': 'foobar',
+ \ },
+ \],
+ \ ale#engine#FixLocList(
+ \ bufnr('%'),
+ \ {'name': 'foobar'},
+ \ [{
+ \ 'text': 'a',
+ \ 'lnum': 3,
+ \ 'col': 4,
+ \ 'bufnr': 10000,
+ \ 'vcol': 1,
+ \ 'type': 'W',
+ \ 'nr': 42,
+ \ }],
+ \ )
+
+Execute(FixLocList should set items with lines beyond the end to the last line):
+ AssertEqual
+ \ [
+ \ {
+ \ 'text': 'a',
+ \ 'lnum': 10,
+ \ 'col': 0,
+ \ 'bufnr': bufnr('%'),
+ \ 'vcol': 0,
+ \ 'type': 'E',
+ \ 'nr': -1,
+ \ 'linter_name': 'foobar',
+ \ },
+ \],
+ \ ale#engine#FixLocList(
+ \ bufnr('%'),
+ \ {'name': 'foobar'},
+ \ [{'text': 'a', 'lnum': 11}],
+ \ )
+
+Execute(FixLocList should move line 0 to line 1):
+ AssertEqual
+ \ [
+ \ {
+ \ 'text': 'a',
+ \ 'lnum': 1,
+ \ 'col': 0,
+ \ 'bufnr': bufnr('%'),
+ \ 'vcol': 0,
+ \ 'type': 'E',
+ \ 'nr': -1,
+ \ 'linter_name': 'foobar',
+ \ },
+ \],
+ \ ale#engine#FixLocList(
+ \ bufnr('%'),
+ \ {'name': 'foobar'},
+ \ [{'text': 'a', 'lnum': 0}],
+ \ )
+
+Execute(FixLocList should convert line and column numbers correctly):
+ " The numbers should be 10, not 8 as octals.
+ AssertEqual
+ \ [
+ \ {
+ \ 'text': 'a',
+ \ 'lnum': 10,
+ \ 'col': 10,
+ \ 'bufnr': bufnr('%'),
+ \ 'vcol': 0,
+ \ 'type': 'E',
+ \ 'nr': -1,
+ \ 'linter_name': 'foobar',
+ \ },
+ \],
+ \ ale#engine#FixLocList(
+ \ bufnr('%'),
+ \ {'name': 'foobar'},
+ \ [{'text': 'a', 'lnum': '010', 'col': '010'}],
+ \ )