summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbratekarate <bratekannkarate@gmail.com>2020-09-26 17:09:54 +0200
committerbratekarate <bratekannkarate@gmail.com>2020-09-26 17:09:54 +0200
commit56242cb87469e9a448de5c60a086a41b3641a7c3 (patch)
treee2671921bcdc756cfa66bdd01b48be15b79ccb04
parent5f2aeba8cc7c5918bdcd054778a28837ada8def3 (diff)
downloadale-56242cb87469e9a448de5c60a086a41b3641a7c3.zip
fix lint, fix variable semantics and update tests
-rw-r--r--ale_linters/bib/bibclean.vim8
-rw-r--r--test/handler/test_bibclean_handler.vader57
2 files changed, 59 insertions, 6 deletions
diff --git a/ale_linters/bib/bibclean.vim b/ale_linters/bib/bibclean.vim
index 1d1c9ec2..f1610e00 100644
--- a/ale_linters/bib/bibclean.vim
+++ b/ale_linters/bib/bibclean.vim
@@ -20,10 +20,10 @@ endfunction
function! ale_linters#bib#bibclean#match_msg(line) abort
" Legacy message pattern works for bibclean <= v2.11.4. If empty, try
" the new message pattern for bibtex > v2.11.4
- let l:matches_legacy = matchlist(a:line, '^\(.*\) stdin:\(\w\+\):\(.*\)$')
- return ! empty(l:matches_legacy)
- \ ? l:matches_legacy
- \ : matchlist(a:line, '^\(.*\) "stdin", line \(.*\): \(.*\)$')
+ let l:matches_legacy = matchlist(a:line, '^\(.*\) "stdin", line \(\d\+\): \(.*\)$')
+
+ return ! empty(l:matches_legacy) ? l:matches_legacy
+ \ : matchlist(a:line, '^\(.*\) stdin:\(\d\+\):\(.*\)$')
endfunction
function! ale_linters#bib#bibclean#match_entry(line) abort
diff --git a/test/handler/test_bibclean_handler.vader b/test/handler/test_bibclean_handler.vader
index 6179d7f5..9da52a92 100644
--- a/test/handler/test_bibclean_handler.vader
+++ b/test/handler/test_bibclean_handler.vader
@@ -4,7 +4,7 @@ Before:
After:
call ale#linter#Reset()
-Execute(The bibclean handler should parse lines correctly):
+Execute(The bibclean handler should parse lines from bibclean <= v2.11.4 correctly):
AssertEqual
\ [
@@ -19,6 +19,12 @@ Execute(The bibclean handler should parse lines correctly):
\ 'type': 'E',
\ 'text': 'Expected comma after last field ``keywords''''.',
\ 'col': ' 1'
+ \ },
+ \ {
+ \ 'lnum': '176',
+ \ 'type': 'W',
+ \ 'text': 'Unexpected DOI in URL value ``"https://doi.org/DOI"'''': move to separate DOI = "..." key/value in this entry.',
+ \ 'col': '14'
\ }
\ ],
\ ale_linters#bib#bibclean#Handle(255, [
@@ -31,5 +37,52 @@ Execute(The bibclean handler should parse lines correctly):
\ "?? File positions: input [main.bib] output [stdout]",
\ "?? Entry input byte=2145 line=63 column= 1 output byte=2146 line=63 column= 0",
\ "?? Value input byte=2528 line=71 column= 2 output byte=2527 line=70 column=49",
- \ "?? Current input byte=2529 line=71 column= 3 output byte=2528 line=70 column=50"
+ \ "?? Current input byte=2529 line=71 column= 3 output byte=2528 line=70 column=50",
+ \ "%% \"stdin\", line 176: Unexpected DOI in URL value ``\"https://doi.org/DOI\"'': move to separate DOI = \"...\" key/value in this entry.",
+ \ "%% File positions: input [stdin] output [stdout]",
+ \ "%% Entry input byte=6813 line=174 column= 1 output byte=8543 line=227 column= 0",
+ \ "%% Value input byte=6890 line=176 column=14 output byte=8641 line=229 column=17",
+ \ "%% Current input byte=6938 line=176 column=62 output byte=8641 line=229 column=17"
+ \ ])
+
+Execute(The bibclean handler should parse lines of bibclean > v2.11.4 correctly):
+
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': '60',
+ \ 'type': 'W',
+ \ 'text': 'Unexpected value in ``month = "09"''''.',
+ \ 'col': '17'
+ \ },
+ \ {
+ \ 'lnum': '63',
+ \ 'type': 'E',
+ \ 'text': 'Expected comma after last field ``keywords''''.',
+ \ 'col': ' 1'
+ \ },
+ \ {
+ \ 'lnum': '176',
+ \ 'type': 'W',
+ \ 'text': 'Unexpected DOI in URL value ``"https://doi.org/DOI"'''': move to separate DOI = "..." key/value in this entry.',
+ \ 'col': '14'
+ \ }
+ \ ],
+ \ ale_linters#bib#bibclean#Handle(255, [
+ \ "%% stdin:60:Unexpected value in ``month = \"09\"''.",
+ \ "%% File positions: input [main.bib] output [stdout]",
+ \ "%% Entry input byte=1681 line=50 column= 1 output byte=1680 line=50 column= 0",
+ \ "%% Value input byte=2137 line=60 column=17 output byte=2137 line=60 column=17",
+ \ "%% Current input byte=2139 line=60 column=19 output byte=2137 line=60 column=17",
+ \ "?? stdin:71:Expected comma after last field ``keywords''.",
+ \ "?? File positions: input [main.bib] output [stdout]",
+ \ "?? Entry input byte=2145 line=63 column= 1 output byte=2146 line=63 column= 0",
+ \ "?? Value input byte=2528 line=71 column= 2 output byte=2527 line=70 column=49",
+ \ "?? Current input byte=2529 line=71 column= 3 output byte=2528 line=70 column=50",
+ \ "%% stdin:176:Unexpected DOI in URL value ``\"https://doi.org/DOI\"'': move to separate DOI = \"...\" key/value in this entry.",
+ \ "%% File positions: input [stdin] output [stdout]",
+ \ "%% Entry input byte=6813 line=174 column= 1 output byte=8543 line=227 column= 0",
+ \ "%% Value input byte=6890 line=176 column=14 output byte=8641 line=229 column=17",
+ \ "%% Current input byte=6938 line=176 column=62 output byte=8641 line=229 column=17"
\ ])
+