diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2020-06-06 14:31:48 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2020-06-06 15:53:15 +0100 |
commit | 3842e769624a2dc3cca5b77269e3ea04e4491d15 (patch) | |
tree | ec9e7974b5b1b6227ac41597399c1ae8cb4dacd8 | |
parent | 1187eff8a21ff6938d4d00c2a91232fde2d1a796 (diff) | |
download | subplot-3842e769624a2dc3cca5b77269e3ea04e4491d15.tar.gz |
bindings: Change to take ownership of passed bindings
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
-rw-r--r-- | src/bindings.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/bindings.rs b/src/bindings.rs index ea35f57..510584d 100644 --- a/src/bindings.rs +++ b/src/bindings.rs @@ -274,15 +274,15 @@ impl Bindings { } /// Add a binding to the set. - pub fn add(&mut self, binding: &Binding) { - self.bindings.push(binding.clone()); + pub fn add(&mut self, binding: Binding) { + self.bindings.push(binding); } /// Add bindings from a YAML string pub fn add_from_yaml(&mut self, yaml: &str) -> Result<()> { let bindings: Vec<ParsedBinding> = serde_yaml::from_str(yaml)?; for b in bindings { - self.add(&from_hashmap(&b)?); + self.add(from_hashmap(&b)?); } Ok(()) } @@ -395,7 +395,7 @@ mod test_bindings { let binding = Binding::new(StepKind::Given, r"I am (?P<name>\S+)", "set_name", None).unwrap(); let mut bindings = Bindings::new(); - bindings.add(&binding); + bindings.add(binding.clone()); assert_eq!(bindings.bindings(), &[binding]); } @@ -437,7 +437,7 @@ mod test_bindings { let step = ScenarioStep::new(StepKind::Given, "given", "I am Tomjon"); let binding = Binding::new(StepKind::When, r"I am Tomjon", "set_foo", None).unwrap(); let mut bindings = Bindings::new(); - bindings.add(&binding); + bindings.add(binding); assert!(bindings.find(&step).is_err()); } @@ -447,7 +447,7 @@ mod test_bindings { let binding = Binding::new(StepKind::Given, r"I am Tomjon of Lancre", "set_foo", None).unwrap(); let mut bindings = Bindings::new(); - bindings.add(&binding); + bindings.add(binding); assert!(bindings.find(&step).is_err()); } @@ -456,7 +456,7 @@ mod test_bindings { let step = ScenarioStep::new(StepKind::Given, "given", "I am Tomjon"); let binding = Binding::new(StepKind::Given, r"I am Tomjon", "set_name", None).unwrap(); let mut bindings = Bindings::new(); - bindings.add(&binding); + bindings.add(binding); let m = bindings.find(&step).unwrap(); assert_eq!(m.kind(), StepKind::Given); let mut parts = m.parts(); @@ -474,7 +474,7 @@ mod test_bindings { let binding = Binding::new(StepKind::Given, r"I am (?P<name>\S+)", "set_name", None).unwrap(); let mut bindings = Bindings::new(); - bindings.add(&binding); + bindings.add(binding); let m = bindings.find(&step).unwrap(); assert_eq!(m.kind(), StepKind::Given); let mut parts = m.parts(); |