Sha256: 82a83d0d4d5a60bc312f2d77722607a8bd28d465fdeec3fd072815cd0cb4ee70

Contents?: true

Size: 851 Bytes

Versions: 8

Compression:

Stored size: 851 Bytes

Contents

#![warn(rust_2018_idioms)]
#![cfg(all(feature = "full", not(tokio_wasi)))] // Wasi does not support file operations

use tempfile::NamedTempFile;
use tokio::fs::File;
use tokio::io::{AsyncBufReadExt, BufReader};
use tokio_test::assert_ok;

#[tokio::test]
async fn fill_buf_file() {
    let file = NamedTempFile::new().unwrap();

    assert_ok!(std::fs::write(file.path(), b"hello"));

    let file = assert_ok!(File::open(file.path()).await);
    let mut file = BufReader::new(file);

    let mut contents = Vec::new();

    loop {
        let consumed = {
            let buffer = assert_ok!(file.fill_buf().await);
            if buffer.is_empty() {
                break;
            }
            contents.extend_from_slice(buffer);
            buffer.len()
        };

        file.consume(consumed);
    }

    assert_eq!(contents, b"hello");
}

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
wasmtime-9.0.1 ./ext/cargo-vendor/tokio-1.28.1/tests/io_fill_buf.rs
wasmtime-8.0.0 ./ext/cargo-vendor/tokio-1.27.0/tests/io_fill_buf.rs
wasmtime-7.0.0 ./ext/cargo-vendor/tokio-1.27.0/tests/io_fill_buf.rs
wasmtime-6.0.1 ./ext/cargo-vendor/tokio-1.25.0/tests/io_fill_buf.rs
wasmtime-6.0.0 ./ext/cargo-vendor/tokio-1.25.0/tests/io_fill_buf.rs
wasmtime-5.0.0 ./ext/cargo-vendor/tokio-1.24.2/tests/io_fill_buf.rs
wasmtime-0.4.1 ./ext/cargo-vendor/tokio-1.23.0/tests/io_fill_buf.rs
wasmtime-0.4.0 ./ext/cargo-vendor/tokio-1.23.0/tests/io_fill_buf.rs