use super::RULE;
#[test]
fn test_detect_nu_c_with_use_self() {
let bad_code = r#"
def main [...args] {
let script_path = $env.CURRENT_FILE
nu -c $'use "($script_path)" *; mycommand ($args | str join " ")'
}
"#;
RULE.assert_detects(bad_code);
}
#[test]
fn test_detect_nu_c_simple() {
let bad_code = r#"nu -c 'print "hello"'"#;
RULE.assert_detects(bad_code);
}
#[test]
fn test_detect_nu_commands_flag() {
let bad_code = r#"nu --commands 'ls | length'"#;
RULE.assert_detects(bad_code);
}
#[test]
fn test_detect_nu_c_with_variable() {
let bad_code = r#"
let cmd = "print hello"
nu -c $cmd
"#;
RULE.assert_detects(bad_code);
}
#[test]
fn test_detect_nu_c_in_function() {
let bad_code = r#"
def dispatch [cmd: string] {
nu -c $cmd
}
"#;
RULE.assert_detects(bad_code);
}