aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_lsp_server/tests/heavy_tests/main.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-01-10 21:57:07 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-01-10 21:57:07 +0000
commit28559b7dd2e2c101c4b7f2c9bb207b3af94f6e16 (patch)
tree7bee8dee5216b7eb459edaa0aad54f04dcef3f97 /crates/ra_lsp_server/tests/heavy_tests/main.rs
parentb6bc55f542c88b1b0789435219f9dbf38c110f47 (diff)
parent6b7699d187d51e8a26ba1a18a217a77dd236458f (diff)
Merge #489
489: support std r=matklad a=matklad closes #465 Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_lsp_server/tests/heavy_tests/main.rs')
-rw-r--r--crates/ra_lsp_server/tests/heavy_tests/main.rs34
1 files changed, 32 insertions, 2 deletions
diff --git a/crates/ra_lsp_server/tests/heavy_tests/main.rs b/crates/ra_lsp_server/tests/heavy_tests/main.rs
index 9eaf46ac8..02d62a259 100644
--- a/crates/ra_lsp_server/tests/heavy_tests/main.rs
+++ b/crates/ra_lsp_server/tests/heavy_tests/main.rs
@@ -1,10 +1,15 @@
1mod support; 1mod support;
2 2
3use std::{
4 collections::HashMap,
5 time::Instant,
6};
7
3use languageserver_types::{ 8use languageserver_types::{
4 CodeActionContext, DocumentFormattingParams, FormattingOptions, Position, Range, 9 CodeActionContext, DocumentFormattingParams, FormattingOptions, Position, Range,
5}; 10};
6use ra_lsp_server::req::{ 11use ra_lsp_server::req::{
7 CodeActionParams, CodeActionRequest, Formatting, Runnables, RunnablesParams, 12 CodeActionParams, CodeActionRequest, Formatting, Runnables, RunnablesParams, CompletionParams, Completion,
8}; 13};
9use serde_json::json; 14use serde_json::json;
10 15
@@ -13,6 +18,32 @@ use crate::support::project;
13const LOG: &'static str = ""; 18const LOG: &'static str = "";
14 19
15#[test] 20#[test]
21fn completes_items_from_standard_library() {
22 let project_start = Instant::now();
23 let server = project(
24 r#"
25//- Cargo.toml
26[package]
27name = "foo"
28version = "0.0.0"
29
30//- src/lib.rs
31use std::collections::Spam;
32"#,
33 );
34 server.wait_for_feedback("workspace loaded");
35 eprintln!("loading took {:?}", project_start.elapsed());
36 let completion_start = Instant::now();
37 let res = server.send_request::<Completion>(CompletionParams {
38 text_document: server.doc_id("src/lib.rs"),
39 context: None,
40 position: Position::new(0, 23),
41 });
42 assert!(format!("{}", res).contains("HashMap"));
43 eprintln!("completion took {:?}", completion_start.elapsed());
44}
45
46#[test]
16fn test_runnables_no_project() { 47fn test_runnables_no_project() {
17 let server = project( 48 let server = project(
18 r" 49 r"
@@ -122,7 +153,6 @@ fn test_eggs() {}
122 ); 153 );
123} 154}
124 155
125use std::collections::HashMap;
126#[test] 156#[test]
127fn test_format_document() { 157fn test_format_document() {
128 let server = project( 158 let server = project(