1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use state::Cucumber;
use regex::Regex;
use event::request::InvokeArgument;
pub type SimpleStep<World> = Box<Fn(&Cucumber<World>, &mut World, Vec<InvokeArgument>) + Send>;
pub trait CucumberRegistrar<World> {
fn given(&mut self, file: &str, line: u32, Regex, SimpleStep<World>);
fn when(&mut self, file: &str, line: u32, Regex, SimpleStep<World>);
fn then(&mut self, file: &str, line: u32, Regex, SimpleStep<World>);
}
impl<World> CucumberRegistrar<World> for Cucumber<World> {
fn given(&mut self, file: &str, line: u32, regex: Regex, step: SimpleStep<World>) {
self.insert_step(format!("{}:{}", file, line), regex, step)
}
fn when(&mut self, file: &str, line: u32, regex: Regex, step: SimpleStep<World>) {
self.insert_step(format!("{}:{}", file, line), regex, step)
}
fn then(&mut self, file: &str, line: u32, regex: Regex, step: SimpleStep<World>) {
self.insert_step(format!("{}:{}", file, line), regex, step)
}
}
#[cfg(test)]
mod test {
}