fix(headers): Don't display q if q=1 in quality item.

Fixes #281
This commit is contained in:
Jonathan Reem
2015-01-28 00:53:26 -05:00
parent 93821fc731
commit 91df2441a0

View File

@@ -28,7 +28,12 @@ impl<T> QualityItem<T> {
impl<T: fmt::Display> fmt::Display for QualityItem<T> { impl<T: fmt::Display> fmt::Display for QualityItem<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}; q={}", self.item, format!("{:.3}", self.quality).trim_right_matches(['0', '.'].as_slice())) if self.quality == 1.0 {
write!(f, "{}", self.item)
} else {
write!(f, "{}; q={}", self.item,
format!("{:.3}", self.quality).trim_right_matches(&['0', '.'][]))
}
} }
} }
@@ -79,7 +84,7 @@ pub fn qitem<T>(item: T) -> QualityItem<T> {
#[test] #[test]
fn test_quality_item_show1() { fn test_quality_item_show1() {
let x = qitem(Chunked); let x = qitem(Chunked);
assert_eq!(format!("{}", x), "chunked; q=1"); assert_eq!(format!("{}", x), "chunked");
} }
#[test] #[test]
fn test_quality_item_show2() { fn test_quality_item_show2() {