Skip to content

Commit 2061b3b

Browse files
committed
Fix signature help tests
1 parent 0328f5e commit 2061b3b

File tree

4 files changed

+34
-52
lines changed

4 files changed

+34
-52
lines changed

ycmd/handlers.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ def GetSignatureHelp():
128128
request_data = RequestWrap( request.json )
129129

130130
if not _server_state.ShouldUseFiletypeCompleter( request_data ):
131-
return _JsonResponse( {} )
131+
return _JsonResponse( BuildSignatureHelpResponse( None ) )
132132

133133
errors = None
134134
signature_info = None
@@ -144,8 +144,7 @@ def GetSignatureHelp():
144144
# No fallback for signature help. The general completer is unlikely to be able
145145
# to offer anything of for that here.
146146
return _JsonResponse(
147-
BuildSignatureHelpResponse( signature_info if signature_info else {},
148-
errors = errors ) )
147+
BuildSignatureHelpResponse( signature_info, errors = errors ) )
149148

150149

151150
@app.post( '/filter_and_sort_candidates' )

ycmd/responses.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,17 @@ def BuildCompletionResponse( completions,
133133
}
134134

135135

136+
EMPTY_SIGNATURE_INFO = {
137+
'activeSignature': 0,
138+
'activeParameter': 0,
139+
'signatures': []
140+
}
141+
142+
136143
def BuildSignatureHelpResponse( signature_info, errors = None ):
137144
return {
138-
'signature_help': signature_info,
145+
'signature_help':
146+
signature_info if signature_info else EMPTY_SIGNATURE_INFO,
139147
'errors': errors if errors else [],
140148
}
141149

ycmd/tests/clangd/signature_help_test.py

Lines changed: 23 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
contains,
3333
empty,
3434
equal_to,
35-
has_entries,
36-
is_not )
35+
has_entries )
3736

