pub struct Feature {
pub keyword: String,
pub name: String,
pub description: Option<String>,
pub background: Option<Background>,
pub scenarios: Vec<Scenario>,
pub rules: Vec<Rule>,
pub tags: Vec<String>,
pub span: Span,
pub position: LineCol,
pub path: Option<PathBuf>,
}
Expand description
A feature
Fields
keyword: String
The raw keyword used in the original source.
name: String
The name of the feature.
description: Option<String>
The description of the feature, if found.
background: Option<Background>
The background of the feature, if found.
scenarios: Vec<Scenario>
The scenarios for the feature.
rules: Vec<Rule>
The rules for the feature.
The tags for the feature if provided.
span: Span
The (start, end)
offset the feature directive was found in the .feature file.
position: LineCol
The (line, col)
position the feature directive was found in the .feature file.
path: Option<PathBuf>
The path supplied for the parsed Feature
, if known.
Implementations
sourceimpl Feature
impl Feature
sourcepub fn builder() -> FeatureBuilder<((), (), (), (), (), (), (), (), (), ())>
pub fn builder() -> FeatureBuilder<((), (), (), (), (), (), (), (), (), ())>
Create a builder for building Feature
.
On the builder, call .keyword(...)
, .name(...)
, .description(...)
(optional), .background(...)
(optional), .scenarios(...)
(optional), .rules(...)
(optional), .tags(...)
(optional), .span(...)
(optional), .position(...)
(optional), .path(...)
(optional) to set the values of the fields (they accept Into
values).
Finally, call .build()
to create the instance of Feature
.
sourceimpl Feature
impl Feature
pub fn parse_path<P: AsRef<Path>>(
path: P,
env: GherkinEnv
) -> Result<Feature, ParseFileError>
pub fn parse<S: AsRef<str>>(
input: S,
env: GherkinEnv
) -> Result<Feature, ParseError>
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Feature
impl<'de> Deserialize<'de> for Feature
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<__S> GraphQLObjectType<__S> for Feature where
__S: ScalarValue,
impl<__S> GraphQLObjectType<__S> for Feature where
__S: ScalarValue,
sourceimpl<__S> GraphQLType<__S> for Feature where
__S: ScalarValue,
impl<__S> GraphQLType<__S> for Feature where
__S: ScalarValue,
sourceimpl<__S> GraphQLValue<__S> for Feature where
__S: ScalarValue,
impl<__S> GraphQLValue<__S> for Feature where
__S: ScalarValue,
type Context = ()
type Context = ()
Context type for this GraphQLValue
. Read more
type TypeInfo = ()
type TypeInfo = ()
Type that may carry additional schema information for this GraphQLValue
. Read more
sourcefn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
Returns name of the GraphQLType
exposed by this GraphQLValue
. Read more
sourcefn resolve_field(
&self,
_info: &(),
field: &str,
args: &Arguments<'_, __S>,
executor: &Executor<'_, '_, Self::Context, __S>
) -> ExecutionResult<__S>
fn resolve_field(
&self,
_info: &(),
field: &str,
args: &Arguments<'_, __S>,
executor: &Executor<'_, '_, Self::Context, __S>
) -> ExecutionResult<__S>
Resolves the value of a single field on this GraphQLValue
. Read more
sourcefn concrete_type_name(&self, _: &Self::Context, _: &Self::TypeInfo) -> String
fn concrete_type_name(&self, _: &Self::Context, _: &Self::TypeInfo) -> String
Returns the concrete GraphQLType
name for this GraphQLValue
being an interface,
an union or an object. Read more
sourcefn resolve_into_type(
&self,
info: &Self::TypeInfo,
type_name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> Result<Value<S>, FieldError<S>>
fn resolve_into_type(
&self,
info: &Self::TypeInfo,
type_name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> Result<Value<S>, FieldError<S>>
Resolves this GraphQLValue
(being an interface or an union) into a concrete
downstream object type. Read more
sourceimpl<__S> GraphQLValueAsync<__S> for Feature where
__S: ScalarValue,
__S: Send + Sync,
Self: Sync,
impl<__S> GraphQLValueAsync<__S> for Feature where
__S: ScalarValue,
__S: Send + Sync,
Self: Sync,
sourcefn resolve_field_async<'b>(
&'b self,
info: &'b Self::TypeInfo,
field: &'b str,
args: &'b Arguments<'_, __S>,
executor: &'b Executor<'_, '_, Self::Context, __S>
) -> BoxFuture<'b, ExecutionResult<__S>> where
__S: Send + Sync,
fn resolve_field_async<'b>(
&'b self,
info: &'b Self::TypeInfo,
field: &'b str,
args: &'b Arguments<'_, __S>,
executor: &'b Executor<'_, '_, Self::Context, __S>
) -> BoxFuture<'b, ExecutionResult<__S>> where
__S: Send + Sync,
Resolves the value of a single field on this GraphQLValueAsync
. Read more
sourcefn resolve_into_type_async(
&'a self,
info: &'a Self::TypeInfo,
type_name: &str,
selection_set: Option<&'a [Selection<'a, S>]>,
executor: &'a Executor<'a, 'a, Self::Context, S>
) -> Pin<Box<dyn Future<Output = Result<Value<S>, FieldError<S>>> + Send + 'a, Global>>
fn resolve_into_type_async(
&'a self,
info: &'a Self::TypeInfo,
type_name: &str,
selection_set: Option<&'a [Selection<'a, S>]>,
executor: &'a Executor<'a, 'a, Self::Context, S>
) -> Pin<Box<dyn Future<Output = Result<Value<S>, FieldError<S>>> + Send + 'a, Global>>
Resolves this GraphQLValueAsync
(being an interface or an union) into a
concrete downstream object type. Read more
sourcefn resolve_async(
&'a self,
info: &'a Self::TypeInfo,
selection_set: Option<&'a [Selection<'_, S>]>,
executor: &'a Executor<'_, '_, Self::Context, S>
) -> Pin<Box<dyn Future<Output = Result<Value<S>, FieldError<S>>> + Send + 'a, Global>>
fn resolve_async(
&'a self,
info: &'a Self::TypeInfo,
selection_set: Option<&'a [Selection<'_, S>]>,
executor: &'a Executor<'_, '_, Self::Context, S>
) -> Pin<Box<dyn Future<Output = Result<Value<S>, FieldError<S>>> + Send + 'a, Global>>
Resolves the provided selection_set
against this GraphQLValueAsync
. Read more
sourceimpl<__S> IsOutputType<__S> for Feature where
__S: ScalarValue,
impl<__S> IsOutputType<__S> for Feature where
__S: ScalarValue,
sourceimpl Ord for Feature
impl Ord for Feature
sourceimpl PartialOrd<Feature> for Feature
impl PartialOrd<Feature> for Feature
sourcefn partial_cmp(&self, other: &Feature) -> Option<Ordering>
fn partial_cmp(&self, other: &Feature) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Eq for Feature
impl StructuralEq for Feature
impl StructuralPartialEq for Feature
Auto Trait Implementations
impl RefUnwindSafe for Feature
impl Send for Feature
impl Sync for Feature
impl Unpin for Feature
impl UnwindSafe for Feature
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more