1 #[test]
insert()2 fn insert() {
3 let mut raw = clap_lex::RawArgs::new(["bin", "a", "b", "c"]);
4 let mut cursor = raw.cursor();
5
6 assert_eq!(raw.next_os(&mut cursor), Some(std::ffi::OsStr::new("bin")));
7 assert_eq!(raw.next_os(&mut cursor), Some(std::ffi::OsStr::new("a")));
8 raw.insert(&cursor, ["1", "2", "3"]);
9 assert_eq!(raw.next_os(&mut cursor), Some(std::ffi::OsStr::new("1")));
10 assert_eq!(raw.next_os(&mut cursor), Some(std::ffi::OsStr::new("2")));
11 assert_eq!(raw.next_os(&mut cursor), Some(std::ffi::OsStr::new("3")));
12 assert_eq!(raw.next_os(&mut cursor), Some(std::ffi::OsStr::new("b")));
13 assert_eq!(raw.next_os(&mut cursor), Some(std::ffi::OsStr::new("c")));
14
15 let mut cursor = raw.cursor();
16 let rest = raw
17 .remaining(&mut cursor)
18 .map(|s| s.to_string_lossy())
19 .collect::<Vec<_>>();
20 assert_eq!(rest, vec!["bin", "a", "1", "2", "3", "b", "c"]);
21 }
22