]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Add test for outline window position
authorAndreas Louv <andreas@louv.dk>
Sun, 16 Apr 2023 13:21:10 +0000 (15:21 +0200)
committerAndreas Louv <andreas@louv.dk>
Sun, 16 Apr 2023 13:35:43 +0000 (15:35 +0200)
test/clangd_tests.vim

index 95a13bc1b97a2071801f26498741f687ae57e9ef..190ec50cec0b756530a36cf6bd8c3772147ae6e7 100644 (file)
@@ -1136,11 +1136,37 @@ def g:Test_LspOutline()
   END
   setline(1, lines)
   g:WaitForServerFileLoad(0)
+  var winid = win_getid()
   :LspOutline
   assert_equal(2, winnr('$'))
   var bnum = winbufnr(1)
   assert_equal('LSP-Outline', bufname(bnum))
   assert_equal(['Function', '  aFunc', '  bFunc'], getbufline(bnum, 4, '$'))
+
+  # Validate position vert topleft
+  assert_equal(['row', [['leaf', winid + 1], ['leaf', winid]]], winlayout())
+  execute $':{bnum}bw'
+
+  # Validate position vert botright
+  g:LspOptionsSet({ outlineOnRight: true })
+  :LspOutline
+  assert_equal(2, winnr('$'))
+  bnum = winbufnr(2)
+  assert_equal('LSP-Outline', bufname(bnum))
+  assert_equal(['Function', '  aFunc', '  bFunc'], getbufline(bnum, 4, '$'))
+  assert_equal(['row', [['leaf', winid], ['leaf', winid + 2]]], winlayout())
+  g:LspOptionsSet({ outlineOnRight: false })
+  execute $':{bnum}bw'
+
+  # Validate <mods> position botright (below)
+  :botright LspOutline
+  assert_equal(2, winnr('$'))
+  bnum = winbufnr(2)
+  assert_equal('LSP-Outline', bufname(bnum))
+  assert_equal(['Function', '  aFunc', '  bFunc'], getbufline(bnum, 4, '$'))
+  assert_equal(['col', [['leaf', winid], ['leaf', winid + 3]]], winlayout())
+  execute $':{bnum}bw'
+
   :%bw!
 enddef