MCPcopy Create free account
hub / github.com/bytecodealliance/system-interface / write

Function write

tests/vectored_at.rs:600–628  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

598
599#[test]
600fn write() {
601 let dir = tempfile::tempdir().unwrap();
602 let file = check!(OpenOptions::new()
603 .create_new(true)
604 .read(true)
605 .write(true)
606 .open(dir.path().join("file")));
607 check!(write!(&file, "abcdefghijklmnopqrstuvwxyz"));
608 let buf0 = b"EFGHIJKL".to_vec();
609 let buf1 = b"MNOPQRST".to_vec();
610 let nwritten0 = check!(file.write(&buf0));
611 let nwritten1 = check!(file.write(&buf1));
612 assert_eq!(
613 check!(file.stream_position()),
614 (26 + nwritten0 + nwritten1) as u64
615 );
616 let mut back = String::new();
617 check!(file.seek(std::io::SeekFrom::Start(0)));
618 check!(file.read_to_string(&mut back));
619 if nwritten0 == 8 {
620 if nwritten1 == 8 {
621 assert_eq!(back, "abcdefghijklmnopqrstuvwxyzEFGHIJKLMNOPQRST");
622 } else {
623 assert_eq!(&back.as_bytes()[22..26 + nwritten0], b"wxyzEFGHIJKL");
624 }
625 }
626 assert!(nwritten0 <= 8);
627 assert!(nwritten1 <= 8);
628}

Callers 2

writeMethod · 0.85
appendMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected