mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-05 19:58:32 +00:00
Add test demonstrating logic for handling deps.
This commit is contained in:
parent
614dd3c347
commit
3bc33ae712
@ -279,7 +279,7 @@ fn main() {}
|
|||||||
PATH = tmp_dir.path().display()
|
PATH = tmp_dir.path().display()
|
||||||
);
|
);
|
||||||
let server = project_with_tmpdir(tmp_dir, &code);
|
let server = project_with_tmpdir(tmp_dir, &code);
|
||||||
server.wait_for_feedback("workspace loaded");
|
server.wait_for_message("workspace loaded");
|
||||||
let empty_context = || CodeActionContext { diagnostics: Vec::new(), only: None };
|
let empty_context = || CodeActionContext { diagnostics: Vec::new(), only: None };
|
||||||
server.request::<CodeActionRequest>(
|
server.request::<CodeActionRequest>(
|
||||||
CodeActionParams {
|
CodeActionParams {
|
||||||
@ -321,3 +321,46 @@ fn main() {}
|
|||||||
json!([]),
|
json!([]),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn completes_items_from_second_crate_in_json_project() {
|
||||||
|
let tmp_dir = TempDir::new().unwrap();
|
||||||
|
let code = format!(
|
||||||
|
r#"
|
||||||
|
//- rust-project.json
|
||||||
|
{{
|
||||||
|
"roots": [ "{PATH}" ],
|
||||||
|
"crates": [
|
||||||
|
{{
|
||||||
|
"root_module": "{PATH}/foo/lib.rs",
|
||||||
|
"deps": [
|
||||||
|
{{
|
||||||
|
"name": "bar",
|
||||||
|
"crate": 1
|
||||||
|
}}
|
||||||
|
],
|
||||||
|
"edition": "2015"
|
||||||
|
}},
|
||||||
|
{{ "root_module": "{PATH}/bar/lib.rs", "deps": [], "edition": "2015" }}
|
||||||
|
]
|
||||||
|
}}
|
||||||
|
|
||||||
|
//- bar/lib.rs
|
||||||
|
pub struct Spam;
|
||||||
|
pub struct CannedMeat;
|
||||||
|
|
||||||
|
//- foo/lib.rs
|
||||||
|
extern crate bar;
|
||||||
|
use bar::Spam;
|
||||||
|
"#,
|
||||||
|
PATH = tmp_dir.path().display()
|
||||||
|
);
|
||||||
|
let server = project_with_tmpdir(tmp_dir, &code);
|
||||||
|
server.wait_for_message("workspace loaded");
|
||||||
|
let res = server.send_request::<Completion>(CompletionParams {
|
||||||
|
text_document: server.doc_id("foo/lib.rs"),
|
||||||
|
context: None,
|
||||||
|
position: Position::new(1, 10),
|
||||||
|
});
|
||||||
|
assert!(format!("{}", res).contains("CannedMeat"));
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user