@@ -121,9 +121,13 @@ fn test_parse_numbers() {
121
121
fn test_parse_var ( ) {
122
122
let s = Syntax :: default ( ) ;
123
123
124
- assert_eq ! ( Ast :: from_str( "{{ foo }}" , None , & s) . unwrap( ) . nodes, vec![
125
- Node :: Expr ( Ws ( None , None ) , WithSpan :: no_span( Expr :: Var ( "foo" ) ) )
126
- ] ) ;
124
+ assert_eq ! (
125
+ Ast :: from_str( "{{ foo }}" , None , & s) . unwrap( ) . nodes,
126
+ vec![ Node :: Expr (
127
+ Ws ( None , None ) ,
128
+ WithSpan :: no_span( Expr :: Var ( "foo" ) )
129
+ ) ]
130
+ ) ;
127
131
assert_eq ! (
128
132
Ast :: from_str( "{{ foo_bar }}" , None , & s) . unwrap( ) . nodes,
129
133
vec![ Node :: Expr (
@@ -132,18 +136,26 @@ fn test_parse_var() {
132
136
) ] ,
133
137
) ;
134
138
135
- assert_eq ! ( Ast :: from_str( "{{ none }}" , None , & s) . unwrap( ) . nodes, vec![
136
- Node :: Expr ( Ws ( None , None ) , WithSpan :: no_span( Expr :: Var ( "none" ) ) )
137
- ] ) ;
139
+ assert_eq ! (
140
+ Ast :: from_str( "{{ none }}" , None , & s) . unwrap( ) . nodes,
141
+ vec![ Node :: Expr (
142
+ Ws ( None , None ) ,
143
+ WithSpan :: no_span( Expr :: Var ( "none" ) )
144
+ ) ]
145
+ ) ;
138
146
}
139
147
140
148
#[ test]
141
149
fn test_parse_const ( ) {
142
150
let s = Syntax :: default ( ) ;
143
151
144
- assert_eq ! ( Ast :: from_str( "{{ FOO }}" , None , & s) . unwrap( ) . nodes, vec![
145
- Node :: Expr ( Ws ( None , None ) , WithSpan :: no_span( Expr :: Path ( vec![ "FOO" ] ) ) )
146
- ] ) ;
152
+ assert_eq ! (
153
+ Ast :: from_str( "{{ FOO }}" , None , & s) . unwrap( ) . nodes,
154
+ vec![ Node :: Expr (
155
+ Ws ( None , None ) ,
156
+ WithSpan :: no_span( Expr :: Path ( vec![ "FOO" ] ) )
157
+ ) ]
158
+ ) ;
147
159
assert_eq ! (
148
160
Ast :: from_str( "{{ FOO_BAR }}" , None , & s) . unwrap( ) . nodes,
149
161
vec![ Node :: Expr (
@@ -152,18 +164,26 @@ fn test_parse_const() {
152
164
) ] ,
153
165
) ;
154
166
155
- assert_eq ! ( Ast :: from_str( "{{ NONE }}" , None , & s) . unwrap( ) . nodes, vec![
156
- Node :: Expr ( Ws ( None , None ) , WithSpan :: no_span( Expr :: Path ( vec![ "NONE" ] ) ) )
157
- ] ) ;
167
+ assert_eq ! (
168
+ Ast :: from_str( "{{ NONE }}" , None , & s) . unwrap( ) . nodes,
169
+ vec![ Node :: Expr (
170
+ Ws ( None , None ) ,
171
+ WithSpan :: no_span( Expr :: Path ( vec![ "NONE" ] ) )
172
+ ) ]
173
+ ) ;
158
174
}
159
175
160
176
#[ test]
161
177
fn test_parse_path ( ) {
162
178
let s = Syntax :: default ( ) ;
163
179
164
- assert_eq ! ( Ast :: from_str( "{{ None }}" , None , & s) . unwrap( ) . nodes, vec![
165
- Node :: Expr ( Ws ( None , None ) , WithSpan :: no_span( Expr :: Path ( vec![ "None" ] ) ) )
166
- ] ) ;
180
+ assert_eq ! (
181
+ Ast :: from_str( "{{ None }}" , None , & s) . unwrap( ) . nodes,
182
+ vec![ Node :: Expr (
183
+ Ws ( None , None ) ,
184
+ WithSpan :: no_span( Expr :: Path ( vec![ "None" ] ) )
185
+ ) ]
186
+ ) ;
167
187
assert_eq ! (
168
188
Ast :: from_str( "{{ Some(123) }}" , None , & s) . unwrap( ) . nodes,
169
189
vec![ Node :: Expr (
@@ -325,36 +345,41 @@ fn test_rust_macro() {
325
345
WithSpan :: no_span( Expr :: RustMacro ( vec![ "alloc" , "vec" ] , "1, 2, 3" ) ) ,
326
346
) ] ,
327
347
) ;
328
- assert_eq ! ( Ast :: from_str( "{{a!()}}" , None , & syntax) . unwrap( ) . nodes, [
329
- Node :: Expr (
348
+ assert_eq ! (
349
+ Ast :: from_str( "{{a!()}}" , None , & syntax) . unwrap( ) . nodes,
350
+ [ Node :: Expr (
330
351
Ws ( None , None ) ,
331
352
WithSpan :: no_span( Expr :: RustMacro ( vec![ "a" ] , "" ) )
332
- )
333
- ] ) ;
334
- assert_eq ! ( Ast :: from_str( "{{a !()}}" , None , & syntax) . unwrap( ) . nodes, [
335
- Node :: Expr (
353
+ ) ]
354
+ ) ;
355
+ assert_eq ! (
356
+ Ast :: from_str( "{{a !()}}" , None , & syntax) . unwrap( ) . nodes,
357
+ [ Node :: Expr (
336
358
Ws ( None , None ) ,
337
359
WithSpan :: no_span( Expr :: RustMacro ( vec![ "a" ] , "" ) )
338
- )
339
- ] ) ;
340
- assert_eq ! ( Ast :: from_str( "{{a! ()}}" , None , & syntax) . unwrap( ) . nodes, [
341
- Node :: Expr (
360
+ ) ]
361
+ ) ;
362
+ assert_eq ! (
363
+ Ast :: from_str( "{{a! ()}}" , None , & syntax) . unwrap( ) . nodes,
364
+ [ Node :: Expr (
342
365
Ws ( None , None ) ,
343
366
WithSpan :: no_span( Expr :: RustMacro ( vec![ "a" ] , "" ) )
344
- )
345
- ] ) ;
346
- assert_eq ! ( Ast :: from_str( "{{a ! ()}}" , None , & syntax) . unwrap( ) . nodes, [
347
- Node :: Expr (
367
+ ) ]
368
+ ) ;
369
+ assert_eq ! (
370
+ Ast :: from_str( "{{a ! ()}}" , None , & syntax) . unwrap( ) . nodes,
371
+ [ Node :: Expr (
348
372
Ws ( None , None ) ,
349
373
WithSpan :: no_span( Expr :: RustMacro ( vec![ "a" ] , "" ) )
350
- )
351
- ] ) ;
352
- assert_eq ! ( Ast :: from_str( "{{A!()}}" , None , & syntax) . unwrap( ) . nodes, [
353
- Node :: Expr (
374
+ ) ]
375
+ ) ;
376
+ assert_eq ! (
377
+ Ast :: from_str( "{{A!()}}" , None , & syntax) . unwrap( ) . nodes,
378
+ [ Node :: Expr (
354
379
Ws ( None , None ) ,
355
380
WithSpan :: no_span( Expr :: RustMacro ( vec![ "A" ] , "" ) )
356
- )
357
- ] ) ;
381
+ ) ]
382
+ ) ;
358
383
assert_eq ! (
359
384
& * Ast :: from_str( "{{a.b.c!( hello )}}" , None , & syntax)
360
385
. unwrap_err( )
@@ -1103,30 +1128,48 @@ fn fuzzed_excessive_syntax_lengths() {
1103
1128
Some ( "\0 ]***NEWFILE\u{1f} ***:7/v/.-3/\u{1b} /~~~~z~0/*:7/v/./t/t/.p//NEWVILE**::7/v" ) ;
1104
1129
1105
1130
for ( kind, syntax_builder) in [
1106
- ( "opening block" , SyntaxBuilder {
1107
- block_start : LONG_DELIM ,
1108
- ..SyntaxBuilder :: default ( )
1109
- } ) ,
1110
- ( "closing block" , SyntaxBuilder {
1111
- block_end : LONG_DELIM ,
1112
- ..SyntaxBuilder :: default ( )
1113
- } ) ,
1114
- ( "opening expression" , SyntaxBuilder {
1115
- expr_start : LONG_DELIM ,
1116
- ..SyntaxBuilder :: default ( )
1117
- } ) ,
1118
- ( "closing expression" , SyntaxBuilder {
1119
- expr_end : LONG_DELIM ,
1120
- ..SyntaxBuilder :: default ( )
1121
- } ) ,
1122
- ( "opening comment" , SyntaxBuilder {
1123
- comment_start : LONG_DELIM ,
1124
- ..SyntaxBuilder :: default ( )
1125
- } ) ,
1126
- ( "closing comment" , SyntaxBuilder {
1127
- comment_end : LONG_DELIM ,
1128
- ..SyntaxBuilder :: default ( )
1129
- } ) ,
1131
+ (
1132
+ "opening block" ,
1133
+ SyntaxBuilder {
1134
+ block_start : LONG_DELIM ,
1135
+ ..SyntaxBuilder :: default ( )
1136
+ } ,
1137
+ ) ,
1138
+ (
1139
+ "closing block" ,
1140
+ SyntaxBuilder {
1141
+ block_end : LONG_DELIM ,
1142
+ ..SyntaxBuilder :: default ( )
1143
+ } ,
1144
+ ) ,
1145
+ (
1146
+ "opening expression" ,
1147
+ SyntaxBuilder {
1148
+ expr_start : LONG_DELIM ,
1149
+ ..SyntaxBuilder :: default ( )
1150
+ } ,
1151
+ ) ,
1152
+ (
1153
+ "closing expression" ,
1154
+ SyntaxBuilder {
1155
+ expr_end : LONG_DELIM ,
1156
+ ..SyntaxBuilder :: default ( )
1157
+ } ,
1158
+ ) ,
1159
+ (
1160
+ "opening comment" ,
1161
+ SyntaxBuilder {
1162
+ comment_start : LONG_DELIM ,
1163
+ ..SyntaxBuilder :: default ( )
1164
+ } ,
1165
+ ) ,
1166
+ (
1167
+ "closing comment" ,
1168
+ SyntaxBuilder {
1169
+ comment_end : LONG_DELIM ,
1170
+ ..SyntaxBuilder :: default ( )
1171
+ } ,
1172
+ ) ,
1130
1173
] {
1131
1174
let err = syntax_builder. to_syntax ( ) . unwrap_err ( ) ;
1132
1175
assert_eq ! (
0 commit comments