Skip to content

Commit bbac7ea

Browse files
committed
test: add some tests
1 parent e8cccc4 commit bbac7ea

1 file changed

Lines changed: 88 additions & 0 deletions

File tree

src/app/deduplicate_arguments.rs

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,23 @@ mod tests {
231231
assert_eq!(actual, expected);
232232
}
233233

234+
#[test]
235+
fn remove_duplicated_sub_paths() {
236+
let original = vec![
237+
"foo/child",
238+
"foo",
239+
"bar",
240+
"abc/def",
241+
"0/1/2",
242+
"bar/child",
243+
"0/1/2/3",
244+
];
245+
let mut actual = original.clone();
246+
deduplicate_arguments::<MockedApi>(&mut actual);
247+
let expected = vec!["foo", "bar", "abc/def", "0/1/2"];
248+
assert_eq!(actual, expected);
249+
}
250+
234251
#[test]
235252
fn remove_all_except_current_dir() {
236253
let original = dbg!(vec!["foo", "bar", ".", "abc/def", "0/1/2"]);
@@ -289,6 +306,77 @@ mod tests {
289306
assert_eq!(actual, expected);
290307
}
291308

309+
#[test]
310+
fn remove_duplicated_real_paths() {
311+
let original = dbg!(vec![
312+
"foo",
313+
"bar",
314+
"abc/def",
315+
"link-to-foo/child",
316+
"link-to-bar/a/b/c",
317+
"0/1/2",
318+
]);
319+
let mut actual = original.clone();
320+
deduplicate_arguments::<MockedApi>(&mut actual);
321+
let expected = vec!["foo", "bar", "abc/def", "0/1/2"];
322+
assert_eq!(actual, expected);
323+
324+
let original = dbg!(vec![
325+
"link-to-foo/child",
326+
"link-to-bar/a/b/c",
327+
"foo",
328+
"bar",
329+
"abc/def",
330+
"0/1/2",
331+
]);
332+
let mut actual = original.clone();
333+
deduplicate_arguments::<MockedApi>(&mut actual);
334+
let expected = vec!["foo", "bar", "abc/def", "0/1/2"];
335+
assert_eq!(actual, expected);
336+
337+
let original = dbg!(vec![
338+
"link-to-current-dir/foo",
339+
"foo",
340+
"bar",
341+
"abc/def",
342+
"link-to-current-dir/bar",
343+
"0/1/2",
344+
]);
345+
let mut actual = original.clone();
346+
deduplicate_arguments::<MockedApi>(&mut actual);
347+
let expected = vec!["link-to-current-dir/foo", "bar", "abc/def", "0/1/2"];
348+
assert_eq!(actual, expected);
349+
}
350+
351+
#[test]
352+
fn do_not_remove_symlinks() {
353+
let original = dbg!(vec![
354+
"foo",
355+
"bar",
356+
"abc/def",
357+
"link-to-foo",
358+
"link-to-bar",
359+
"0/1/2",
360+
]);
361+
let mut actual = original.clone();
362+
deduplicate_arguments::<MockedApi>(&mut actual);
363+
let expected = original;
364+
assert_eq!(actual, expected);
365+
366+
let original = dbg!(vec![
367+
"foo/child",
368+
"bar",
369+
"abc/def",
370+
"link-to-foo",
371+
"link-to-bar",
372+
"0/1/2",
373+
]);
374+
let mut actual = original.clone();
375+
deduplicate_arguments::<MockedApi>(&mut actual);
376+
let expected = original;
377+
assert_eq!(actual, expected);
378+
}
379+
292380
#[test]
293381
fn remove_nothing() {
294382
let original = vec![31, 54, 22, 81, 67, 45, 52, 20, 85, 66, 27, 84];

0 commit comments

Comments
 (0)