diff options
| author | Murarth <murarth@gmail.com> | 2014-11-17 14:37:59 -0700 |
|---|---|---|
| committer | Murarth <murarth@gmail.com> | 2014-11-17 20:26:21 -0700 |
| commit | 2293a04b4936a11fc3e09f3df8a8ab591e034f29 (patch) | |
| tree | bb7b2439ddcc50918c09624e73d1b178601c0a4a /src/libsyntax/parse | |
| parent | 7ef200774fbb8e5f4961f63a83cf5bbe27cd5f8f (diff) | |
| download | rust-2293a04b4936a11fc3e09f3df8a8ab591e034f29.tar.gz rust-2293a04b4936a11fc3e09f3df8a8ab591e034f29.zip | |
libsyntax: Add tests for `parse_view_item`
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/mod.rs | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs index 2810db4eadd..3ce49b9d7a3 100644 --- a/src/libsyntax/parse/mod.rs +++ b/src/libsyntax/parse/mod.rs @@ -730,10 +730,11 @@ mod test { use attr::AttrMetaMethods; use parse::parser::Parser; use parse::token::{str_to_ident}; + use print::pprust::view_item_to_string; use ptr::P; use util::parser_testing::{string_to_tts, string_to_parser}; use util::parser_testing::{string_to_expr, string_to_item}; - use util::parser_testing::string_to_stmt; + use util::parser_testing::{string_to_stmt, string_to_view_item}; // produce a codemap::span fn sp(a: u32, b: u32) -> Span { @@ -1083,6 +1084,30 @@ mod test { span: sp(0,21)}))); } + #[test] fn parse_use() { + let use_s = "use foo::bar::baz;"; + let vitem = string_to_view_item(use_s.to_string()); + let vitem_s = view_item_to_string(&vitem); + assert_eq!(vitem_s.as_slice(), use_s); + + let use_s = "use foo::bar as baz;"; + let vitem = string_to_view_item(use_s.to_string()); + let vitem_s = view_item_to_string(&vitem); + assert_eq!(vitem_s.as_slice(), use_s); + } + + #[test] fn parse_extern_crate() { + let ex_s = "extern crate foo;"; + let vitem = string_to_view_item(ex_s.to_string()); + let vitem_s = view_item_to_string(&vitem); + assert_eq!(vitem_s.as_slice(), ex_s); + + let ex_s = "extern crate \"foo\" as bar;"; + let vitem = string_to_view_item(ex_s.to_string()); + let vitem_s = view_item_to_string(&vitem); + assert_eq!(vitem_s.as_slice(), ex_s); + } + fn get_spans_of_pat_idents(src: &str) -> Vec<Span> { let item = string_to_item(src.to_string()).unwrap(); |
