Skip to content

Commit 4c17087

Browse files
committed
Fix vader tests
The current vader async-helper tests depend on passing callback functions, in order to know when to stop waiting for the async request to complete. However, this no longer works, as the new callback logic returns the results of the request without performing side-effects such as navigation or quickfix population. These tests are now simply waited on with a call to `sleep 5`.
1 parent 6d795af commit 4c17087

File tree

3 files changed

+38
-5
lines changed

3 files changed

+38
-5
lines changed

test/fixusings.vader

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,33 @@ Expect cs(should not add ambiguous using):
8181
public class class1{}
8282
}
8383

84-
Execute (should add ambiguous usings to quickfix):
84+
Execute (should return ambiguous usings to Callback):
8585
call OmniSharpTestInitializeBuffer('FixUsings4')
8686
call OmniSharpWarmup('OmniSharp#actions#usings#Fix', [])
87-
call OmniSharpTestAwait('OmniSharp#actions#usings#Fix', [])
87+
let g:OmniSharp_test_locations = []
88+
function! s:Callback(locations)
89+
let g:OmniSharp_test_waiting = 0
90+
let g:OmniSharp_test_locations = a:locations
91+
endfunction
92+
let g:OmniSharp_test_waiting = 1
93+
call function('OmniSharp#actions#usings#Fix', [function('s:Callback')])()
94+
let starttime = reltime()
95+
while g:OmniSharp_test_waiting
96+
\ && reltime(starttime)[0] < g:OmniSharp_test_timeout
97+
sleep 50m
98+
endwhile
99+
AssertEqual len(getqflist()), 0
100+
Assert !g:OmniSharp_test_waiting, 'OmniSharp#actions#usings#Fix timed out'
101+
AssertEqual len(g:OmniSharp_test_locations), 2
102+
AssertEqual g:OmniSharp_test_locations[0].lnum, 2
103+
104+
Execute (should add ambiguous usings to quickfix):
105+
call OmniSharpTestInitializeBuffer('FixUsings5')
106+
call OmniSharpWarmup('OmniSharp#actions#usings#Fix', [])
107+
" Cannot use OmniSharpTestAwait, as the callback prevents the default quickfix
108+
" behaviour
109+
call OmniSharp#actions#usings#Fix()
110+
sleep 5
111+
AssertEqual len(getqflist()), 2
88112
cfirst
89113
AssertEqual line('.'), 2

test/gotodefinition.vader

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,8 @@ Given cs():
1515
Execute (go to definition):
1616
call OmniSharpTestInitializeBuffer('GotoDefinition')
1717
call search("i = 0")
18-
call OmniSharpTestAwait('OmniSharp#actions#definition#Find', [])
18+
" Cannot use OmniSharpTestAwait, as the callback prevents the default
19+
" navigation behaviour
20+
call OmniSharp#actions#definition#Find()
21+
sleep 5
1922
AssertEqual 3, line(".")

test/gotometadata.vader

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ Given cs():
1212
Execute (go to metadata preview):
1313
call OmniSharpTestInitializeBuffer('GotoMetadata1')
1414
call search("MemoryStream stream")
15-
call OmniSharpTestAwait('OmniSharp#actions#definition#Preview', [])
15+
" Cannot use OmniSharpTestAwait, as the callback prevents the default preview
16+
" behaviour
17+
call OmniSharp#actions#definition#Preview()
18+
sleep 5
1619
wincmd p
1720
AssertEqual 'MemoryStream.cs', expand('%:t')
1821
pclose
@@ -28,5 +31,8 @@ Given cs():
2831
Execute (go to metadata window):
2932
call OmniSharpTestInitializeBuffer('GotoMetadata2')
3033
call search("MemoryStream stream")
31-
call OmniSharpTestAwait('OmniSharp#actions#definition#Find', [])
34+
" Cannot use OmniSharpTestAwait, as the callback prevents the default
35+
" navigation behaviour
36+
call OmniSharp#actions#definition#Find()
37+
sleep 5
3238
AssertEqual 'MemoryStream.cs', expand('%:t')

0 commit comments

Comments
 (0)