namespaces: add some tests
This commit is contained in:
parent
0148790a01
commit
7297dbc5fd
1 changed files with 45 additions and 0 deletions
|
@ -103,3 +103,48 @@ impl From<(String, String)> for NamespaceSet {
|
||||||
Self::from((Some(prefix), namespace))
|
Self::from((Some(prefix), namespace))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
use std::rc::Rc;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn get_has() {
|
||||||
|
let namespaces = NamespaceSet::from("foo".to_owned());
|
||||||
|
assert_eq!(namespaces.get(&None), Some("foo".to_owned()));
|
||||||
|
assert!(namespaces.has(&None, "foo"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn get_has_prefixed() {
|
||||||
|
let namespaces = NamespaceSet::from(("x".to_owned(), "bar".to_owned()));
|
||||||
|
assert_eq!(namespaces.get(&Some("x".to_owned())), Some("bar".to_owned()));
|
||||||
|
assert!(namespaces.has(&Some("x".to_owned()), "bar"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn get_has_recursive() {
|
||||||
|
let mut parent = NamespaceSet::from("foo".to_owned());
|
||||||
|
for _ in 0..1000 {
|
||||||
|
let namespaces = NamespaceSet::default();
|
||||||
|
namespaces.set_parent(Rc::new(parent));
|
||||||
|
assert_eq!(namespaces.get(&None), Some("foo".to_owned()));
|
||||||
|
assert!(namespaces.has(&None, "foo"));
|
||||||
|
parent = namespaces;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn get_has_prefixed_recursive() {
|
||||||
|
let mut parent = NamespaceSet::from(("x".to_owned(), "bar".to_owned()));
|
||||||
|
for _ in 0..1000 {
|
||||||
|
let namespaces = NamespaceSet::default();
|
||||||
|
namespaces.set_parent(Rc::new(parent));
|
||||||
|
assert_eq!(namespaces.get(&Some("x".to_owned())), Some("bar".to_owned()));
|
||||||
|
assert!(namespaces.has(&Some("x".to_owned()), "bar"));
|
||||||
|
parent = namespaces;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue