pub struct SubplotDataFile { /* private fields */ }
Expand description

An embedded data file.

Embedded data files have names and content. The subplot template will generate a lazy_static containing all the data files embedded into the suite. Then generated test functions will extract data files

If you are using them in your test steps you should take them by value:

#[step]
fn step_using_a_file(context: &mut Context, somefile: SubplotDataFile) {
    // context.stash_file(somefile);
}

For the generated test to correctly recognise how to pass a file in, you must mark the argument as a file in your binding:

- when: using {somefile} as a input
  function: step_using_a_file
  types:
    somefile: file

Implementations

Construct a new data file object

Typically this will only be called from the generated test suite. The passed in name and data must be base64 encoded strings and each will be interpreted independently. The name will be treated as a PathBuf and the data will be stored as a slice of bytes.

Neither will be interpreted as utf8.


let data_file = SubplotDataFile::new("aGVsbG8=", "d29ybGQ=");
Panics

This will panic if the passed in strings are not correctly base64 encoded.

Retrieve the filename

File names are returned as a borrow of a Path since they could be arbitrarily constructed, though typically they’ll have come from markdown source and so likely they will be utf-8 compatible.

let data_file = SubplotDataFile::new("aGVsbG8=", "d29ybGQ=");
assert_eq!(data_file.name().display().to_string(), "hello");

Retrieve the data

The data of a file is always returned as a slice of bytes. This is because files could be arbitrary data, though again, they typically will have been sourced from a Subplot document and so be utf-8 compatible.


let data_file = SubplotDataFile::new("aGVsbG8=", "d29ybGQ=");
assert_eq!(data_file.data(), b"world");

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.