@@ -25,26 +25,6 @@ pub struct CrateAttrs {
2525    name :  Option < ~str > 
2626} 
2727
28- #[ cfg( test) ]  
29- mod  test { 
30-     use  syntax:: ast; 
31-     use  syntax; 
32- 
33-     use  core:: option:: None ; 
34- 
35-     pub  fn  parse_attributes ( source :  ~str )  -> ~[ ast:: attribute ]  { 
36-         use  syntax:: parse; 
37-         use  syntax:: parse:: attr:: parser_attr; 
38-         use  syntax:: codemap; 
39- 
40-         let  parse_sess = syntax:: parse:: new_parse_sess ( None ) ; 
41-         let  parser = parse:: new_parser_from_source_str ( 
42-             parse_sess,  ~[ ] ,  ~"-", codemap::FssNone, @source); 
43- 
44-         parser.parse_outer_attributes() 
45-     } 
46- } 
47- 
4828fn  doc_metas ( 
4929    attrs :  ~[ ast:: attribute ] 
5030)  -> ~[ @ast:: meta_item ]  { 
@@ -66,30 +46,6 @@ pub fn parse_crate(attrs: ~[ast::attribute]) -> CrateAttrs {
6646    } 
6747} 
6848
69- #[ test]  
70- fn  should_extract_crate_name_from_link_attribute ( )  { 
71-     let  source = ~"#[ link ( name = \"snuggles\" ) ] "; 
72-     let  attrs = test:: parse_attributes ( source) ; 
73-     let  attrs = parse_crate ( attrs) ; 
74-     assert ! ( attrs. name == Some ( ~"snuggles")); 
75- } 
76- 
77- #[test] 
78- fn should_not_extract_crate_name_if_no_link_attribute() { 
79-     let source = ~" "; 
80-     let attrs = test::parse_attributes(source); 
81-     let attrs = parse_crate(attrs); 
82-     assert!(attrs.name == None); 
83- } 
84- 
85- #[test] 
86- fn should_not_extract_crate_name_if_no_name_value_in_link_attribute() { 
87-     let source = ~" #[ link( whatever) ] "; 
88-     let attrs = test::parse_attributes(source); 
89-     let attrs = parse_crate(attrs); 
90-     assert!(attrs.name == None); 
91- } 
92- 
9349pub  fn  parse_desc ( attrs :  ~[ ast:: attribute ] )  -> Option < ~str >  { 
9450    let  doc_strs = do doc_metas ( attrs) . filter_mapped  |meta| { 
9551        attr:: get_meta_item_value_str ( * meta) . map ( |s| copy * * s) 
@@ -101,60 +57,103 @@ pub fn parse_desc(attrs: ~[ast::attribute]) -> Option<~str> {
10157    } 
10258} 
10359
104- #[ test]  
105- fn  parse_desc_should_handle_undocumented_mods ( )  { 
106-     let  source = ~""; 
107-     let  attrs = test:: parse_attributes ( source) ; 
108-     let  attrs = parse_desc ( attrs) ; 
109-     assert ! ( attrs == None ) ; 
110- } 
111- 
112- #[ test]  
113- fn  parse_desc_should_parse_simple_doc_attributes ( )  { 
114-     let  source = ~"#[ doc = \"basic\" ] "; 
115-     let  attrs = test:: parse_attributes ( source) ; 
116-     let  attrs = parse_desc ( attrs) ; 
117-     assert!( attrs == Some ( ~"basic")); 
118- } 
119- 
12060pub  fn  parse_hidden ( attrs :  ~[ ast:: attribute ] )  -> bool  { 
12161    do doc_metas ( attrs) . find  |meta| { 
12262        match  attr:: get_meta_item_list ( * meta)  { 
123-           Some(metas) => { 
124-             let hiddens = attr::find_meta_items_by_name(metas, ~" hidden"); 
125-             !hiddens.is_empty() 
126-           } 
127-           None => false 
63+              Some ( metas)  => { 
64+                  let  hiddens = attr:: find_meta_items_by_name ( metas,  ~"hidden") ; 
65+                  !hiddens. is_empty ( ) 
66+              } 
67+              None  => false 
12868        } 
12969    } . is_some ( ) 
13070} 
13171
132- #[test] 
133- fn should_parse_hidden_attribute()  {
134-     let source = ~"  # [ doc ( hidden ) ] " ;
135-     let attrs = test::parse_attributes(source) ; 
136-     assert!( parse_hidden(attrs) == true) ; 
137- } 
72+ #[ cfg ( test) ]  
73+ mod  test  { 
74+     use  syntax :: ast ; 
75+     use  syntax ; 
76+     use   super :: { parse_hidden,  parse_crate ,  parse_desc } ; 
77+      use  core :: prelude :: * ; 
13878
139- #[test] 
140- fn should_parse_hidden_attribute_with_other_docs() { 
141-     let source = ~" #[ doc = \"foo\" ]  #[ doc( hidden) ]  #[ doc = \"foo\" ] "; 
142-     let attrs = test::parse_attributes(source); 
143-     assert!(parse_hidden(attrs) == true); 
144- } 
79+     fn  parse_attributes ( source :  ~str )  -> ~[ ast:: attribute ]  { 
80+         use  syntax:: parse; 
81+         use  syntax:: parse:: attr:: parser_attr; 
82+         use  syntax:: codemap; 
14583
146- #[test] 
147- fn should_not_parse_non_hidden_attribute() { 
148-     let source = ~"  # [ doc = \" \" ] " ;
149-     let attrs = test::parse_attributes(source); 
150-     assert!(parse_hidden(attrs) == false);  
151- } 
84+          let  parse_sess = syntax :: parse :: new_parse_sess ( None ) ; 
85+          let  parser = parse :: new_parser_from_source_str ( 
86+             parse_sess ,  ~ [ ] ,  ~"- ", codemap::FssNone, @source) ;
87+ 
88+         parser.parse_outer_attributes()  
89+      }
15290
153- #[test] 
154- fn should_concatenate_multiple_doc_comments() { 
155-     let source = ~" /// foo\n/// bar"; 
156- let  desc = parse_desc( test:: parse_attributes( source) ) ; 
157-     assert!( desc == Some ( ~"foo\n bar") ) ; 
158- } 
15991
92+     #[test] 
93+     fn should_extract_crate_name_from_link_attribute() { 
94+         let source = ~" #[ link( name = \"snuggles\" ) ]  "; 
95+         let attrs = parse_attributes(source); 
96+         let attrs = parse_crate(attrs); 
97+         assert!(attrs.name == Some(~" snuggles") ) ; 
98+     } 
16099
100+     #[ test]  
101+     fn  should_not_extract_crate_name_if_no_link_attribute ( )  { 
102+         let  source = ~""; 
103+         let  attrs = parse_attributes ( source) ; 
104+         let  attrs = parse_crate ( attrs) ; 
105+         assert ! ( attrs. name == None ) ; 
106+     } 
107+ 
108+     #[ test]  
109+     fn  should_not_extract_crate_name_if_no_name_value_in_link_attribute ( )  { 
110+         let  source = ~"#[ link ( whatever) ] "; 
111+         let  attrs = parse_attributes ( source) ; 
112+         let  attrs = parse_crate ( attrs) ; 
113+         assert ! ( attrs. name == None ) ; 
114+     } 
115+ 
116+     #[ test]  
117+     fn  parse_desc_should_handle_undocumented_mods ( )  { 
118+         let  source = ~""; 
119+         let  attrs = parse_attributes ( source) ; 
120+         let  attrs = parse_desc ( attrs) ; 
121+         assert ! ( attrs == None ) ; 
122+     } 
123+ 
124+     #[ test]  
125+     fn  parse_desc_should_parse_simple_doc_attributes ( )  { 
126+         let  source = ~"#[ doc = \"basic\" ] "; 
127+         let  attrs = parse_attributes ( source) ; 
128+         let  attrs = parse_desc ( attrs) ; 
129+         assert!( attrs == Some ( ~"basic")); 
130+     } 
131+ 
132+     #[test] 
133+     fn should_parse_hidden_attribute() { 
134+         let source = ~" #[ doc( hidden) ] "; 
135+         let attrs = parse_attributes(source); 
136+         assert!(parse_hidden(attrs) == true); 
137+     } 
138+ 
139+     #[test] 
140+     fn should_parse_hidden_attribute_with_other_docs() { 
141+         let source = ~" #[ doc = \"foo\" ]  #[ doc( hidden) ]  #[ doc = \"foo\" ] "; 
142+         let attrs = parse_attributes(source); 
143+         assert!(parse_hidden(attrs) == true); 
144+     } 
145+ 
146+     #[test] 
147+     fn should_not_parse_non_hidden_attribute() { 
148+         let source = ~" #[ doc = \"\" ] "; 
149+         let attrs = parse_attributes(source); 
150+         assert!(parse_hidden(attrs) == false); 
151+     } 
152+ 
153+     #[test] 
154+     fn should_concatenate_multiple_doc_comments() { 
155+         let source = ~" /// foo\n/// bar"; 
156+ let  desc = parse_desc( parse_attributes( source) ) ; 
157+         assert!( desc == Some ( ~"foo\n bar") ) ; 
158+     } 
159+ } 
0 commit comments