pub struct ExpectArray { /* private fields */ }Implementations§
Source§impl ExpectArray
impl ExpectArray
pub fn empty(self) -> ExpectArray
pub fn not_empty(self) -> ExpectArray
pub fn len(self, len: usize) -> ExpectArray
pub fn min_len(self, min_len: usize) -> ExpectArray
pub fn max_len(self, max_len: usize) -> ExpectArray
pub fn contains<I, V>(self, expected_values: I) -> ExpectArray
Sourcepub fn eq_unordered<I, V>(self, expected_values: I) -> ExpectArray
pub fn eq_unordered<I, V>(self, expected_values: I) -> ExpectArray
Expects all values in the array match the expected values in some order.
This can be an exact value, or an ExpectOp.
The lengths of the arrays must be equal.
Sourcepub fn all<V>(self, expected: V) -> ExpectArray
pub fn all<V>(self, expected: V) -> ExpectArray
Expects all values in the array match the expected value.
This can be an exact value, or an ExpectOp.
Note an empty array will match this.
use axum_test::expect_json;
let server = TestServer::new(Router::new());
server.get(&"/users")
.await
.assert_json(&expect_json::array().all(
json!({
"name": expect_json::string().not_empty(),
"email": expect_json::email(),
})
));Sourcepub fn all_contains<V>(self, expected: V) -> ExpectArray
pub fn all_contains<V>(self, expected: V) -> ExpectArray
Expects all values to be an object, containing the expected value.
§Example Usage
use axum_test::expect_json;
let server = TestServer::new(Router::new());
server.get(&"/users")
.await
.assert_json(&expect_json::array().all_contains(json!({
"name": expect_json::string().not_empty(),
"email": expect_json::email(),
})));§Equivalent Usage
This is shorthand for using ExpectArray::all and ExpectObject::contains, like so:
use axum_test::expect_json;
let server = TestServer::new(Router::new());
server.get(&"/users")
.await
.assert_json(&expect_json::array().all(
expect_json::object().contains(json!({
"name": expect_json::string().not_empty(),
"email": expect_json::email(),
}))
));Sourcepub fn unique(self) -> ExpectArray
pub fn unique(self) -> ExpectArray
Expects all values in the array are unique. No duplicates.
use axum_test::expect_json;
let server = TestServer::new(Router::new());
server.get(&"/users")
.await
.assert_json(&json!({
// expect an array of unique UUIDs
"user_ids": expect_json::array()
.all(expect_json::uuid())
.unique(),
}));Trait Implementations§
Source§impl Clone for ExpectArray
impl Clone for ExpectArray
Source§fn clone(&self) -> ExpectArray
fn clone(&self) -> ExpectArray
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExpectArray
impl Debug for ExpectArray
Source§impl Default for ExpectArray
impl Default for ExpectArray
Source§fn default() -> ExpectArray
fn default() -> ExpectArray
Source§impl<'de> Deserialize<'de> for ExpectArray
impl<'de> Deserialize<'de> for ExpectArray
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ExpectArray, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ExpectArray, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl ExpectOp for ExpectArray
impl ExpectOp for ExpectArray
fn on_array( &self, context: &mut Context<'_>, received: &[Value], ) -> Result<(), ExpectOpError>
Source§fn debug_supported_types(&self) -> &'static [JsonType]
fn debug_supported_types(&self) -> &'static [JsonType]
fn on_any( &self, context: &mut Context<'_>, received: &Value, ) -> Result<(), ExpectOpError>
fn on_null(&self, context: &mut Context<'_>) -> Result<(), ExpectOpError>
fn on_f64( &self, context: &mut Context<'_>, received: f64, ) -> Result<(), ExpectOpError>
fn on_u64( &self, context: &mut Context<'_>, received: u64, ) -> Result<(), ExpectOpError>
fn on_i64( &self, context: &mut Context<'_>, received: i64, ) -> Result<(), ExpectOpError>
fn on_boolean( &self, context: &mut Context<'_>, received: bool, ) -> Result<(), ExpectOpError>
fn on_string( &self, context: &mut Context<'_>, received: &str, ) -> Result<(), ExpectOpError>
fn on_object( &self, context: &mut Context<'_>, received: &Map<String, Value>, ) -> Result<(), ExpectOpError>
Source§impl PartialEq for ExpectArray
impl PartialEq for ExpectArray
Source§impl Serialize for ExpectArray
impl Serialize for ExpectArray
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl StructuralPartialEq for ExpectArray
Auto Trait Implementations§
impl Freeze for ExpectArray
impl RefUnwindSafe for ExpectArray
impl Send for ExpectArray
impl Sync for ExpectArray
impl Unpin for ExpectArray
impl UnsafeUnpin for ExpectArray
impl UnwindSafe for ExpectArray
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§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();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§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();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§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();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§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();Source§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>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§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);