3837
from ycmd.tests.clangd import PathToTestFile, SharedYcmd
3938
from ycmd.tests.test_utils import ( BuildRequest,
@@ -42,6 +41,13 @@
4241
from ycmd.utils import ReadFile
4342

4443

44+
EMPTY_SIGNATURE_HELP = has_entries( {
45+
'activeParameter': 0,
46+
'activeSignature': 0,
47+
'signatures': empty(),
48+
} )
49+
50+
4551
def RunTest( app, test ):
4652
"""
4753
Method to run a simple completion test and verify the result
@@ -79,7 +85,8 @@ def RunTest( app, test ):
7985

8086
# We also ignore errors here, but then we check the response code ourself.
8187
# This is to allow testing of requests returning errors.
82-
response = app.post_json( '/completions', BuildRequest( **request ),
88+
response = app.post_json( '/signature_help',
89+
BuildRequest( **request ),
8390
expect_errors = True )
8491

8592
eq_( response.status_code, test[ 'expect' ][ 'response' ] )
@@ -118,9 +125,8 @@ def Signature_Help_Trigger_test( app ):
118125
'expect': {
119126
'response': requests.codes.ok,
120127
'data': has_entries( {
121-
'completions': empty(),
122128
'errors': empty(),
123-
'signature_info': has_entries( {
129+
'signature_help': has_entries( {
124130
'activeSignature': 0,
125131
'activeParameter': 0,
126132
'signatures': contains(
@@ -160,9 +166,8 @@ def Signature_Help_NoTrigger_test( app ):
160166
'expect': {
161167
'response': requests.codes.ok,
162168
'data': has_entries( {
163-
'completions': is_not( empty() ),
164169
'errors': empty(),
165-
'signature_info': empty(),
170+
'signature_help': EMPTY_SIGNATURE_HELP,
166171
} ),
167172
},
168173
} )
@@ -183,9 +188,8 @@ def Signature_Help_NoTrigger_After_Trigger_test( app ):
183188
'expect': {
184189
'response': requests.codes.ok,
185190
'data': has_entries( {
186-
'completions': empty(),
187191
'errors': empty(),
188-
'signature_info': empty(),
192+
'signature_help': EMPTY_SIGNATURE_HELP,
189193
} ),
190194
},
191195
} )
@@ -206,9 +210,8 @@ def Signature_Help_Trigger_After_Trigger_test( app ):
206210
'expect': {
207211
'response': requests.codes.ok,
208212
'data': has_entries( {
209-
'completions': empty(),
210213
'errors': empty(),
211-
'signature_info': has_entries( {
214+
'signature_help': has_entries( {
212215
'activeSignature': 0,
213216
'activeParameter': 0,
214217
'signatures': contains(
@@ -248,9 +251,8 @@ def Signature_Help_Trigger_After_Trigger_PlusText_test( app ):
248251
'expect': {
249252
'response': requests.codes.ok,
250253
'data': has_entries( {
251-
'completions': is_not( empty() ),
252254
'errors': empty(),
253-
'signature_info': has_entries( {
255+
'signature_help': has_entries( {
254256
'activeSignature': 0,
255257
'activeParameter': 0,
256258
'signatures': contains(
@@ -290,9 +292,8 @@ def Signature_Help_Trigger_After_Trigger_PlusCompletion_test( app ):
290292
'expect': {
291293
'response': requests.codes.ok,
292294
'data': has_entries( {
293-
'completions': is_not( empty() ),
294295
'errors': empty(),
295-
'signature_info': has_entries( {
296+
'signature_help': has_entries( {
296297
'activeSignature': 0,
297298
'activeParameter': 0,
298299
'signatures': contains(
@@ -332,9 +333,8 @@ def Signature_Help_Trigger_After_OtherTrigger_test( app ):
332333
'expect': {
333334
'response': requests.codes.ok,
334335
'data': has_entries( {
335-
'completions': empty(),
336336
'errors': empty(),
337-
'signature_info': has_entries( {
337+
'signature_help': has_entries( {
338338
'activeSignature': 0,
339339
'activeParameter': 1,
340340
'signatures': contains(
@@ -374,9 +374,8 @@ def Signature_Help_Trigger_After_Arguments_Narrow_test( app ):
374374
'expect': {
375375
'response': requests.codes.ok,
376376
'data': has_entries( {
377-
'completions': empty(),
378377
'errors': empty(),
379-
'signature_info': has_entries( {
378+
'signature_help': has_entries( {
380379
'activeSignature': 0,
381380
'activeParameter': 2,
382381
'signatures': contains(
@@ -409,9 +408,8 @@ def Signature_Help_Trigger_After_Arguments_Narrow2_test( app ):
409408
'expect': {
410409
'response': requests.codes.ok,
411410
'data': has_entries( {
412-
'completions': empty(),
413411
'errors': empty(),
414-
'signature_info': has_entries( {
412+
'signature_help': has_entries( {
415413
'activeSignature': 0,
416414
'activeParameter': 2,
417415
'signatures': contains(
@@ -444,9 +442,8 @@ def Signature_Help_Trigger_After_OtherTrigger_ReTrigger_test( app ):
444442
'expect': {
445443
'response': requests.codes.ok,
446444
'data': has_entries( {
447-
'completions': empty(),
448445
'errors': empty(),
449-
'signature_info': has_entries( {
446+
'signature_help': has_entries( {
450447
'activeSignature': 0,
451448
'activeParameter': 1,
452449
'signatures': contains(
@@ -486,9 +483,8 @@ def Signature_Help_Trigger_JustBeforeClose( app ):
486483
'expect': {
487484
'response': requests.codes.ok,
488485
'data': has_entries( {
489-
'completions': empty(),
490486
'errors': empty(),
491-
'signature_info': has_entries( {
487+
'signature_help': has_entries( {
492488
'activeSignature': 0,
493489
'activeParameter': 2,
494490
'signatures': contains(
@@ -521,13 +517,8 @@ def Signature_Help_Clears_After_EndFunction( app ):
521517
'expect': {
522518
'response': requests.codes.ok,
523519
'data': has_entries( {
524-
'completions': empty(),
525520
'errors': empty(),
526-
'signature_info': has_entries( {
527-
'activeSignature': 0,
528-
'activeParameter': 0,
529-
'signatures': empty(),
530-
} ),
521+
'signature_help': EMPTY_SIGNATURE_HELP,
531522
} ),
532523
},
533524
} )
@@ -548,13 +539,8 @@ def Signature_Help_Clears_After_Function_Call( app ):
548539
'expect': {
549540
'response': requests.codes.ok,
550541
'data': has_entries( {
551-
'completions': empty(),
552542
'errors': empty(),
553-
'signature_info': has_entries( {
554-
'activeSignature': 0,
555-
'activeParameter': 0,
556-
'signatures': empty(),
557-
} ),
543+
'signature_help': EMPTY_SIGNATURE_HELP,
558544
} ),
559545
},
560546
} )

ycmd/tests/clangd/testdata/general_fallback/make_drink.cc

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,6 @@
22

33
using namespace Test;
44

5-
int a_really_really_really_really_annoyingly_long_method_name(
6-
int with,
7-
char a,
8-
bool lot,
9-
const char * of,
10-
float arguments
11-
);
12-
int a_really_really_really_really_annoyingly_long_method_name(
13-
int with_only_one_really_really_really_annoyingly_long_argument
14-
);
15-
165
int main( int , char ** )
176
{
187
make_drink( TypeOfDrink::COFFEE, 10.0, Flavour::ELDERFLOWER );

0 commit comments

Comments
 (0)