Finish porting to the `Synom` trait
diff --git a/tests/test_expr.rs b/tests/test_expr.rs
index 6216191..749d50f 100644
--- a/tests/test_expr.rs
+++ b/tests/test_expr.rs
@@ -86,7 +86,7 @@
}
"#;
- let actual = parse_crate(raw).unwrap();
+ let actual = raw.parse::<Crate>().unwrap();
assert_eq!(&actual.items[0].ident, "catch");
diff --git a/tests/test_generics.rs b/tests/test_generics.rs
index e18d2ef..6c37035 100644
--- a/tests/test_generics.rs
+++ b/tests/test_generics.rs
@@ -93,7 +93,7 @@
fn test_ty_param_bound() {
let tokens = quote!('a);
let expected = TyParamBound::Region(Lifetime::new("'a"));
- assert_eq!(expected, parse_ty_param_bound(&tokens.to_string()).unwrap());
+ assert_eq!(expected, tokens.to_string().parse().unwrap());
let tokens = quote!(Debug);
let expected = TyParamBound::Trait(
@@ -102,7 +102,7 @@
trait_ref: "Debug".into(),
},
TraitBoundModifier::None);
- assert_eq!(expected, parse_ty_param_bound(&tokens.to_string()).unwrap());
+ assert_eq!(expected, tokens.to_string().parse().unwrap());
let tokens = quote!(?Sized);
let expected = TyParamBound::Trait(
@@ -111,5 +111,5 @@
trait_ref: "Sized".into(),
},
TraitBoundModifier::Maybe(Default::default()));
- assert_eq!(expected, parse_ty_param_bound(&tokens.to_string()).unwrap());
+ assert_eq!(expected, tokens.to_string().parse().unwrap());
}
diff --git a/tests/test_macro_input.rs b/tests/test_macro_input.rs
index 9f80f6c..bddf52e 100644
--- a/tests/test_macro_input.rs
+++ b/tests/test_macro_input.rs
@@ -55,7 +55,7 @@
}),
};
- assert_eq!(expected, parse_macro_input(raw.parse().unwrap()).unwrap());
+ assert_eq!(expected, raw.parse().unwrap());
}
#[test]
@@ -140,7 +140,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
@@ -310,7 +310,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
@@ -380,7 +380,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
@@ -423,7 +423,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
@@ -463,7 +463,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
@@ -515,7 +515,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
}
@@ -542,7 +542,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
}
@@ -570,7 +570,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
}
@@ -598,7 +598,7 @@
}),
};
- let actual = parse_macro_input(raw.parse().unwrap()).unwrap();
+ let actual = raw.parse().unwrap();
assert_eq!(expected, actual);
}
diff --git a/tests/test_meta_item.rs b/tests/test_meta_item.rs
index acf1710..cbdbb02 100644
--- a/tests/test_meta_item.rs
+++ b/tests/test_meta_item.rs
@@ -1,10 +1,12 @@
#![cfg(feature = "extra-traits")]
extern crate syn;
+extern crate synom;
extern crate proc_macro2;
+use proc_macro2::{Literal, TokenStream};
use syn::*;
-use proc_macro2::Literal;
+use synom::IResult;
fn lit<T: Into<Literal>>(t: T) -> Lit {
Lit {
@@ -93,6 +95,14 @@
}
fn run_test<T: Into<MetaItem>>(input: &str, expected: T) {
- let attr = parse_outer_attr(input).unwrap();
+ let tokens = input.parse::<TokenStream>().unwrap();
+ let tokens = tokens.into_iter().collect::<Vec<_>>();
+ let attr = match Attribute::parse_outer(&tokens) {
+ IResult::Done(rest, e) => {
+ assert!(rest.is_empty());
+ e
+ }
+ IResult::Error => panic!("failed to parse"),
+ };
assert_eq!(expected.into(), attr.meta_item().unwrap());
}
diff --git a/tests/test_round_trip.rs b/tests/test_round_trip.rs
index 9db4f69..21bc51b 100644
--- a/tests/test_round_trip.rs
+++ b/tests/test_round_trip.rs
@@ -122,7 +122,7 @@
file.read_to_string(&mut content).unwrap();
let start = Instant::now();
- let (krate, elapsed) = match syn::parse_crate(&content) {
+ let (krate, elapsed) = match content.parse::<syn::Crate>() {
Ok(krate) => (krate, start.elapsed()),
Err(msg) => {
errorf!("syn failed to parse\n{:?}\n", msg);
diff --git a/tests/test_token_trees.rs b/tests/test_token_trees.rs
index cacd90e..499581d 100644
--- a/tests/test_token_trees.rs
+++ b/tests/test_token_trees.rs
@@ -4,7 +4,7 @@
extern crate proc_macro2;
use syn::TokenTree;
-use proc_macro2::{TokenKind, OpKind, Delimiter};
+use proc_macro2::{TokenKind, OpKind, Delimiter, TokenStream};
use proc_macro2::Delimiter::*;
fn op(c: char) -> TokenTree {
@@ -69,7 +69,10 @@
],
)];
- let result = syn::parse_token_trees(raw.parse().unwrap()).unwrap();
+ let result = raw.parse::<TokenStream>().unwrap()
+ .into_iter()
+ .map(TokenTree)
+ .collect::<Vec<_>>();
if result != expected {
panic!("{:#?}\n!=\n{:#?}", result, expected);
}