| 995 | |
| 996 | #[test] |
| 997 | fn test_remove_exact() { |
| 998 | let mut kargs = Cmdline::from(b"foo foo=bar foo=baz"); |
| 999 | |
| 1000 | // remove existing |
| 1001 | assert!(kargs.remove_exact(¶m("foo=bar"))); |
| 1002 | let mut iter = kargs.iter(); |
| 1003 | assert_eq!(iter.next(), Some(param("foo"))); |
| 1004 | assert_eq!(iter.next(), Some(param("foo=baz"))); |
| 1005 | assert_eq!(iter.next(), None); |
| 1006 | |
| 1007 | // doesn't exist? returns false and doesn't modify anything |
| 1008 | assert!(!kargs.remove_exact(¶m("foo=wuz"))); |
| 1009 | iter = kargs.iter(); |
| 1010 | assert_eq!(iter.next(), Some(param("foo"))); |
| 1011 | assert_eq!(iter.next(), Some(param("foo=baz"))); |
| 1012 | assert_eq!(iter.next(), None); |
| 1013 | } |
| 1014 | |
| 1015 | #[test] |
| 1016 | fn test_extend() { |