#756 Escape the paths used for the --include parameter for gometalinter, which uses RE2

This commit is contained in:
w0rp
2017-07-11 23:47:13 +01:00
parent d12e990f73
commit 340c0bbac5
4 changed files with 14 additions and 4 deletions

View File

@@ -22,7 +22,7 @@ Execute(The gometalinter callback should return the right defaults):
\ ale_linters#go#gometalinter#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('gometalinter')
\ . ' --include=' . ale#Escape(expand('%'))
\ . ' --include=' . ale#Escape(ale#util#EscapePCRE(expand('%')))
\ . ' ' . ale#Escape(getcwd()),
\ ale_linters#go#gometalinter#GetCommand(bufnr(''))
@@ -34,7 +34,7 @@ Execute(The gometalinter callback should use a configured executable):
\ ale_linters#go#gometalinter#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('something else')
\ . ' --include=' . ale#Escape(expand('%'))
\ . ' --include=' . ale#Escape(ale#util#EscapePCRE(expand('%')))
\ . ' ' . ale#Escape(getcwd()),
\ ale_linters#go#gometalinter#GetCommand(bufnr(''))
@@ -43,7 +43,7 @@ Execute(The gometalinter callback should use configured options):
AssertEqual
\ ale#Escape('gometalinter')
\ . ' --include=' . ale#Escape(expand('%'))
\ . ' --include=' . ale#Escape(ale#util#EscapePCRE(expand('%')))
\ . ' --foobar'
\ . ' ' . ale#Escape(getcwd()),
\ ale_linters#go#gometalinter#GetCommand(bufnr(''))

View File

@@ -0,0 +1,4 @@
Execute(ale#util#EscapePCRE should escape strings for PCRE or RE2 appropriately):
AssertEqual '\\\^\$\*\+\?\.\(\)\|\{\}\[\]', ale#util#EscapePCRE('\^$*+?.()|{}[]')
AssertEqual 'abcABC09', ale#util#EscapePCRE('abcABC09')
AssertEqual '/', ale#util#EscapePCRE('/')