Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
162 lines
4.5 KiB
Plaintext
162 lines
4.5 KiB
Plaintext
Describe util.regexp
|
|
Before all
|
|
let SL = vital#of('vital').import('Vim.ScriptLocal')
|
|
let U = SL.sfuncs('autoload/incsearch/util.vim')
|
|
End
|
|
|
|
Describe .regexp_join()
|
|
It returns joined regular expression from patterns
|
|
let ps = ['incsearch', 'vim']
|
|
let r = U.regexp_join(ps)
|
|
Assert Equals('\m\%(incsearch\m\|vim\m\)', r)
|
|
for p in ps
|
|
Assert True(p =~# r)
|
|
endfor
|
|
End
|
|
|
|
It supports regular expressions including various flags
|
|
let ps = ['\d\+', '\v(neo)?vim']
|
|
let r = U.regexp_join(ps)
|
|
Assert Equals('\m\%(\d\+\m\|\v(neo)?vim\m\)', r)
|
|
for p in ['1', '12310', 'vim', 'neovim']
|
|
Assert True(p =~# r)
|
|
endfor
|
|
End
|
|
|
|
It handles unbalanced `[` with \m\v flag
|
|
let ps = ['\d\+[', '[vim]']
|
|
let r = U.regexp_join(ps)
|
|
Assert Equals('\m\%(\d\+\[\m\|[vim]\m\)', r)
|
|
for p in ['1[', '12310[', 'v', 'i', 'm']
|
|
Assert True(p =~# r)
|
|
endfor
|
|
for p in ['\', '\[']
|
|
Assert False(p =~# r)
|
|
endfor
|
|
End
|
|
End
|
|
|
|
Describe .escape_unbalanced_left_r()
|
|
It case 0
|
|
Assert Equals('\[', U.escape_unbalanced_left_r('['))
|
|
End
|
|
It case 1
|
|
Assert Equals('\[', U.escape_unbalanced_left_r('\['))
|
|
End
|
|
It case 2
|
|
Assert Equals('\\\[', U.escape_unbalanced_left_r('\\['))
|
|
End
|
|
It case 3
|
|
Assert Equals('\\\[', U.escape_unbalanced_left_r('\\\['))
|
|
End
|
|
It case 4
|
|
Assert Equals('[]', U.escape_unbalanced_left_r('[]'))
|
|
End
|
|
It case 5
|
|
Assert Equals('\[]', U.escape_unbalanced_left_r('\[]'))
|
|
End
|
|
It case 6
|
|
Assert Equals('\\[]', U.escape_unbalanced_left_r('\\[]'))
|
|
End
|
|
It case 7
|
|
Assert Equals('\\\[]', U.escape_unbalanced_left_r('\\\[]'))
|
|
End
|
|
It case 8
|
|
Assert Equals('[]\[', U.escape_unbalanced_left_r('[]['))
|
|
End
|
|
It case 9
|
|
Assert Equals('\[]\[', U.escape_unbalanced_left_r('\[]['))
|
|
End
|
|
It case 10
|
|
Assert Equals('\\[]\[', U.escape_unbalanced_left_r('\\[]['))
|
|
End
|
|
It case 11
|
|
Assert Equals('\\\[]\[', U.escape_unbalanced_left_r('\\\[]['))
|
|
End
|
|
It case 12
|
|
Assert Equals('[]...\[', U.escape_unbalanced_left_r('[]...['))
|
|
End
|
|
It case 13
|
|
Assert Equals('\[]...\[', U.escape_unbalanced_left_r('\[]...['))
|
|
End
|
|
It case 14
|
|
Assert Equals('\\[]...\[', U.escape_unbalanced_left_r('\\[]...['))
|
|
End
|
|
It case 15
|
|
Assert Equals('\\\[]...\[', U.escape_unbalanced_left_r('\\\[]...['))
|
|
End
|
|
It case 16
|
|
Assert Equals('\m\[', U.escape_unbalanced_left_r('\m['))
|
|
End
|
|
It case 17
|
|
Assert Equals('\m\[', U.escape_unbalanced_left_r('\m\['))
|
|
End
|
|
It case 18
|
|
Assert Equals('\m\\\[', U.escape_unbalanced_left_r('\m\\['))
|
|
End
|
|
It case 19
|
|
Assert Equals('\m\\\[', U.escape_unbalanced_left_r('\m\\\['))
|
|
End
|
|
It case 20
|
|
Assert Equals('\v\[', U.escape_unbalanced_left_r('\v['))
|
|
End
|
|
It case 21
|
|
Assert Equals('\v\[', U.escape_unbalanced_left_r('\v\['))
|
|
End
|
|
It case 22
|
|
Assert Equals('\v\\\[', U.escape_unbalanced_left_r('\v\\['))
|
|
End
|
|
It case 23
|
|
Assert Equals('\v\\\[', U.escape_unbalanced_left_r('\v\\\['))
|
|
End
|
|
It case 24
|
|
Assert Equals('\M[', U.escape_unbalanced_left_r('\M['))
|
|
End
|
|
It case 25
|
|
Assert Equals('\M[', U.escape_unbalanced_left_r('\M\['))
|
|
End
|
|
It case 26
|
|
Assert Equals('\M\\[', U.escape_unbalanced_left_r('\M\\['))
|
|
End
|
|
It case 27
|
|
Assert Equals('\M\\[', U.escape_unbalanced_left_r('\M\\\['))
|
|
End
|
|
It case 28
|
|
Assert Equals('\V[', U.escape_unbalanced_left_r('\V['))
|
|
End
|
|
It case 29
|
|
Assert Equals('\V[', U.escape_unbalanced_left_r('\V\['))
|
|
End
|
|
It case 30
|
|
Assert Equals('\V\\[', U.escape_unbalanced_left_r('\V\\['))
|
|
End
|
|
It case 31
|
|
Assert Equals('\V\\[', U.escape_unbalanced_left_r('\V\\\['))
|
|
End
|
|
It case 32
|
|
Assert Equals('\[\M[\v\[', U.escape_unbalanced_left_r('[\M\[\v['))
|
|
End
|
|
It case 33
|
|
Assert Equals('[\M\[\v[]', U.escape_unbalanced_left_r('[\M\[\v[]'))
|
|
End
|
|
It case 34
|
|
Assert Equals('[[]', U.escape_unbalanced_left_r('[[]'))
|
|
End
|
|
It case 35
|
|
Assert Equals('[\[]', U.escape_unbalanced_left_r('[\[]'))
|
|
End
|
|
It case 36
|
|
Assert Equals('\M\[[]', U.escape_unbalanced_left_r('\M\[[]'))
|
|
End
|
|
It case 37
|
|
let p = '[' . repeat('[', 10000) . ']'
|
|
Assert Equals(p, U.escape_unbalanced_left_r(p))
|
|
End
|
|
It case 38
|
|
let p = '[' . repeat('\[', 10000) . ']'
|
|
Assert Equals(p, U.escape_unbalanced_left_r(p))
|
|
End
|
|
End
|
|
|
|
End
|