From a3f74702d94b393d2f37bcda0fdfd6213fad460b Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 8 Jan 2019 18:33:01 +0300 Subject: move tests --- crates/ra_analysis/tests/test/main.rs | 261 +--------------------------------- 1 file changed, 1 insertion(+), 260 deletions(-) (limited to 'crates/ra_analysis/tests') diff --git a/crates/ra_analysis/tests/test/main.rs b/crates/ra_analysis/tests/test/main.rs index 1f70af12a..2c0735cb5 100644 --- a/crates/ra_analysis/tests/test/main.rs +++ b/crates/ra_analysis/tests/test/main.rs @@ -5,14 +5,9 @@ use test_utils::{assert_eq_dbg, assert_eq_text}; use ra_analysis::{ mock_analysis::{analysis_and_position, single_file, single_file_with_position, MockAnalysis}, - AnalysisChange, CrateGraph, FileId, FnSignatureInfo, Query + AnalysisChange, CrateGraph, FileId, Query }; -fn get_signature(text: &str) -> (FnSignatureInfo, Option) { - let (analysis, position) = single_file_with_position(text); - analysis.resolve_callable(position).unwrap().unwrap() -} - #[test] fn test_unresolved_module_diagnostic() { let (analysis, file_id) = single_file("mod foo;"); @@ -99,260 +94,6 @@ fn test_resolve_crate_root() { assert_eq!(host.analysis().crate_for(mod_file).unwrap(), vec![crate_id]); } -#[test] -fn test_fn_signature_two_args_first() { - let (desc, param) = get_signature( - r#"fn foo(x: u32, y: u32) -> u32 {x + y} -fn bar() { foo(<|>3, ); }"#, - ); - - assert_eq!(desc.name, "foo".to_string()); - assert_eq!(desc.params, vec!("x".to_string(), "y".to_string())); - assert_eq!(desc.ret_type, Some("-> u32".into())); - assert_eq!(param, Some(0)); -} - -#[test] -fn test_fn_signature_two_args_second() { - let (desc, param) = get_signature( - r#"fn foo(x: u32, y: u32) -> u32 {x + y} -fn bar() { foo(3, <|>); }"#, - ); - - assert_eq!(desc.name, "foo".to_string()); - assert_eq!(desc.params, vec!("x".to_string(), "y".to_string())); - assert_eq!(desc.ret_type, Some("-> u32".into())); - assert_eq!(param, Some(1)); -} - -#[test] -fn test_fn_signature_for_impl() { - let (desc, param) = get_signature( - r#"struct F; impl F { pub fn new() { F{}} } -fn bar() {let _ : F = F::new(<|>);}"#, - ); - - assert_eq!(desc.name, "new".to_string()); - assert_eq!(desc.params, Vec::::new()); - assert_eq!(desc.ret_type, None); - assert_eq!(param, None); -} - -#[test] -fn test_fn_signature_for_method_self() { - let (desc, param) = get_signature( - r#"struct F; -impl F { - pub fn new() -> F{ - F{} - } - - pub fn do_it(&self) {} -} - -fn bar() { - let f : F = F::new(); - f.do_it(<|>); -}"#, - ); - - assert_eq!(desc.name, "do_it".to_string()); - assert_eq!(desc.params, vec!["&self".to_string()]); - assert_eq!(desc.ret_type, None); - assert_eq!(param, None); -} - -#[test] -fn test_fn_signature_for_method_with_arg() { - let (desc, param) = get_signature( - r#"struct F; -impl F { - pub fn new() -> F{ - F{} - } - - pub fn do_it(&self, x: i32) {} -} - -fn bar() { - let f : F = F::new(); - f.do_it(<|>); -}"#, - ); - - assert_eq!(desc.name, "do_it".to_string()); - assert_eq!(desc.params, vec!["&self".to_string(), "x".to_string()]); - assert_eq!(desc.ret_type, None); - assert_eq!(param, Some(1)); -} - -#[test] -fn test_fn_signature_with_docs_simple() { - let (desc, param) = get_signature( - r#" -/// test -// non-doc-comment -fn foo(j: u32) -> u32 { - j -} - -fn bar() { - let _ = foo(<|>); -} -"#, - ); - - assert_eq!(desc.name, "foo".to_string()); - assert_eq!(desc.params, vec!["j".to_string()]); - assert_eq!(desc.ret_type, Some("-> u32".to_string())); - assert_eq!(param, Some(0)); - assert_eq!(desc.label, "fn foo(j: u32) -> u32".to_string()); - assert_eq!(desc.doc, Some("test".into())); -} - -#[test] -fn test_fn_signature_with_docs() { - let (desc, param) = get_signature( - r#" -/// Adds one to the number given. -/// -/// # Examples -/// -/// ``` -/// let five = 5; -/// -/// assert_eq!(6, my_crate::add_one(5)); -/// ``` -pub fn add_one(x: i32) -> i32 { - x + 1 -} - -pub fn do() { - add_one(<|> -}"#, - ); - - assert_eq!(desc.name, "add_one".to_string()); - assert_eq!(desc.params, vec!["x".to_string()]); - assert_eq!(desc.ret_type, Some("-> i32".to_string())); - assert_eq!(param, Some(0)); - assert_eq!(desc.label, "pub fn add_one(x: i32) -> i32".to_string()); - assert_eq!( - desc.doc, - Some( - r#"Adds one to the number given. - -# Examples - -```rust -let five = 5; - -assert_eq!(6, my_crate::add_one(5)); -```"# - .into() - ) - ); -} - -#[test] -fn test_fn_signature_with_docs_impl() { - let (desc, param) = get_signature( - r#" -struct addr; -impl addr { - /// Adds one to the number given. - /// - /// # Examples - /// - /// ``` - /// let five = 5; - /// - /// assert_eq!(6, my_crate::add_one(5)); - /// ``` - pub fn add_one(x: i32) -> i32 { - x + 1 - } -} - -pub fn do_it() { - addr {}; - addr::add_one(<|>); -}"#, - ); - - assert_eq!(desc.name, "add_one".to_string()); - assert_eq!(desc.params, vec!["x".to_string()]); - assert_eq!(desc.ret_type, Some("-> i32".to_string())); - assert_eq!(param, Some(0)); - assert_eq!(desc.label, "pub fn add_one(x: i32) -> i32".to_string()); - assert_eq!( - desc.doc, - Some( - r#"Adds one to the number given. - -# Examples - -```rust -let five = 5; - -assert_eq!(6, my_crate::add_one(5)); -```"# - .into() - ) - ); -} - -#[test] -fn test_fn_signature_with_docs_from_actix() { - let (desc, param) = get_signature( - r#" -pub trait WriteHandler -where - Self: Actor, - Self::Context: ActorContext, -{ - /// Method is called when writer emits error. - /// - /// If this method returns `ErrorAction::Continue` writer processing - /// continues otherwise stream processing stops. - fn error(&mut self, err: E, ctx: &mut Self::Context) -> Running { - Running::Stop - } - - /// Method is called when writer finishes. - /// - /// By default this method stops actor's `Context`. - fn finished(&mut self, ctx: &mut Self::Context) { - ctx.stop() - } -} - -pub fn foo() { - WriteHandler r; - r.finished(<|>); -} - -"#, - ); - - assert_eq!(desc.name, "finished".to_string()); - assert_eq!( - desc.params, - vec!["&mut self".to_string(), "ctx".to_string()] - ); - assert_eq!(desc.ret_type, None); - assert_eq!(param, Some(1)); - assert_eq!( - desc.doc, - Some( - r#"Method is called when writer finishes. - -By default this method stops actor's `Context`."# - .into() - ) - ); -} - fn get_all_refs(text: &str) -> Vec<(FileId, TextRange)> { let (analysis, position) = single_file_with_position(text); analysis.find_all_refs(position).unwrap() -- cgit v1.2.3