diff options
Diffstat (limited to 'crates/ra_ide_api/src/goto_definition.rs')
-rw-r--r-- | crates/ra_ide_api/src/goto_definition.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/crates/ra_ide_api/src/goto_definition.rs b/crates/ra_ide_api/src/goto_definition.rs index 97b367115..e72b7a6e7 100644 --- a/crates/ra_ide_api/src/goto_definition.rs +++ b/crates/ra_ide_api/src/goto_definition.rs | |||
@@ -217,6 +217,29 @@ mod tests { | |||
217 | } | 217 | } |
218 | 218 | ||
219 | #[test] | 219 | #[test] |
220 | fn goto_definition_works_for_macros_from_other_crates() { | ||
221 | covers!(goto_definition_works_for_macros); | ||
222 | check_goto( | ||
223 | " | ||
224 | //- /lib.rs | ||
225 | use foo::foo; | ||
226 | fn bar() { | ||
227 | <|>foo!(); | ||
228 | } | ||
229 | |||
230 | //- /foo/lib.rs | ||
231 | #[macro_export] | ||
232 | macro_rules! foo { | ||
233 | () => { | ||
234 | {} | ||
235 | }; | ||
236 | } | ||
237 | ", | ||
238 | "foo MACRO_CALL FileId(2) [0; 79) [29; 32)", | ||
239 | ); | ||
240 | } | ||
241 | |||
242 | #[test] | ||
220 | fn goto_definition_works_for_methods() { | 243 | fn goto_definition_works_for_methods() { |
221 | covers!(goto_definition_works_for_methods); | 244 | covers!(goto_definition_works_for_methods); |
222 | check_goto( | 245 | check_goto( |