MCPcopy Create free account
hub / github.com/bootc-dev/bootc / test_add

Function test_add

crates/kernel_cmdline/src/bytes.rs:877–907  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

875
876 #[test]
877 fn test_add() {
878 let mut kargs = Cmdline::from(b"console=tty0 console=ttyS1");
879
880 // add new parameter with duplicate key but different value
881 assert!(matches!(kargs.add(&param("console=ttyS2")), Action::Added));
882 let mut iter = kargs.iter();
883 assert_eq!(iter.next(), Some(param("console=tty0")));
884 assert_eq!(iter.next(), Some(param("console=ttyS1")));
885 assert_eq!(iter.next(), Some(param("console=ttyS2")));
886 assert_eq!(iter.next(), None);
887
888 // try to add exact duplicate - should return Existed
889 assert!(matches!(
890 kargs.add(&param("console=ttyS1")),
891 Action::Existed
892 ));
893 iter = kargs.iter();
894 assert_eq!(iter.next(), Some(param("console=tty0")));
895 assert_eq!(iter.next(), Some(param("console=ttyS1")));
896 assert_eq!(iter.next(), Some(param("console=ttyS2")));
897 assert_eq!(iter.next(), None);
898
899 // add completely new parameter
900 assert!(matches!(kargs.add(&param("quiet")), Action::Added));
901 iter = kargs.iter();
902 assert_eq!(iter.next(), Some(param("console=tty0")));
903 assert_eq!(iter.next(), Some(param("console=ttyS1")));
904 assert_eq!(iter.next(), Some(param("console=ttyS2")));
905 assert_eq!(iter.next(), Some(param("quiet")));
906 assert_eq!(iter.next(), None);
907 }
908
909 #[test]
910 fn test_add_empty_cmdline() {

Callers

nothing calls this directly

Calls 1

iterMethod · 0.45

Tested by

no test coverage detected