diff options
Diffstat (limited to 'crates/ra_ide/src/completion')
-rw-r--r-- | crates/ra_ide/src/completion/complete_trait_impl.rs | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/crates/ra_ide/src/completion/complete_trait_impl.rs b/crates/ra_ide/src/completion/complete_trait_impl.rs index eb12b7d28..c0e83b124 100644 --- a/crates/ra_ide/src/completion/complete_trait_impl.rs +++ b/crates/ra_ide/src/completion/complete_trait_impl.rs | |||
@@ -283,4 +283,82 @@ mod tests { | |||
283 | ] | 283 | ] |
284 | "###); | 284 | "###); |
285 | } | 285 | } |
286 | |||
287 | #[test] | ||
288 | fn associated_type() { | ||
289 | let completions = complete( | ||
290 | r" | ||
291 | trait Test { | ||
292 | type SomeType; | ||
293 | } | ||
294 | |||
295 | impl Test for () { | ||
296 | <|> | ||
297 | } | ||
298 | ", | ||
299 | ); | ||
300 | assert_debug_snapshot!(completions, @r###" | ||
301 | [ | ||
302 | CompletionItem { | ||
303 | label: "type SomeType = ", | ||
304 | source_range: [119; 119), | ||
305 | delete: [119; 119), | ||
306 | insert: "type SomeType = ", | ||
307 | kind: TypeAlias, | ||
308 | }, | ||
309 | ] | ||
310 | "###); | ||
311 | } | ||
312 | |||
313 | #[test] | ||
314 | fn associated_const() { | ||
315 | let completions = complete( | ||
316 | r" | ||
317 | trait Test { | ||
318 | const SOME_CONST: u16; | ||
319 | } | ||
320 | |||
321 | impl Test for () { | ||
322 | <|> | ||
323 | } | ||
324 | ", | ||
325 | ); | ||
326 | assert_debug_snapshot!(completions, @r###" | ||
327 | [ | ||
328 | CompletionItem { | ||
329 | label: "const SOME_CONST: u16 = ", | ||
330 | source_range: [127; 127), | ||
331 | delete: [127; 127), | ||
332 | insert: "const SOME_CONST: u16 = ", | ||
333 | kind: Const, | ||
334 | }, | ||
335 | ] | ||
336 | "###); | ||
337 | } | ||
338 | |||
339 | #[test] | ||
340 | fn associated_const_with_default() { | ||
341 | let completions = complete( | ||
342 | r" | ||
343 | trait Test { | ||
344 | const SOME_CONST: u16 = 42; | ||
345 | } | ||
346 | |||
347 | impl Test for () { | ||
348 | <|> | ||
349 | } | ||
350 | ", | ||
351 | ); | ||
352 | assert_debug_snapshot!(completions, @r###" | ||
353 | [ | ||
354 | CompletionItem { | ||
355 | label: "const SOME_CONST: u16 = ", | ||
356 | source_range: [132; 132), | ||
357 | delete: [132; 132), | ||
358 | insert: "const SOME_CONST: u16 = ", | ||
359 | kind: Const, | ||
360 | }, | ||
361 | ] | ||
362 | "###); | ||
363 | } | ||
286 | } | 364 | } |