From bd071f11f77c6f07f55030606c63794ef56e81a8 Mon Sep 17 00:00:00 2001 From: ysthakur <45539777+ysthakur@users.noreply.github.com> Date: Tue, 25 Jun 2024 18:46:50 -0400 Subject: [PATCH] test: Shortest compl should be first --- crates/nu-cli/tests/completions/mod.rs | 63 +++++++++++-------- .../{partial_a => partial-a}/anotherfile | 0 .../{partial_a => partial-a}/have_ext.exe | 0 .../{partial_a => partial-a}/have_ext.txt | 0 .../{partial_a => partial-a}/hello | 0 .../{partial_a => partial-a}/hola | 0 .../{partial_b => partial-b}/hello_b | 0 .../{partial_b => partial-b}/hi_b | 0 .../{partial_c => partial-c}/hello_c | 0 .../partial_completions/partial/hello.txt | 0 10 files changed, 36 insertions(+), 27 deletions(-) rename tests/fixtures/partial_completions/{partial_a => partial-a}/anotherfile (100%) rename tests/fixtures/partial_completions/{partial_a => partial-a}/have_ext.exe (100%) rename tests/fixtures/partial_completions/{partial_a => partial-a}/have_ext.txt (100%) rename tests/fixtures/partial_completions/{partial_a => partial-a}/hello (100%) rename tests/fixtures/partial_completions/{partial_a => partial-a}/hola (100%) rename tests/fixtures/partial_completions/{partial_b => partial-b}/hello_b (100%) rename tests/fixtures/partial_completions/{partial_b => partial-b}/hi_b (100%) rename tests/fixtures/partial_completions/{partial_c => partial-c}/hello_c (100%) create mode 100644 tests/fixtures/partial_completions/partial/hello.txt diff --git a/crates/nu-cli/tests/completions/mod.rs b/crates/nu-cli/tests/completions/mod.rs index aa1f221c9b..47476a46e8 100644 --- a/crates/nu-cli/tests/completions/mod.rs +++ b/crates/nu-cli/tests/completions/mod.rs @@ -276,9 +276,10 @@ fn partial_completions() { // Create the expected values let expected_paths: Vec = vec![ - folder(dir.join("partial_a")), - folder(dir.join("partial_b")), - folder(dir.join("partial_c")), + folder(dir.join("partial")), + folder(dir.join("partial-a")), + folder(dir.join("partial-b")), + folder(dir.join("partial-c")), ]; // Match the results @@ -292,13 +293,14 @@ fn partial_completions() { // Create the expected values let expected_paths: Vec = vec![ - file(dir.join("partial_a").join("have_ext.exe")), - file(dir.join("partial_a").join("have_ext.txt")), - file(dir.join("partial_a").join("hello")), - file(dir.join("partial_a").join("hola")), - file(dir.join("partial_b").join("hello_b")), - file(dir.join("partial_b").join("hi_b")), - file(dir.join("partial_c").join("hello_c")), + file(dir.join("partial").join("hello.txt")), + file(dir.join("partial-a").join("have_ext.exe")), + file(dir.join("partial-a").join("have_ext.txt")), + file(dir.join("partial-a").join("hello")), + file(dir.join("partial-a").join("hola")), + file(dir.join("partial-b").join("hello_b")), + file(dir.join("partial-b").join("hi_b")), + file(dir.join("partial-c").join("hello_c")), ]; // Match the results @@ -311,14 +313,15 @@ fn partial_completions() { // Create the expected values let expected_paths: Vec = vec![ - file(dir.join("partial_a").join("anotherfile")), - file(dir.join("partial_a").join("have_ext.exe")), - file(dir.join("partial_a").join("have_ext.txt")), - file(dir.join("partial_a").join("hello")), - file(dir.join("partial_a").join("hola")), - file(dir.join("partial_b").join("hello_b")), - file(dir.join("partial_b").join("hi_b")), - file(dir.join("partial_c").join("hello_c")), + file(dir.join("partial").join("hello.txt")), + file(dir.join("partial-a").join("anotherfile")), + file(dir.join("partial-a").join("have_ext.exe")), + file(dir.join("partial-a").join("have_ext.txt")), + file(dir.join("partial-a").join("hello")), + file(dir.join("partial-a").join("hola")), + file(dir.join("partial-b").join("hello_b")), + file(dir.join("partial-b").join("hi_b")), + file(dir.join("partial-c").join("hello_c")), ]; // Match the results @@ -343,19 +346,25 @@ fn partial_completions() { // Create the expected values let expected_paths: Vec = vec![ file( - dir.join("partial_a") + dir.join("partial") .join("..") .join("final_partial") .join("somefile"), ), file( - dir.join("partial_b") + dir.join("partial-a") .join("..") .join("final_partial") .join("somefile"), ), file( - dir.join("partial_c") + dir.join("partial-b") + .join("..") + .join("final_partial") + .join("somefile"), + ), + file( + dir.join("partial-c") .join("..") .join("final_partial") .join("somefile"), @@ -366,28 +375,28 @@ fn partial_completions() { match_suggestions(expected_paths, suggestions); // Test completion for all files under directories whose names begin with "pa" - let file_str = file(dir.join("partial_a").join("have")); + let file_str = file(dir.join("partial-a").join("have")); let target_file = format!("rm {file_str}"); let suggestions = completer.complete(&target_file, target_file.len()); // Create the expected values let expected_paths: Vec = vec![ - file(dir.join("partial_a").join("have_ext.exe")), - file(dir.join("partial_a").join("have_ext.txt")), + file(dir.join("partial-a").join("have_ext.exe")), + file(dir.join("partial-a").join("have_ext.txt")), ]; // Match the results match_suggestions(expected_paths, suggestions); // Test completion for all files under directories whose names begin with "pa" - let file_str = file(dir.join("partial_a").join("have_ext.")); + let file_str = file(dir.join("partial-a").join("have_ext.")); let file_dir = format!("rm {file_str}"); let suggestions = completer.complete(&file_dir, file_dir.len()); // Create the expected values let expected_paths: Vec = vec![ - file(dir.join("partial_a").join("have_ext.exe")), - file(dir.join("partial_a").join("have_ext.txt")), + file(dir.join("partial-a").join("have_ext.exe")), + file(dir.join("partial-a").join("have_ext.txt")), ]; // Match the results diff --git a/tests/fixtures/partial_completions/partial_a/anotherfile b/tests/fixtures/partial_completions/partial-a/anotherfile similarity index 100% rename from tests/fixtures/partial_completions/partial_a/anotherfile rename to tests/fixtures/partial_completions/partial-a/anotherfile diff --git a/tests/fixtures/partial_completions/partial_a/have_ext.exe b/tests/fixtures/partial_completions/partial-a/have_ext.exe similarity index 100% rename from tests/fixtures/partial_completions/partial_a/have_ext.exe rename to tests/fixtures/partial_completions/partial-a/have_ext.exe diff --git a/tests/fixtures/partial_completions/partial_a/have_ext.txt b/tests/fixtures/partial_completions/partial-a/have_ext.txt similarity index 100% rename from tests/fixtures/partial_completions/partial_a/have_ext.txt rename to tests/fixtures/partial_completions/partial-a/have_ext.txt diff --git a/tests/fixtures/partial_completions/partial_a/hello b/tests/fixtures/partial_completions/partial-a/hello similarity index 100% rename from tests/fixtures/partial_completions/partial_a/hello rename to tests/fixtures/partial_completions/partial-a/hello diff --git a/tests/fixtures/partial_completions/partial_a/hola b/tests/fixtures/partial_completions/partial-a/hola similarity index 100% rename from tests/fixtures/partial_completions/partial_a/hola rename to tests/fixtures/partial_completions/partial-a/hola diff --git a/tests/fixtures/partial_completions/partial_b/hello_b b/tests/fixtures/partial_completions/partial-b/hello_b similarity index 100% rename from tests/fixtures/partial_completions/partial_b/hello_b rename to tests/fixtures/partial_completions/partial-b/hello_b diff --git a/tests/fixtures/partial_completions/partial_b/hi_b b/tests/fixtures/partial_completions/partial-b/hi_b similarity index 100% rename from tests/fixtures/partial_completions/partial_b/hi_b rename to tests/fixtures/partial_completions/partial-b/hi_b diff --git a/tests/fixtures/partial_completions/partial_c/hello_c b/tests/fixtures/partial_completions/partial-c/hello_c similarity index 100% rename from tests/fixtures/partial_completions/partial_c/hello_c rename to tests/fixtures/partial_completions/partial-c/hello_c diff --git a/tests/fixtures/partial_completions/partial/hello.txt b/tests/fixtures/partial_completions/partial/hello.txt new file mode 100644 index 0000000000..e69de29bb2