Skip to content

Commit 27c3fd6

Browse files
committed
test: vibe coded
1 parent 50cb762 commit 27c3fd6

File tree

1 file changed

+24
-0
lines changed
  • crates/nu-cli/tests/completions

1 file changed

+24
-0
lines changed

crates/nu-cli/tests/completions/mod.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2258,6 +2258,30 @@ fn extern_custom_completion_short_flag(mut extern_completer: NuCompleter) {
22582258
match_suggestions(&expected, &suggestions);
22592259
}
22602260

2261+
/// When we're completing the flag name itself, not its value,
2262+
/// custom completions should not be used
2263+
#[rstest]
2264+
fn custom_completion_flag_name_not_value(mut extern_completer: NuCompleter) {
2265+
let suggestions = extern_completer.complete("spam --f", 8);
2266+
assert!(
2267+
suggestions.iter().any(|s| s.value == "--foo"),
2268+
"Should contain --foo flag"
2269+
);
2270+
let should_not_contain: Vec<_> = vec!["cat", "dog", "eel"];
2271+
for item in should_not_contain {
2272+
assert!(
2273+
!suggestions.iter().any(|s| s.value == item),
2274+
"Should not contain custom completion {}",
2275+
item
2276+
);
2277+
}
2278+
2279+
// Also test with partial short flag
2280+
let suggestions = extern_completer.complete("spam -f", 7);
2281+
assert_eq!(1, suggestions.len(), "Should only have one suggestion");
2282+
assert_eq!("-f", suggestions[0].value, "Should suggest -f flag");
2283+
}
2284+
22612285
#[rstest]
22622286
fn extern_complete_flags(mut extern_completer: NuCompleter) {
22632287
let suggestions = extern_completer.complete("spam -", 6);

0 commit comments

Comments
 (0)