From c9a41bd92d384ae7bd1e956d215b7e6c17c1b099 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 5 Jun 2020 15:49:12 +0200 Subject: Actually test include!(concant!(env!())); It triggered index-based goto definition before :-( --- crates/rust-analyzer/tests/heavy_tests/main.rs | 45 +++++++++++++------------- 1 file changed, 23 insertions(+), 22 deletions(-) (limited to 'crates') diff --git a/crates/rust-analyzer/tests/heavy_tests/main.rs b/crates/rust-analyzer/tests/heavy_tests/main.rs index 237aaa2a1..0e2a83c6a 100644 --- a/crates/rust-analyzer/tests/heavy_tests/main.rs +++ b/crates/rust-analyzer/tests/heavy_tests/main.rs @@ -4,9 +4,7 @@ use std::{collections::HashMap, path::PathBuf, time::Instant}; use lsp_types::{ notification::DidOpenTextDocument, - request::{ - CodeActionRequest, Completion, Formatting, GotoDefinition, GotoTypeDefinition, HoverRequest, - }, + request::{CodeActionRequest, Completion, Formatting, GotoTypeDefinition, HoverRequest}, CodeActionContext, CodeActionParams, CompletionParams, DidOpenTextDocumentParams, DocumentFormattingParams, FormattingOptions, GotoDefinitionParams, HoverParams, PartialResultParams, Position, Range, TextDocumentItem, TextDocumentPositionParams, @@ -507,6 +505,10 @@ fn main() { println!("cargo:rerun-if-changed=build.rs"); } //- src/main.rs +#[rustc_builtin_macro] macro_rules! include {} +#[rustc_builtin_macro] macro_rules! concat {} +#[rustc_builtin_macro] macro_rules! env {} + include!(concat!(env!("OUT_DIR"), "/hello.rs")); #[cfg(atom_cfg)] @@ -521,7 +523,7 @@ struct B; fn main() { let va = A; let vb = B; - message(); + let should_be_str = message(); } "###, ) @@ -530,36 +532,35 @@ fn main() { }) .server(); server.wait_until_workspace_is_loaded(); - let res = server.send_request::(GotoDefinitionParams { + let res = server.send_request::(HoverParams { text_document_position_params: TextDocumentPositionParams::new( server.doc_id("src/main.rs"), - Position::new(14, 8), + Position::new(18, 10), ), work_done_progress_params: Default::default(), - partial_result_params: Default::default(), }); - assert!(format!("{}", res).contains("hello.rs")); + assert!(res.to_string().contains("&str")); server.request::( GotoDefinitionParams { text_document_position_params: TextDocumentPositionParams::new( server.doc_id("src/main.rs"), - Position::new(12, 9), + Position::new(16, 9), ), work_done_progress_params: Default::default(), partial_result_params: Default::default(), }, json!([{ "originSelectionRange": { - "end": { "character": 10, "line": 12 }, - "start": { "character": 8, "line": 12 } + "end": { "character": 10, "line": 16 }, + "start": { "character": 8, "line": 16 } }, "targetRange": { - "end": { "character": 9, "line": 3 }, - "start": { "character": 0, "line": 2 } + "end": { "character": 9, "line": 7 }, + "start": { "character": 0, "line": 6 } }, "targetSelectionRange": { - "end": { "character": 8, "line": 3 }, - "start": { "character": 7, "line": 3 } + "end": { "character": 8, "line": 7 }, + "start": { "character": 7, "line": 7 } }, "targetUri": "file:///[..]src/main.rs" }]), @@ -568,23 +569,23 @@ fn main() { GotoDefinitionParams { text_document_position_params: TextDocumentPositionParams::new( server.doc_id("src/main.rs"), - Position::new(13, 9), + Position::new(17, 9), ), work_done_progress_params: Default::default(), partial_result_params: Default::default(), }, json!([{ "originSelectionRange": { - "end": { "character": 10, "line": 13 }, - "start": { "character": 8, "line":13 } + "end": { "character": 10, "line": 17 }, + "start": { "character": 8, "line": 17 } }, "targetRange": { - "end": { "character": 9, "line": 7 }, - "start": { "character": 0, "line":6 } + "end": { "character": 9, "line": 11 }, + "start": { "character": 0, "line":10 } }, "targetSelectionRange": { - "end": { "character": 8, "line": 7 }, - "start": { "character": 7, "line": 7 } + "end": { "character": 8, "line": 11 }, + "start": { "character": 7, "line": 11 } }, "targetUri": "file:///[..]src/main.rs" }]), -- cgit v1.2.3