From e03189c1109573bec9600eb20efd9291d69f1d5c Mon Sep 17 00:00:00 2001 From: Wilco Kusee Date: Mon, 25 Mar 2019 21:03:32 +0100 Subject: Move ra_ide_api unit tests --- crates/ra_ide_api/src/references.rs | 48 ++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) (limited to 'crates/ra_ide_api/src/references.rs') diff --git a/crates/ra_ide_api/src/references.rs b/crates/ra_ide_api/src/references.rs index 22741445a..20bbf11a3 100644 --- a/crates/ra_ide_api/src/references.rs +++ b/crates/ra_ide_api/src/references.rs @@ -216,9 +216,55 @@ mod tests { use crate::{ mock_analysis::single_file_with_position, mock_analysis::analysis_and_position, - FileId + FileId, ReferenceSearchResult }; + #[test] + fn test_find_all_refs_for_local() { + let code = r#" + fn main() { + let mut i = 1; + let j = 1; + i = i<|> + j; + + { + i = 0; + } + + i = 5; + }"#; + + let refs = get_all_refs(code); + assert_eq!(refs.len(), 5); + } + + #[test] + fn test_find_all_refs_for_param_inside() { + let code = r#" + fn foo(i : u32) -> u32 { + i<|> + }"#; + + let refs = get_all_refs(code); + assert_eq!(refs.len(), 2); + } + + #[test] + fn test_find_all_refs_for_fn_param() { + let code = r#" + fn foo(i<|> : u32) -> u32 { + i + }"#; + + let refs = get_all_refs(code); + assert_eq!(refs.len(), 2); + } + + fn get_all_refs(text: &str) -> ReferenceSearchResult { + let (analysis, position) = single_file_with_position(text); + analysis.find_all_refs(position).unwrap().unwrap() + } + #[test] fn test_rename_for_local() { test_rename( -- cgit v1.2.3