MCPcopy Create free account
hub / github.com/f0rr0/oliphaunt / parser_handles_split_single_message

Function parser_handles_split_single_message

src/protocol/tests.rs:731–765  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

729
730#[test]
731fn parser_handles_split_single_message() -> Result<()> {
732 let full = buffers::data_row(&[None, Some("bang"), Some("zug zug"), None, Some("!")]);
733
734 let messages = parse_vec_chunks(vec![full.clone()])?;
735 assert_eq!(messages.len(), 1);
736 assert_data_row_fields(
737 &messages[0],
738 &[None, Some("bang"), Some("zug zug"), None, Some("!")],
739 );
740
741 let splits = [
742 6,
743 2,
744 full.len().saturating_sub(2),
745 full.len().saturating_sub(1),
746 full.len().saturating_sub(5),
747 ];
748
749 for split in splits {
750 if split == 0 || split >= full.len() {
751 continue;
752 }
753 let first_len = full.len() - split;
754 let first = full[..first_len].to_vec();
755 let second = full[first_len..].to_vec();
756 let messages = parse_vec_chunks(vec![first, second])?;
757 assert_eq!(messages.len(), 1);
758 assert_data_row_fields(
759 &messages[0],
760 &[None, Some("bang"), Some("zug zug"), None, Some("!")],
761 );
762 }
763
764 Ok(())
765}
766
767#[test]
768fn parser_handles_split_multiple_messages() -> Result<()> {

Callers

nothing calls this directly

Calls 4

data_rowFunction · 0.85
parse_vec_chunksFunction · 0.85
assert_data_row_fieldsFunction · 0.85
lenMethod · 0.80

Tested by

no test coverage detected