#[cfg(feature = "response")]
pub fn parse_response(content: &str, _prefix: char) -> Vec<crate::Argument> {
winsplit::split(content)
.into_iter()
.map(|s| crate::Argument::PassThrough(s.into()))
.collect()
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn empty() {
let input = "";
let expected: Vec<crate::Argument> = vec![];
let actual = parse_response(input, crate::PREFIX);
assert_eq!(expected, actual);
}
#[test]
fn sample() {
let input = r#"--hello world
@moon.txt
--goodbye "walker texas"
'single'
sun
c:\Windows
# comment
"#;
let expected: Vec<crate::Argument> = vec![
crate::Argument::PassThrough("--hello".into()),
crate::Argument::PassThrough("world".into()),
crate::Argument::PassThrough("@moon.txt".into()),
crate::Argument::PassThrough("--goodbye".into()),
crate::Argument::PassThrough("walker texas".into()),
crate::Argument::PassThrough("'single'".into()),
crate::Argument::PassThrough("sun".into()),
crate::Argument::PassThrough("c:\\Windows".into()),
crate::Argument::PassThrough("#".into()),
crate::Argument::PassThrough("comment".into()),
];
let actual = parse_response(input, crate::PREFIX);
assert_eq!(expected, actual);
}
}