docs(headers): Add examples to Accept* headers
This commit is contained in:
		| @@ -23,6 +23,10 @@ header! { | |||||||
|     #[doc="accept-ext = OWS \";\" OWS token [ \"=\" ( token / quoted-string ) ]"] |     #[doc="accept-ext = OWS \";\" OWS token [ \"=\" ( token / quoted-string ) ]"] | ||||||
|     #[doc="```"] |     #[doc="```"] | ||||||
|     #[doc=""] |     #[doc=""] | ||||||
|  |     #[doc="# Example values"] | ||||||
|  |     #[doc="* `audio/*; q=0.2, audio/basic` (`*` value won't parse correctly)"] | ||||||
|  |     #[doc="* `text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c`"] | ||||||
|  |     #[doc=""] | ||||||
|     #[doc="# Notes"] |     #[doc="# Notes"] | ||||||
|     #[doc="* Using always Mime types to represent `media-range` differs from the ABNF."] |     #[doc="* Using always Mime types to represent `media-range` differs from the ABNF."] | ||||||
|     #[doc="* **FIXME**: `accept-ext` is not supported."] |     #[doc="* **FIXME**: `accept-ext` is not supported."] | ||||||
|   | |||||||
| @@ -15,9 +15,13 @@ header! { | |||||||
|     #[doc="```plain"] |     #[doc="```plain"] | ||||||
|     #[doc="Accept-Charset = 1#( ( charset / \"*\" ) [ weight ] )"] |     #[doc="Accept-Charset = 1#( ( charset / \"*\" ) [ weight ] )"] | ||||||
|     #[doc="```"] |     #[doc="```"] | ||||||
|  |     #[doc=""] | ||||||
|  |     #[doc="# Example values"] | ||||||
|  |     #[doc="* `iso-8859-5, unicode-1-1;q=0.8`"] | ||||||
|     (AcceptCharset, "Accept-Charset") => (QualityItem<Charset>)+ |     (AcceptCharset, "Accept-Charset") => (QualityItem<Charset>)+ | ||||||
|  |  | ||||||
|     test_accept_charset { |     test_accept_charset { | ||||||
|  |         /// Testcase from RFC | ||||||
|         test_header!(test1, vec![b"iso-8859-5, unicode-1-1;q=0.8"]); |         test_header!(test1, vec![b"iso-8859-5, unicode-1-1;q=0.8"]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -15,6 +15,13 @@ header! { | |||||||
|     #[doc="Accept-Encoding  = #( codings [ weight ] )"] |     #[doc="Accept-Encoding  = #( codings [ weight ] )"] | ||||||
|     #[doc="codings          = content-coding / \"identity\" / \"*\""] |     #[doc="codings          = content-coding / \"identity\" / \"*\""] | ||||||
|     #[doc="```"] |     #[doc="```"] | ||||||
|  |     #[doc=""] | ||||||
|  |     #[doc="# Example values"] | ||||||
|  |     #[doc="* `compress, gzip`"] | ||||||
|  |     #[doc="* ``"] | ||||||
|  |     #[doc="* `*`"] | ||||||
|  |     #[doc="* `compress;q=0.5, gzip;q=1`"] | ||||||
|  |     #[doc="* `gzip;q=1.0, identity; q=0.5, *;q=0`"] | ||||||
|     (AcceptEncoding, "Accept-Encoding") => (QualityItem<Encoding>)* |     (AcceptEncoding, "Accept-Encoding") => (QualityItem<Encoding>)* | ||||||
|  |  | ||||||
|     test_accept_encoding { |     test_accept_encoding { | ||||||
|   | |||||||
| @@ -13,49 +13,23 @@ header! { | |||||||
|     #[doc="Accept-Language = 1#( language-range [ weight ] )"] |     #[doc="Accept-Language = 1#( language-range [ weight ] )"] | ||||||
|     #[doc="language-range  = <language-range, see [RFC4647], Section 2.1>"] |     #[doc="language-range  = <language-range, see [RFC4647], Section 2.1>"] | ||||||
|     #[doc="```"] |     #[doc="```"] | ||||||
|  |     #[doc=""] | ||||||
|  |     #[doc="# Example values"] | ||||||
|  |     #[doc="* `da, en-gb;q=0.8, en;q=0.7`"] | ||||||
|  |     #[doc="* `en-us;q=1.0, en;q=0.5, fr`"] | ||||||
|     (AcceptLanguage, "Accept-Language") => (QualityItem<Language>)+ |     (AcceptLanguage, "Accept-Language") => (QualityItem<Language>)+ | ||||||
|  |  | ||||||
|     test_accept_language { |     test_accept_language { | ||||||
|  |         // From the RFC | ||||||
|         test_header!(test1, vec![b"da, en-gb;q=0.8, en;q=0.7"]); |         test_header!(test1, vec![b"da, en-gb;q=0.8, en;q=0.7"]); | ||||||
|     } |         // Own test | ||||||
| } |         test_header!( | ||||||
|  |             test2, vec![b"en-us, en; q=0.5, fr"], | ||||||
| #[cfg(test)] |             Some(AcceptLanguage(vec![ | ||||||
| mod tests { |  | ||||||
|     use header::{Header, Language, qitem, Quality, QualityItem}; |  | ||||||
|     use super::*; |  | ||||||
|  |  | ||||||
|     #[test] |  | ||||||
|     fn test_parse_header() { |  | ||||||
|         let a: AcceptLanguage = Header::parse_header( |  | ||||||
|             [b"en-us;q=1.0, en;q=0.5, fr".to_vec()].as_ref()).unwrap(); |  | ||||||
|         let b = AcceptLanguage(vec![ |  | ||||||
|                 qitem(Language {primary: "en".to_string(), sub: Some("us".to_string())}), |                 qitem(Language {primary: "en".to_string(), sub: Some("us".to_string())}), | ||||||
|             QualityItem::new(Language{primary: "en".to_string(), sub: None}, |                 QualityItem::new(Language{primary: "en".to_string(), sub: None}, Quality(500)), | ||||||
|                              Quality(500)), |  | ||||||
|                 qitem(Language {primary: "fr".to_string(), sub: None}), |                 qitem(Language {primary: "fr".to_string(), sub: None}), | ||||||
|         ]); |         ]))); | ||||||
|         assert_eq!(format!("{}", a), format!("{}", b)); |  | ||||||
|         assert_eq!(a, b); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     #[test] |  | ||||||
|     fn test_display() { |  | ||||||
|         assert_eq!("en".to_string(), |  | ||||||
|                    format!("{}", Language{primary: "en".to_string(), |  | ||||||
|                                           sub: None})); |  | ||||||
|         assert_eq!("en-us".to_string(), |  | ||||||
|                    format!("{}", Language{primary: "en".to_string(), |  | ||||||
|                                           sub: Some("us".to_string())})); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     #[test] |  | ||||||
|     fn test_from_str() { |  | ||||||
|         assert_eq!(Language { primary: "en".to_string(), sub: None }, |  | ||||||
|                    "en".parse().unwrap()); |  | ||||||
|         assert_eq!(Language { primary: "en".to_string(), |  | ||||||
|                               sub: Some("us".to_string()) }, |  | ||||||
|                    "en-us".parse().unwrap()); |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user