From 134fe4f566d94fd4ca91c6417fab0ae7b3e4275f Mon Sep 17 00:00:00 2001 From: DJMcNab <36049421+DJMcNab@users.noreply.github.com> Date: Thu, 20 Dec 2018 16:45:54 +0000 Subject: Fix the tests and fix the precommit hook --- .../tests/data/parser/err/0028_macro_2.0.rs | 15 + .../tests/data/parser/err/0028_macro_2.0.txt | 317 +++++++++++++++++++++ 2 files changed, 332 insertions(+) create mode 100644 crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.rs create mode 100644 crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt (limited to 'crates/ra_syntax/tests/data/parser/err') diff --git a/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.rs b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.rs new file mode 100644 index 000000000..781047ba1 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.rs @@ -0,0 +1,15 @@ +macro parse_use_trees($($s:expr),* $(,)*) { + vec![ + $(parse_use_tree($s),)* + ] +} + +#[test] +fn test_use_tree_merge() { + macro test_merge([$($input:expr),* $(,)*], [$($output:expr),* $(,)*]) { + assert_eq!( + merge_use_trees(parse_use_trees!($($input,)*)), + parse_use_trees!($($output,)*), + ); + } +} diff --git a/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt new file mode 100644 index 000000000..12919fab7 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt @@ -0,0 +1,317 @@ +SOURCE_FILE@[0; 349) + MACRO_CALL@[0; 41) + PATH@[0; 5) + PATH_SEGMENT@[0; 5) + NAME_REF@[0; 5) + IDENT@[0; 5) "macro" + err: `expected EXCL` + WHITESPACE@[5; 6) + IDENT@[6; 21) "parse_use_trees" + TOKEN_TREE@[21; 41) + L_PAREN@[21; 22) + DOLLAR@[22; 23) + TOKEN_TREE@[23; 32) + L_PAREN@[23; 24) + DOLLAR@[24; 25) + IDENT@[25; 26) "s" + COLON@[26; 27) + IDENT@[27; 31) "expr" + R_PAREN@[31; 32) + COMMA@[32; 33) + STAR@[33; 34) + WHITESPACE@[34; 35) + DOLLAR@[35; 36) + TOKEN_TREE@[36; 39) + L_PAREN@[36; 37) + COMMA@[37; 38) + R_PAREN@[38; 39) + STAR@[39; 40) + R_PAREN@[40; 41) + err: `expected SEMI` + WHITESPACE@[41; 42) + err: `expected an item` + ERROR@[42; 93) + L_CURLY@[42; 43) + WHITESPACE@[43; 48) + IDENT@[48; 51) "vec" + EXCL@[51; 52) + L_BRACK@[52; 53) + WHITESPACE@[53; 62) + DOLLAR@[62; 63) + L_PAREN@[63; 64) + IDENT@[64; 78) "parse_use_tree" + L_PAREN@[78; 79) + DOLLAR@[79; 80) + IDENT@[80; 81) "s" + R_PAREN@[81; 82) + COMMA@[82; 83) + R_PAREN@[83; 84) + STAR@[84; 85) + WHITESPACE@[85; 90) + R_BRACK@[90; 91) + WHITESPACE@[91; 92) + R_CURLY@[92; 93) + WHITESPACE@[93; 95) + FN_DEF@[95; 348) + ATTR@[95; 102) + POUND@[95; 96) + TOKEN_TREE@[96; 102) + L_BRACK@[96; 97) + IDENT@[97; 101) "test" + R_BRACK@[101; 102) + WHITESPACE@[102; 103) + FN_KW@[103; 105) + WHITESPACE@[105; 106) + NAME@[106; 125) + IDENT@[106; 125) "test_use_tree_merge" + PARAM_LIST@[125; 127) + L_PAREN@[125; 126) + R_PAREN@[126; 127) + WHITESPACE@[127; 128) + BLOCK@[128; 348) + L_CURLY@[128; 129) + WHITESPACE@[129; 134) + EXPR_STMT@[134; 139) + PATH_EXPR@[134; 139) + PATH@[134; 139) + PATH_SEGMENT@[134; 139) + NAME_REF@[134; 139) + IDENT@[134; 139) "macro" + err: `expected SEMI` + WHITESPACE@[139; 140) + EXPR_STMT@[140; 154) + CALL_EXPR@[140; 154) + PATH_EXPR@[140; 150) + PATH@[140; 150) + PATH_SEGMENT@[140; 150) + NAME_REF@[140; 150) + IDENT@[140; 150) "test_merge" + ARG_LIST@[150; 154) + L_PAREN@[150; 151) + ARRAY_EXPR@[151; 154) + L_BRACK@[151; 152) + err: `expected expression` + ERROR@[152; 153) + DOLLAR@[152; 153) + err: `expected COMMA` + PAREN_EXPR@[153; 154) + L_PAREN@[153; 154) + err: `expected expression` + err: `expected R_PAREN` + err: `expected COMMA` + err: `expected expression` + err: `expected R_BRACK` + err: `expected COMMA` + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[154; 155) + ERROR@[154; 155) + DOLLAR@[154; 155) + err: `expected SEMI` + EXPR_STMT@[155; 160) + PATH_EXPR@[155; 160) + PATH@[155; 160) + PATH_SEGMENT@[155; 160) + NAME_REF@[155; 160) + IDENT@[155; 160) "input" + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[160; 161) + ERROR@[160; 161) + COLON@[160; 161) + err: `expected SEMI` + EXPR_STMT@[161; 165) + PATH_EXPR@[161; 165) + PATH@[161; 165) + PATH_SEGMENT@[161; 165) + NAME_REF@[161; 165) + IDENT@[161; 165) "expr" + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[165; 166) + ERROR@[165; 166) + R_PAREN@[165; 166) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[166; 167) + ERROR@[166; 167) + COMMA@[166; 167) + err: `expected SEMI` + EXPR_STMT@[167; 170) + PREFIX_EXPR@[167; 170) + STAR@[167; 168) + WHITESPACE@[168; 169) + err: `expected expression` + ERROR@[169; 170) + DOLLAR@[169; 170) + err: `expected SEMI` + EXPR_STMT@[170; 171) + PAREN_EXPR@[170; 171) + L_PAREN@[170; 171) + err: `expected expression` + err: `expected R_PAREN` + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[171; 172) + ERROR@[171; 172) + COMMA@[171; 172) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[172; 173) + ERROR@[172; 173) + R_PAREN@[172; 173) + err: `expected SEMI` + EXPR_STMT@[173; 175) + PREFIX_EXPR@[173; 175) + STAR@[173; 174) + err: `expected expression` + ERROR@[174; 175) + R_BRACK@[174; 175) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[175; 176) + ERROR@[175; 176) + COMMA@[175; 176) + err: `expected SEMI` + WHITESPACE@[176; 177) + EXPR_STMT@[177; 180) + ARRAY_EXPR@[177; 180) + L_BRACK@[177; 178) + err: `expected expression` + ERROR@[178; 179) + DOLLAR@[178; 179) + err: `expected COMMA` + PAREN_EXPR@[179; 180) + L_PAREN@[179; 180) + err: `expected expression` + err: `expected R_PAREN` + err: `expected COMMA` + err: `expected expression` + err: `expected R_BRACK` + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[180; 181) + ERROR@[180; 181) + DOLLAR@[180; 181) + err: `expected SEMI` + EXPR_STMT@[181; 187) + PATH_EXPR@[181; 187) + PATH@[181; 187) + PATH_SEGMENT@[181; 187) + NAME_REF@[181; 187) + IDENT@[181; 187) "output" + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[187; 188) + ERROR@[187; 188) + COLON@[187; 188) + err: `expected SEMI` + EXPR_STMT@[188; 192) + PATH_EXPR@[188; 192) + PATH@[188; 192) + PATH_SEGMENT@[188; 192) + NAME_REF@[188; 192) + IDENT@[188; 192) "expr" + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[192; 193) + ERROR@[192; 193) + R_PAREN@[192; 193) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[193; 194) + ERROR@[193; 194) + COMMA@[193; 194) + err: `expected SEMI` + EXPR_STMT@[194; 197) + PREFIX_EXPR@[194; 197) + STAR@[194; 195) + WHITESPACE@[195; 196) + err: `expected expression` + ERROR@[196; 197) + DOLLAR@[196; 197) + err: `expected SEMI` + EXPR_STMT@[197; 198) + PAREN_EXPR@[197; 198) + L_PAREN@[197; 198) + err: `expected expression` + err: `expected R_PAREN` + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[198; 199) + ERROR@[198; 199) + COMMA@[198; 199) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[199; 200) + ERROR@[199; 200) + R_PAREN@[199; 200) + err: `expected SEMI` + EXPR_STMT@[200; 202) + PREFIX_EXPR@[200; 202) + STAR@[200; 201) + err: `expected expression` + ERROR@[201; 202) + R_BRACK@[201; 202) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[202; 203) + ERROR@[202; 203) + R_PAREN@[202; 203) + err: `expected SEMI` + WHITESPACE@[203; 204) + BLOCK_EXPR@[204; 346) + BLOCK@[204; 346) + L_CURLY@[204; 205) + WHITESPACE@[205; 214) + EXPR_STMT@[214; 340) + MACRO_CALL@[214; 339) + PATH@[214; 223) + PATH_SEGMENT@[214; 223) + NAME_REF@[214; 223) + IDENT@[214; 223) "assert_eq" + EXCL@[223; 224) + TOKEN_TREE@[224; 339) + L_PAREN@[224; 225) + WHITESPACE@[225; 238) + IDENT@[238; 253) "merge_use_trees" + TOKEN_TREE@[253; 284) + L_PAREN@[253; 254) + IDENT@[254; 269) "parse_use_trees" + EXCL@[269; 270) + TOKEN_TREE@[270; 283) + L_PAREN@[270; 271) + DOLLAR@[271; 272) + TOKEN_TREE@[272; 281) + L_PAREN@[272; 273) + DOLLAR@[273; 274) + IDENT@[274; 279) "input" + COMMA@[279; 280) + R_PAREN@[280; 281) + STAR@[281; 282) + R_PAREN@[282; 283) + R_PAREN@[283; 284) + COMMA@[284; 285) + WHITESPACE@[285; 298) + IDENT@[298; 313) "parse_use_trees" + EXCL@[313; 314) + TOKEN_TREE@[314; 328) + L_PAREN@[314; 315) + DOLLAR@[315; 316) + TOKEN_TREE@[316; 326) + L_PAREN@[316; 317) + DOLLAR@[317; 318) + IDENT@[318; 324) "output" + COMMA@[324; 325) + R_PAREN@[325; 326) + STAR@[326; 327) + R_PAREN@[327; 328) + COMMA@[328; 329) + WHITESPACE@[329; 338) + R_PAREN@[338; 339) + SEMI@[339; 340) + WHITESPACE@[340; 345) + R_CURLY@[345; 346) + WHITESPACE@[346; 347) + R_CURLY@[347; 348) + WHITESPACE@[348; 349) -- cgit v1.2.3