Revert "nu-cli/completions: better fix for files with special characters (#5254)" (#5372)

This reverts commit 3cf3329e49.
This commit is contained in:
Darren Schroeder
2022-04-29 13:11:41 -05:00
committed by GitHub
parent fa27110651
commit 2659ea3dbd
5 changed files with 19 additions and 113 deletions

View File

@ -8,7 +8,6 @@ use reedline::{Completer, Suggestion};
const SEP: char = std::path::MAIN_SEPARATOR;
#[test]
#[cfg(not(target_os = "windows"))]
fn file_completions() {
// Create a new engine
let (dir, dir_str, engine) = new_engine();
@ -24,11 +23,12 @@ fn file_completions() {
// Create the expected values
let expected_paths: Vec<String> = vec![
folder(dir.clone().join("test_a")),
folder(dir.clone().join("test_b")),
folder(dir.clone().join("another")),
file(dir.clone().join(".hidden_file")),
folder(dir.clone().join(".hidden_folder")),
file(dir.join("nushell")),
folder(dir.join("test_a")),
folder(dir.join("test_b")),
folder(dir.join("another")),
file(dir.join(".hidden_file")),
folder(dir.join(".hidden_folder")),
];
// Match the results
@ -46,7 +46,6 @@ fn file_completions() {
}
#[test]
#[cfg(not(target_os = "windows"))]
fn folder_completions() {
// Create a new engine
let (dir, dir_str, engine) = new_engine();
@ -88,26 +87,9 @@ pub fn new_engine() -> (PathBuf, String, EngineState) {
}
// match a list of suggestions with the expected values
// skipping the order (for now) due to some issue with sorting behaving
// differently for each OS
fn match_suggestions(expected: Vec<String>, suggestions: Vec<Suggestion>) {
suggestions.into_iter().for_each(|it| {
let items = expected.clone();
let result = items.into_iter().find(|x| {
let mut current_item = x.clone();
// For windows the expected should also escape "\"
if cfg!(windows) {
current_item = current_item.replace("\\", "\\\\");
}
&current_item == &it.value
});
match result {
Some(val) => assert_eq!(val, it.value),
None => panic!("the path {} is not expected", it.value),
}
pub fn match_suggestions(expected: Vec<String>, suggestions: Vec<Suggestion>) {
expected.iter().zip(suggestions).for_each(|it| {
assert_eq!(it.0, &it.1.value);
});
}