Re-add len() and clear() as inherent Headers methods.

This commit is contained in:
Jamie Turner
2014-11-03 21:06:30 -08:00
parent bef7da153c
commit 14687ad6d2

View File

@@ -268,6 +268,16 @@ impl Headers {
inner: self.data.iter()
}
}
/// Returns the number of headers in the map.
pub fn len(&self) -> uint {
self.data.len()
}
/// Remove all headers from the map.
pub fn clear(&mut self) {
self.data.clear()
}
}
impl fmt::Show for Headers {
@@ -516,5 +526,24 @@ mod tests {
assert_eq!(headers.get_raw("Content-length").unwrap(), [b"20".to_vec()][]);
assert_eq!(headers.get(), Some(&ContentLength(20)));
}
#[test]
fn test_len() {
let mut headers = Headers::new();
headers.set(ContentLength(10));
assert_eq!(headers.len(), 1);
headers.set(ContentType(Mime(Text, Plain, vec![])));
assert_eq!(headers.len(), 2);
}
#[test]
fn test_clear() {
let mut headers = Headers::new();
headers.set(ContentLength(10));
headers.set(ContentType(Mime(Text, Plain, vec![])));
assert_eq!(headers.len(), 2);
headers.clear();
assert_eq!(headers.len(), 0);
}
}