Sha256: ed597cba87ee6b215220d2a799fd41beb0310c2f1eeeb569fa60c421061a0695

Contents?: true

Size: 1.44 KB

Versions: 39

Compression:

Stored size: 1.44 KB

Contents

#[macro_use]
mod sys_common;

use std::fs::OpenOptions;
use system_interface::fs::FileIoExt;
use system_interface::io::IoExt;

#[test]
fn read_to_end_at() {
    let dir = tempfile::tempdir().unwrap();
    let file = check!(OpenOptions::new()
        .create_new(true)
        .read(true)
        .write(true)
        .open(dir.path().join("file")));
    check!(write!(&file, "abcdefghijklmnopqrstuvwxyz"));
    let mut buf = Vec::new();
    check!(file.read_to_end_at(&mut buf, 4));
    assert_eq!(check!(file.stream_position()), 26);
    assert_eq!(&buf, b"efghijklmnopqrstuvwxyz");
}

#[test]
fn read_to_string_at() {
    let dir = tempfile::tempdir().unwrap();
    let file = check!(OpenOptions::new()
        .create_new(true)
        .read(true)
        .write(true)
        .open(dir.path().join("file")));
    check!(write!(&file, "abcdefghijklmnopqrstuvwxyz"));
    let mut buf = String::new();
    check!(file.read_to_string_at(&mut buf, 4));
    assert_eq!(check!(file.stream_position()), 26);
    assert_eq!(buf, "efghijklmnopqrstuvwxyz");
}

#[test]
fn read_to_string_at_error() {
    let dir = tempfile::tempdir().unwrap();
    let file = check!(OpenOptions::new()
        .create_new(true)
        .read(true)
        .write(true)
        .open(dir.path().join("file")));
    check!(file.write_all(b"abcdefghijklmnopqrstuvwxyz\xc0"));
    let mut buf = String::new();
    assert!(file.read_to_string_at(&mut buf, 4).is_err());
    assert!(buf.is_empty());
}

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
wasmtime-30.0.2 ./ext/cargo-vendor/system-interface-0.27.3/tests/read_to_end.rs
wasmtime-29.0.0 ./ext/cargo-vendor/system-interface-0.27.3/tests/read_to_end.rs
wasmtime-28.0.0 ./ext/cargo-vendor/system-interface-0.27.3/tests/read_to_end.rs
wasmtime-27.0.0 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-26.0.0 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-25.0.2 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-25.0.1 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-25.0.0 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-24.0.0 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-23.0.2 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-22.0.0 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-21.0.1 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-20.0.2 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-20.0.0 ./ext/cargo-vendor/system-interface-0.27.2/tests/read_to_end.rs
wasmtime-18.0.3 ./ext/cargo-vendor/system-interface-0.26.1/tests/read_to_end.rs
wasmtime-17.0.1 ./ext/cargo-vendor/system-interface-0.26.1/tests/read_to_end.rs
wasmtime-17.0.0 ./ext/cargo-vendor/system-interface-0.26.1/tests/read_to_end.rs
wasmtime-16.0.0 ./ext/cargo-vendor/system-interface-0.26.1/tests/read_to_end.rs
wasmtime-15.0.1 ./ext/cargo-vendor/system-interface-0.26.1/tests/read_to_end.rs
wasmtime-15.0.0 ./ext/cargo-vendor/system-interface-0.26.1/tests/read_to_end.rs