Skip to content

Commit ef3a8eb

Browse files
committed
librustdoc: move tests into dedicated tests module.
1 parent d3be98e commit ef3a8eb

15 files changed

+1624
-1619
lines changed

src/librustdoc/attr_parser.rs

+88-89
Original file line numberDiff line numberDiff line change
@@ -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-
4828
fn 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-
9349
pub 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-
12060
pub 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\nbar"));
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\nbar"));
158+
}
159+
}

0 commit comments

Comments
 (0)