pub struct FixtureDetails { /* private fields */ }Expand description
This captures metadata fields that are relevant for tests. They are meant to be written out lazily as tests are filled out – feel free to add more details as necessary!
Implementations§
Source§impl FixtureDetails
impl FixtureDetails
pub fn new(package_details: AHashMap<PackageId, PackageDetails>) -> Self
pub fn with_workspace_members<'a>( self, workspace_members: impl IntoIterator<Item = (impl Into<Utf8PathBuf>, &'a str)>, ) -> Self
Sourcepub fn with_hakari_package(self, id: &'static str) -> Self
pub fn with_hakari_package(self, id: &'static str) -> Self
Sets the hakari package for this fixture, if any.
Some fixtures have a hakari package which can be used to test hakari-specific behaviors.
pub fn hakari_package(&self) -> Option<&PackageId>
pub fn with_link_details( self, link_details: AHashMap<(PackageId, PackageId), LinkDetails>, ) -> Self
pub fn with_feature_graph_warnings( self, warnings: Vec<FeatureGraphWarning>, ) -> Self
pub fn with_cycles(self, cycles: Vec<Vec<&'static str>>) -> Self
pub fn known_ids(&self) -> impl Iterator<Item = &PackageId>
pub fn assert_workspace(&self, workspace: Workspace<'_>)
pub fn assert_topo(&self, graph: &PackageGraph)
pub fn assert_metadata( &self, id: &PackageId, metadata: PackageMetadata<'_>, msg: &str, )
pub fn has_build_targets(&self, id: &PackageId) -> bool
pub fn assert_build_targets(&self, metadata: PackageMetadata<'_>, msg: &str)
Sourcepub fn has_deps(&self, id: &PackageId) -> bool
pub fn has_deps(&self, id: &PackageId) -> bool
Returns true if the deps for this package are available to test against.
pub fn assert_deps(&self, graph: &PackageGraph, id: &PackageId, msg: &str)
Sourcepub fn has_reverse_deps(&self, id: &PackageId) -> bool
pub fn has_reverse_deps(&self, id: &PackageId) -> bool
Returns true if the reverse deps for this package are available to test against.
pub fn assert_reverse_deps( &self, graph: &PackageGraph, id: &PackageId, msg: &str, )
Sourcepub fn has_transitive_deps(&self, id: &PackageId) -> bool
pub fn has_transitive_deps(&self, id: &PackageId) -> bool
Returns true if the transitive deps for this package are available to test against.
pub fn assert_transitive_deps( &self, graph: &PackageGraph, id: &PackageId, msg: &str, )
Sourcepub fn has_transitive_reverse_deps(&self, id: &PackageId) -> bool
pub fn has_transitive_reverse_deps(&self, id: &PackageId) -> bool
Returns true if the transitive reverse deps for this package are available to test against.
pub fn assert_transitive_reverse_deps( &self, graph: &PackageGraph, id: &PackageId, msg: &str, )
pub fn assert_link_details(&self, graph: &PackageGraph, msg: &str)
pub fn has_named_features(&self, id: &PackageId) -> bool
pub fn assert_named_features( &self, graph: &PackageGraph, id: &PackageId, msg: &str, )
pub fn assert_feature_graph_warnings(&self, graph: &PackageGraph, msg: &str)
Sourcepub fn assert_conditional_link_package_links(
&self,
graph: &PackageGraph,
msg: &str,
)
pub fn assert_conditional_link_package_links( &self, graph: &PackageGraph, msg: &str, )
Asserts invariants for ConditionalLink::package_links.
- Every conditional link starts at its
fromfeature’s package. - A cross-package one has exactly one package link, ending at its
tofeature’s package.
pub fn assert_cycles(&self, graph: &PackageGraph, msg: &str)
Auto Trait Implementations§
impl Freeze for FixtureDetails
impl RefUnwindSafe for FixtureDetails
impl Send for FixtureDetails
impl Sync for FixtureDetails
impl Unpin for FixtureDetails
impl UnsafeUnpin for FixtureDetails
impl UnwindSafe for FixtureDetails
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute] value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi [Quirk] value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);