aboutsummaryrefslogtreecommitdiff
path: root/crates/vfs
diff options
context:
space:
mode:
authorDaiki Ihara <[email protected]>2020-11-30 15:10:12 +0000
committerDaiki Ihara <[email protected]>2020-11-30 15:10:12 +0000
commit59bd6e2eea151f097a65f2634dc5488b3c272d92 (patch)
tree647c3f191e7425791bf828387d5d3ce6f98b0cac /crates/vfs
parentc8a2ff6ecc8e45c7e1420e01d52c8b7a315140e6 (diff)
Extract tests module to file in vfs crate
Diffstat (limited to 'crates/vfs')
-rw-r--r--crates/vfs/src/file_set.rs51
-rw-r--r--crates/vfs/src/file_set/tests.rs42
-rw-r--r--crates/vfs/src/vfs_path.rs33
-rw-r--r--crates/vfs/src/vfs_path/tests.rs30
4 files changed, 74 insertions, 82 deletions
diff --git a/crates/vfs/src/file_set.rs b/crates/vfs/src/file_set.rs
index 4aa2d6526..9093fbd97 100644
--- a/crates/vfs/src/file_set.rs
+++ b/crates/vfs/src/file_set.rs
@@ -158,53 +158,4 @@ impl fst::Automaton for PrefixOf<'_> {
158} 158}
159 159
160#[cfg(test)] 160#[cfg(test)]
161mod tests { 161mod tests;
162 use super::*;
163
164 #[test]
165 fn path_prefix() {
166 let mut file_set = FileSetConfig::builder();
167 file_set.add_file_set(vec![VfsPath::new_virtual_path("/foo".into())]);
168 file_set.add_file_set(vec![VfsPath::new_virtual_path("/foo/bar/baz".into())]);
169 let file_set = file_set.build();
170
171 let mut vfs = Vfs::default();
172 vfs.set_file_contents(
173 VfsPath::new_virtual_path("/foo/src/lib.rs".into()),
174 Some(Vec::new()),
175 );
176 vfs.set_file_contents(
177 VfsPath::new_virtual_path("/foo/src/bar/baz/lib.rs".into()),
178 Some(Vec::new()),
179 );
180 vfs.set_file_contents(
181 VfsPath::new_virtual_path("/foo/bar/baz/lib.rs".into()),
182 Some(Vec::new()),
183 );
184 vfs.set_file_contents(VfsPath::new_virtual_path("/quux/lib.rs".into()), Some(Vec::new()));
185
186 let partition = file_set.partition(&vfs).into_iter().map(|it| it.len()).collect::<Vec<_>>();
187 assert_eq!(partition, vec![2, 1, 1]);
188 }
189
190 #[test]
191 fn name_prefix() {
192 let mut file_set = FileSetConfig::builder();
193 file_set.add_file_set(vec![VfsPath::new_virtual_path("/foo".into())]);
194 file_set.add_file_set(vec![VfsPath::new_virtual_path("/foo-things".into())]);
195 let file_set = file_set.build();
196
197 let mut vfs = Vfs::default();
198 vfs.set_file_contents(
199 VfsPath::new_virtual_path("/foo/src/lib.rs".into()),
200 Some(Vec::new()),
201 );
202 vfs.set_file_contents(
203 VfsPath::new_virtual_path("/foo-things/src/lib.rs".into()),
204 Some(Vec::new()),
205 );
206
207 let partition = file_set.partition(&vfs).into_iter().map(|it| it.len()).collect::<Vec<_>>();
208 assert_eq!(partition, vec![1, 1, 0]);
209 }
210}
diff --git a/crates/vfs/src/file_set/tests.rs b/crates/vfs/src/file_set/tests.rs
new file mode 100644
index 000000000..2146df185
--- /dev/null
+++ b/crates/vfs/src/file_set/tests.rs
@@ -0,0 +1,42 @@
1use super::*;
2
3#[test]
4fn path_prefix() {
5 let mut file_set = FileSetConfig::builder();
6 file_set.add_file_set(vec![VfsPath::new_virtual_path("/foo".into())]);
7 file_set.add_file_set(vec![VfsPath::new_virtual_path("/foo/bar/baz".into())]);
8 let file_set = file_set.build();
9
10 let mut vfs = Vfs::default();
11 vfs.set_file_contents(VfsPath::new_virtual_path("/foo/src/lib.rs".into()), Some(Vec::new()));
12 vfs.set_file_contents(
13 VfsPath::new_virtual_path("/foo/src/bar/baz/lib.rs".into()),
14 Some(Vec::new()),
15 );
16 vfs.set_file_contents(
17 VfsPath::new_virtual_path("/foo/bar/baz/lib.rs".into()),
18 Some(Vec::new()),
19 );
20 vfs.set_file_contents(VfsPath::new_virtual_path("/quux/lib.rs".into()), Some(Vec::new()));
21
22 let partition = file_set.partition(&vfs).into_iter().map(|it| it.len()).collect::<Vec<_>>();
23 assert_eq!(partition, vec![2, 1, 1]);
24}
25
26#[test]
27fn name_prefix() {
28 let mut file_set = FileSetConfig::builder();
29 file_set.add_file_set(vec![VfsPath::new_virtual_path("/foo".into())]);
30 file_set.add_file_set(vec![VfsPath::new_virtual_path("/foo-things".into())]);
31 let file_set = file_set.build();
32
33 let mut vfs = Vfs::default();
34 vfs.set_file_contents(VfsPath::new_virtual_path("/foo/src/lib.rs".into()), Some(Vec::new()));
35 vfs.set_file_contents(
36 VfsPath::new_virtual_path("/foo-things/src/lib.rs".into()),
37 Some(Vec::new()),
38 );
39
40 let partition = file_set.partition(&vfs).into_iter().map(|it| it.len()).collect::<Vec<_>>();
41 assert_eq!(partition, vec![1, 1, 0]);
42}
diff --git a/crates/vfs/src/vfs_path.rs b/crates/vfs/src/vfs_path.rs
index 815697597..bd14911c9 100644
--- a/crates/vfs/src/vfs_path.rs
+++ b/crates/vfs/src/vfs_path.rs
@@ -311,35 +311,4 @@ impl VirtualPath {
311} 311}
312 312
313#[cfg(test)] 313#[cfg(test)]
314mod tests { 314mod tests;
315 use super::*;
316
317 #[test]
318 fn virtual_path_extensions() {
319 assert_eq!(VirtualPath("/".to_string()).name_and_extension(), None);
320 assert_eq!(
321 VirtualPath("/directory".to_string()).name_and_extension(),
322 Some(("directory", None))
323 );
324 assert_eq!(
325 VirtualPath("/directory/".to_string()).name_and_extension(),
326 Some(("directory", None))
327 );
328 assert_eq!(
329 VirtualPath("/directory/file".to_string()).name_and_extension(),
330 Some(("file", None))
331 );
332 assert_eq!(
333 VirtualPath("/directory/.file".to_string()).name_and_extension(),
334 Some((".file", None))
335 );
336 assert_eq!(
337 VirtualPath("/directory/.file.rs".to_string()).name_and_extension(),
338 Some((".file", Some("rs")))
339 );
340 assert_eq!(
341 VirtualPath("/directory/file.rs".to_string()).name_and_extension(),
342 Some(("file", Some("rs")))
343 );
344 }
345}
diff --git a/crates/vfs/src/vfs_path/tests.rs b/crates/vfs/src/vfs_path/tests.rs
new file mode 100644
index 000000000..510e021e8
--- /dev/null
+++ b/crates/vfs/src/vfs_path/tests.rs
@@ -0,0 +1,30 @@
1use super::*;
2
3#[test]
4fn virtual_path_extensions() {
5 assert_eq!(VirtualPath("/".to_string()).name_and_extension(), None);
6 assert_eq!(
7 VirtualPath("/directory".to_string()).name_and_extension(),
8 Some(("directory", None))
9 );
10 assert_eq!(
11 VirtualPath("/directory/".to_string()).name_and_extension(),
12 Some(("directory", None))
13 );
14 assert_eq!(
15 VirtualPath("/directory/file".to_string()).name_and_extension(),
16 Some(("file", None))
17 );
18 assert_eq!(
19 VirtualPath("/directory/.file".to_string()).name_and_extension(),
20 Some((".file", None))
21 );
22 assert_eq!(
23 VirtualPath("/directory/.file.rs".to_string()).name_and_extension(),
24 Some((".file", Some("rs")))
25 );
26 assert_eq!(
27 VirtualPath("/directory/file.rs".to_string()).name_and_extension(),
28 Some(("file", Some("rs")))
29 );
30}