use destructive_command_guard::context::{SpanKind, classify_command};
#[test]
fn test_bash_rcfile_inline_bypass() {
let cmd = "bash --rcfile \"my file\" -c \"rm -rf /\"";
let spans = classify_command(cmd);
let inline_span = spans
.spans()
.iter()
.find(|s| s.text(cmd).contains("rm -rf"));
assert!(inline_span.is_some(), "Should find the rm -rf span");
let span = inline_span.unwrap();
println!("Span kind: {:?}", span.kind);
assert!(
span.kind.requires_pattern_check(),
"Span should require pattern check, but got {:?}",
span.kind
);
}
#[test]
fn test_complex_args_bypass() {
let cmd = "python -B -v -c \"import os; os.system('rm -rf /')\"";
let spans = classify_command(cmd);
let inline_span = spans
.spans()
.iter()
.find(|s| s.kind == SpanKind::InlineCode);
assert!(
inline_span.is_some(),
"Should detect python -c even with multiple flags"
);
}