Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Update parse::test::string_to_tts_1 test
  • Loading branch information
brendanzab committed Oct 26, 2014
1 parent 94d6eee commit 6598d33
Showing 1 changed file with 100 additions and 113 deletions.
213 changes: 100 additions & 113 deletions src/libsyntax/parse/mod.rs
Expand Up @@ -793,54 +793,47 @@ mod test {
let tts = string_to_tts("macro_rules! zip (($a)=>($a))".to_string());
let tts: &[ast::TokenTree] = tts.as_slice();
match tts {
[ast::TtToken(_, _),
[ast::TtToken(_, token::IDENT(name_macro_rules, false)),
ast::TtToken(_, token::NOT),
ast::TtToken(_, _),
ast::TtDelimited(_, ast::TtToken(_, token::LPAREN),
ref delim_elts,
ast::TtToken(_, token::RPAREN))] => {
let delim_elts: &[ast::TokenTree] = delim_elts.as_slice();
match delim_elts {
[ast::TtDelimited(_, ast::TtToken(_, token::LPAREN),
ref first_set,
ast::TtToken(_, token::RPAREN)),
ast::TtToken(_, token::FAT_ARROW),
ast::TtDelimited(_, ast::TtToken(_, token::LPAREN),
ref second_set,
ast::TtToken(_, token::RPAREN))] => {
let first_set: &[ast::TokenTree] =
first_set.as_slice();
match first_set {
[ast::TtToken(_, token::DOLLAR), ast::TtToken(_, _)] => {
let second_set: &[ast::TokenTree] =
second_set.as_slice();
match second_set {
[ast::TtToken(_, token::DOLLAR), ast::TtToken(_, _)] => {
assert_eq!("correct","correct")
}
_ => assert_eq!("wrong 4","correct")
}
},
_ => {
error!("failing value 3: {}",first_set);
assert_eq!("wrong 3","correct")
}
ast::TtToken(_, token::IDENT(name_zip, false)),
ast::TtDelimited(_, ref macro_delimed)]
if name_macro_rules.as_str() == "macro_rules"
&& name_zip.as_str() == "zip" => {
let (ref macro_open, ref macro_tts, ref macro_close) = **macro_delimed;
match (macro_open, macro_tts.as_slice(), macro_close) {
(&ast::Delimiter { token: token::LPAREN, .. },
[ast::TtDelimited(_, ref first_delimed),
ast::TtToken(_, token::FAT_ARROW),
ast::TtDelimited(_, ref second_delimed)],
&ast::Delimiter { token: token::RPAREN, .. }) => {
let (ref first_open, ref first_tts, ref first_close) = **first_delimed;
match (first_open, first_tts.as_slice(), first_close) {
(&ast::Delimiter { token: token::LPAREN, .. },
[ast::TtToken(_, token::DOLLAR),
ast::TtToken(_, token::IDENT(name, false))],
&ast::Delimiter { token: token::RPAREN, .. })
if name.as_str() == "a" => {},
_ => fail!("value 3: {}", **first_delimed),
}
let (ref second_open, ref second_tts, ref second_close) = **second_delimed;
match (second_open, second_tts.as_slice(), second_close) {
(&ast::Delimiter { token: token::LPAREN, .. },
[ast::TtToken(_, token::DOLLAR),
ast::TtToken(_, token::IDENT(name, false))],
&ast::Delimiter { token: token::RPAREN, .. })
if name.as_str() == "a" => {},
_ => fail!("value 4: {}", **second_delimed),
}
},
_ => {
error!("failing value 2: {}",delim_elts);
assert_eq!("wrong","correct");
}
_ => fail!("value 2: {}", **macro_delimed),
}
},
_ => {
error!("failing value: {}",tts);
assert_eq!("wrong 1","correct");
},
_ => fail!("value: {}",tts),
}
}

#[test] fn string_to_tts_1 () {
#[test]
fn string_to_tts_1 () {
let tts = string_to_tts("fn a (b : int) { b; }".to_string());
assert_eq!(json::encode(&tts),
"[\
Expand Down Expand Up @@ -873,94 +866,88 @@ mod test {
{\
\"variant\":\"TtDelimited\",\
\"fields\":[\
null,\
[\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
\"LPAREN\"\
]\
},\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
{\
\"variant\":\"IDENT\",\
\"fields\":[\
\"b\",\
false\
]\
}\
]\
},\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
\"COLON\"\
]\
},\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
{\
\"variant\":\"IDENT\",\
\"fields\":[\
\"int\",\
false\
]\
}\
]\
\"span\":null,\
\"token\":\"LPAREN\"\
},\
[\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
{\
\"variant\":\"IDENT\",\
\"fields\":[\
\"b\",\
false\
]\
}\
]\
},\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
\"COLON\"\
]\
},\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
{\
\"variant\":\"IDENT\",\
\"fields\":[\
\"int\",\
false\
]\
}\
]\
}\
],\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
\"RPAREN\"\
]\
\"span\":null,\
\"token\":\"RPAREN\"\
}\
]\
]\
},\
{\
\"variant\":\"TtDelimited\",\
\"fields\":[\
null,\
[\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
\"LBRACE\"\
]\
},\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
{\
\"variant\":\"IDENT\",\
\"fields\":[\
\"b\",\
false\
]\
}\
]\
},\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
\"SEMI\"\
]\
\"span\":null,\
\"token\":\"LBRACE\"\
},\
[\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
{\
\"variant\":\"IDENT\",\
\"fields\":[\
\"b\",\
false\
]\
}\
]\
},\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
\"SEMI\"\
]\
}\
],\
{\
\"variant\":\"TtToken\",\
\"fields\":[\
null,\
\"RBRACE\"\
]\
\"span\":null,\
\"token\":\"RBRACE\"\
}\
]\
]\
Expand Down

0 comments on commit 6598d33

Please sign in to comment.