aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/lightline.vim/test/link.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/lightline.vim/test/link.vim')
-rw-r--r--vim/bundle/lightline.vim/test/link.vim131
1 files changed, 131 insertions, 0 deletions
diff --git a/vim/bundle/lightline.vim/test/link.vim b/vim/bundle/lightline.vim/test/link.vim
new file mode 100644
index 0000000..ca86753
--- /dev/null
+++ b/vim/bundle/lightline.vim/test/link.vim
@@ -0,0 +1,131 @@
+let s:suite = themis#suite('link')
+let s:assert = themis#helper('assert')
+
+function! s:suite.before_each()
+ hi clear
+ let g:lightline = {}
+ call lightline#init()
+ call lightline#colorscheme()
+endfunction
+
+function! s:hi(name)
+ redir => hi
+ silent! exec 'hi' a:name
+ redir END
+ return substitute(join(split(hi, "\n"), ''), ' \+', ' ', 'g')
+endfunction
+
+function! s:suite.link()
+ call lightline#link()
+ call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_normal_0')
+ call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_normal_1')
+ call s:assert.match(s:hi('LightLineLeft_active_2'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_normal_0')
+ call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_normal_1')
+ call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_normal_2')
+ call s:assert.match(s:hi('LightLineRight_active_3'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_normal')
+endfunction
+
+function! s:suite.insert()
+ call lightline#link('i')
+ call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_insert_0')
+ call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_insert_1')
+ call s:assert.match(s:hi('LightLineLeft_active_2'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_insert_0')
+ call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_insert_1')
+ call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_insert_2')
+ call s:assert.match(s:hi('LightLineRight_active_3'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_insert')
+endfunction
+
+function! s:suite.visual()
+ call lightline#link('v')
+ call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_visual_0')
+ call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_visual_1')
+ call s:assert.match(s:hi('LightLineLeft_active_2'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_visual_0')
+ call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_visual_1')
+ call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_visual_2')
+ call s:assert.match(s:hi('LightLineRight_active_3'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_visual')
+endfunction
+
+function! s:suite.replace()
+ call lightline#link('R')
+ call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_replace_0')
+ call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_replace_1')
+ call s:assert.match(s:hi('LightLineLeft_active_2'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_replace_0')
+ call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_replace_1')
+ call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_replace_2')
+ call s:assert.match(s:hi('LightLineRight_active_3'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_replace')
+endfunction
+
+function! s:suite.left_right()
+ let g:lightline = {
+ \ 'active': {
+ \ 'left': [ [ 'mode', 'paste' ], [ 'readonly' ], [ 'filename' ], [ 'modified' ] ],
+ \ 'right': [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat' ], [ 'fileencoding' ], [ 'filetype' ] ]
+ \ },
+ \ }
+ call lightline#init()
+ call lightline#colorscheme()
+ call lightline#link()
+ call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_normal_0')
+ call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_normal_1')
+ call s:assert.match(s:hi('LightLineLeft_active_2'), 'LightLineLeft_normal_2')
+ call s:assert.match(s:hi('LightLineLeft_active_3'), 'LightLineLeft_normal_3')
+ call s:assert.match(s:hi('LightLineLeft_active_4'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_normal_0')
+ call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_normal_1')
+ call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_normal_2')
+ call s:assert.match(s:hi('LightLineRight_active_3'), 'LightLineRight_normal_3')
+ call s:assert.match(s:hi('LightLineRight_active_4'), 'LightLineRight_normal_4')
+ call s:assert.match(s:hi('LightLineRight_active_5'), 'E411: highlight group not found')
+ call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_normal')
+endfunction
+
+function! s:suite.subseparator()
+ let g:lightline = {
+ \ 'active': {
+ \ 'left': [ [ 'mode', 'paste' ], [ 'readonly' ], [ 'filename' ], [ 'modified' ] ],
+ \ 'right': [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat' ], [ 'fileencoding' ], [ 'filetype' ] ]
+ \ },
+ \ }
+ call lightline#init()
+ call lightline#colorscheme()
+ call lightline#link()
+ for i in range(4)
+ for j in range(5)
+ if i + 1 == j
+ call s:assert.match(s:hi(printf('LightLineLeft_active_%s_%s', i, j)), printf('LightLineLeft_normal_%s_%s', i, j))
+ else
+ call s:assert.match(s:hi(printf('LightLineLeft_active_%s_%s', i, j)), 'E411: highlight group not found')
+ endif
+ endfor
+ endfor
+endfunction
+
+function! s:suite.component_type()
+ let g:lightline = { 'component_type': { 'error': 'error', 'warning': 'warning' } }
+ call lightline#init()
+ call lightline#colorscheme()
+ call lightline#link()
+ for type in ['error', 'warning']
+ call s:assert.match(s:hi(printf('LightLineLeft_active_%s', type)), printf('LightLineLeft_normal_%s', type))
+ call s:assert.match(s:hi(printf('LightLineLeft_active_0_%s', type)), printf('LightLineLeft_normal_0_%s', type))
+ call s:assert.match(s:hi(printf('LightLineLeft_active_1_%s', type)), printf('LightLineLeft_normal_1_%s', type))
+ call s:assert.match(s:hi(printf('LightLineLeft_active_2_%s', type)), 'E411: highlight group not found')
+ call s:assert.match(s:hi(printf('LightLineLeft_active_%s_0', type)), printf('LightLineLeft_normal_%s_0', type))
+ call s:assert.match(s:hi(printf('LightLineLeft_active_%s_1', type)), printf('LightLineLeft_normal_%s_1', type))
+ call s:assert.match(s:hi(printf('LightLineLeft_active_%s_2', type)), printf('LightLineLeft_normal_%s_2', type))
+ call s:assert.match(s:hi(printf('LightLineLeft_active_%s_3', type)), 'E411: highlight group not found')
+ endfor
+ for type1 in ['error', 'warning']
+ for type2 in ['error', 'warning']
+ call s:assert.match(s:hi(printf('LightLineLeft_active_%s_%s', type1, type2)), printf('LightLineLeft_normal_%s_%s', type1, type2))
+ endfor
+ endfor
+endfunction