@@ -78,17 +78,17 @@ macro_rules! enoom (
78
78
impl fmt:: Show for $en {
79
79
fn fmt( & self , fmt: & mut fmt:: Formatter ) -> fmt:: Result {
80
80
match * self {
81
- $( $ty => $text) ,* ,
82
- $ext( ref s) => return s. fmt( fmt)
81
+ $( $en :: $ ty => $text) ,* ,
82
+ $en :: $ ext( ref s) => return s. fmt( fmt)
83
83
} . fmt( fmt)
84
84
}
85
85
}
86
86
87
87
impl FromStr for $en {
88
88
fn from_str( s: & str ) -> Option <$en> {
89
89
Some ( match s {
90
- $( _s if _s == $text => $ty) ,* ,
91
- s => $ext( inspect!( stringify!( $ext) , s) . to_string( ) )
90
+ $( _s if _s == $text => $en :: $ ty) ,* ,
91
+ s => $en :: $ ext( inspect!( stringify!( $ext) , s) . to_string( ) )
92
92
} )
93
93
}
94
94
}
@@ -97,8 +97,8 @@ macro_rules! enoom (
97
97
98
98
enoom ! {
99
99
pub enum TopLevel ;
100
- TopExt ;
101
- TopStar , "*" ; // remove Top prefix if enums gain namespaces
100
+ Ext ;
101
+ Star , "*" ;
102
102
Text , "text" ;
103
103
Image , "image" ;
104
104
Audio , "audio" ;
@@ -111,8 +111,8 @@ enoom! {
111
111
112
112
enoom ! {
113
113
pub enum SubLevel ;
114
- SubExt ;
115
- SubStar , "*" ; // remove Sub prefix if enums gain namespaces
114
+ Ext ;
115
+ Star , "*" ;
116
116
117
117
// common text/*
118
118
Plain , "plain" ;
@@ -137,14 +137,14 @@ enoom! {
137
137
138
138
enoom ! {
139
139
pub enum Attr ;
140
- AttrExt ;
140
+ Ext ;
141
141
Charset , "charset" ;
142
142
Q , "q" ;
143
143
}
144
144
145
145
enoom ! {
146
146
pub enum Value ;
147
- ValueExt ;
147
+ Ext ;
148
148
Utf8 , "utf-8" ;
149
149
}
150
150
@@ -365,31 +365,31 @@ fn fmt_param(param: &Param, fmt: &mut fmt::Formatter) -> fmt::Result {
365
365
mod tests {
366
366
use std:: str:: { FromStr , from_str} ;
367
367
use test:: Bencher ;
368
- use super :: { Mime , Text , Plain , Charset , Utf8 , AttrExt , ValueExt } ;
368
+ use super :: { TopLevel , SubLevel , Attr , Value , Mime } ;
369
369
370
370
#[ test]
371
371
fn test_mime_show ( ) {
372
- let mime = Mime ( Text , Plain , vec ! [ ] ) ;
372
+ let mime = Mime ( TopLevel :: Text , SubLevel :: Plain , vec ! [ ] ) ;
373
373
assert_eq ! ( mime. to_string( ) , "text/plain" . to_string( ) ) ;
374
- let mime = Mime ( Text , Plain , vec ! [ ( Charset , Utf8 ) ] ) ;
374
+ let mime = Mime ( TopLevel :: Text , SubLevel :: Plain , vec ! [ ( Attr :: Charset , Value :: Utf8 ) ] ) ;
375
375
assert_eq ! ( mime. to_string( ) , "text/plain; charset=utf-8" . to_string( ) ) ;
376
376
}
377
377
378
378
#[ test]
379
379
fn test_mime_from_str ( ) {
380
- assert_eq ! ( FromStr :: from_str( "text/plain" ) , Some ( Mime ( Text , Plain , vec![ ] ) ) ) ;
381
- assert_eq ! ( FromStr :: from_str( "TEXT/PLAIN" ) , Some ( Mime ( Text , Plain , vec![ ] ) ) ) ;
382
- assert_eq ! ( FromStr :: from_str( "text/plain; charset=utf-8" ) , Some ( Mime ( Text , Plain , vec![ ( Charset , Utf8 ) ] ) ) ) ;
383
- assert_eq ! ( FromStr :: from_str( "text/plain;charset=\" utf-8\" " ) , Some ( Mime ( Text , Plain , vec![ ( Charset , Utf8 ) ] ) ) ) ;
380
+ assert_eq ! ( FromStr :: from_str( "text/plain" ) , Some ( Mime ( TopLevel :: Text , SubLevel :: Plain , vec![ ] ) ) ) ;
381
+ assert_eq ! ( FromStr :: from_str( "TEXT/PLAIN" ) , Some ( Mime ( TopLevel :: Text , SubLevel :: Plain , vec![ ] ) ) ) ;
382
+ assert_eq ! ( FromStr :: from_str( "text/plain; charset=utf-8" ) , Some ( Mime ( TopLevel :: Text , SubLevel :: Plain , vec![ ( Attr :: Charset , Value :: Utf8 ) ] ) ) ) ;
383
+ assert_eq ! ( FromStr :: from_str( "text/plain;charset=\" utf-8\" " ) , Some ( Mime ( TopLevel :: Text , SubLevel :: Plain , vec![ ( Attr :: Charset , Value :: Utf8 ) ] ) ) ) ;
384
384
assert_eq ! ( FromStr :: from_str( "text/plain; charset=utf-8; foo=bar" ) ,
385
- Some ( Mime ( Text , Plain , vec![ ( Charset , Utf8 ) ,
386
- ( AttrExt ( "foo" . to_string( ) ) , ValueExt ( "bar" . to_string( ) ) ) ] ) ) ) ;
385
+ Some ( Mime ( TopLevel :: Text , SubLevel :: Plain , vec![ ( Attr :: Charset , Value :: Utf8 ) ,
386
+ ( Attr :: Ext ( "foo" . to_string( ) ) , Value :: Ext ( "bar" . to_string( ) ) ) ] ) ) ) ;
387
387
}
388
388
389
389
390
390
#[ bench]
391
391
fn bench_show ( b : & mut Bencher ) {
392
- let mime = Mime ( Text , Plain , vec ! [ ( Charset , Utf8 ) , ( AttrExt ( "foo" . to_string( ) ) , ValueExt ( "bar" . to_string( ) ) ) ] ) ;
392
+ let mime = Mime ( TopLevel :: Text , SubLevel :: Plain , vec ! [ ( Attr :: Charset , Value :: Utf8 ) , ( Attr :: Ext ( "foo" . to_string( ) ) , Value :: Ext ( "bar" . to_string( ) ) ) ] ) ;
393
393
b. bytes = mime. to_string ( ) . as_bytes ( ) . len ( ) as u64 ;
394
394
b. iter ( || mime. to_string ( ) )
395
395
}
0 commit comments