aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_analysis/tests
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-10-25 08:57:55 +0100
committerAleksey Kladov <[email protected]>2018-10-25 14:25:40 +0100
commitee4d904cfb1b604bc8627491e05980ac43cd59e3 (patch)
tree54d1b937de544b8f6a8f2821ad9599aa82192375 /crates/ra_analysis/tests
parent2cb2074c4b7219b32993abdcc7084637c0123d49 (diff)
Store all the data in the Salsa Database
Diffstat (limited to 'crates/ra_analysis/tests')
-rw-r--r--crates/ra_analysis/tests/tests.rs20
1 files changed, 13 insertions, 7 deletions
diff --git a/crates/ra_analysis/tests/tests.rs b/crates/ra_analysis/tests/tests.rs
index 52fae71ae..198d6a263 100644
--- a/crates/ra_analysis/tests/tests.rs
+++ b/crates/ra_analysis/tests/tests.rs
@@ -5,15 +5,17 @@ extern crate relative_path;
5extern crate rustc_hash; 5extern crate rustc_hash;
6extern crate test_utils; 6extern crate test_utils;
7 7
8use std::sync::Arc; 8use std::{
9 sync::Arc,
10 collections::BTreeMap,
11};
9 12
10use ra_syntax::TextRange; 13use ra_syntax::TextRange;
11use relative_path::{RelativePath, RelativePathBuf}; 14use relative_path::{RelativePath, RelativePathBuf};
12use rustc_hash::FxHashMap;
13use test_utils::{assert_eq_dbg, extract_offset}; 15use test_utils::{assert_eq_dbg, extract_offset};
14 16
15use ra_analysis::{ 17use ra_analysis::{
16 Analysis, AnalysisHost, CrateGraph, CrateId, FileId, FileResolver, FnDescriptor, 18 AnalysisChange, Analysis, AnalysisHost, CrateGraph, CrateId, FileId, FileResolver, FnDescriptor,
17}; 19};
18 20
19#[derive(Debug)] 21#[derive(Debug)]
@@ -45,14 +47,16 @@ impl FileResolver for FileMap {
45fn analysis_host(files: &[(&str, &str)]) -> AnalysisHost { 47fn analysis_host(files: &[(&str, &str)]) -> AnalysisHost {
46 let mut host = AnalysisHost::new(); 48 let mut host = AnalysisHost::new();
47 let mut file_map = Vec::new(); 49 let mut file_map = Vec::new();
50 let mut change = AnalysisChange::new();
48 for (id, &(path, contents)) in files.iter().enumerate() { 51 for (id, &(path, contents)) in files.iter().enumerate() {
49 let file_id = FileId((id + 1) as u32); 52 let file_id = FileId((id + 1) as u32);
50 assert!(path.starts_with('/')); 53 assert!(path.starts_with('/'));
51 let path = RelativePathBuf::from_path(&path[1..]).unwrap(); 54 let path = RelativePathBuf::from_path(&path[1..]).unwrap();
52 host.change_file(file_id, Some(contents.to_string())); 55 change.add_file(file_id, contents.to_string());
53 file_map.push((file_id, path)); 56 file_map.push((file_id, path));
54 } 57 }
55 host.set_file_resolver(Arc::new(FileMap(file_map))); 58 change.set_file_resolver(Arc::new(FileMap(file_map)));
59 host.apply_change(change);
56 host 60 host
57} 61}
58 62
@@ -128,12 +132,14 @@ fn test_resolve_crate_root() {
128 132
129 let crate_graph = CrateGraph { 133 let crate_graph = CrateGraph {
130 crate_roots: { 134 crate_roots: {
131 let mut m = FxHashMap::default(); 135 let mut m = BTreeMap::default();
132 m.insert(CrateId(1), FileId(1)); 136 m.insert(CrateId(1), FileId(1));
133 m 137 m
134 }, 138 },
135 }; 139 };
136 host.set_crate_graph(crate_graph); 140 let mut change = AnalysisChange::new();
141 change.set_crate_graph(crate_graph);
142 host.apply_change(change);
137 let snap = host.analysis(); 143 let snap = host.analysis();
138 144
139 assert_eq!(snap.crate_for(FileId(2)).unwrap(), vec![CrateId(1)],); 145 assert_eq!(snap.crate_for(FileId(2)).unwrap(), vec![CrateId(1)],);