@@ -455,10 +455,10 @@ describe('Visitor', () => {
455
455
] ) ;
456
456
} ) ;
457
457
458
- it ( 'Legacy: visits variables defined in fragments' , ( ) => {
458
+ it ( 'visits variables defined in fragments' , ( ) => {
459
459
const ast = parse ( 'fragment a($v: Boolean = false) on t { f }' , {
460
460
noLocation : true ,
461
- allowLegacyFragmentVariables : true ,
461
+ experimentalFragmentArguments : true ,
462
462
} ) ;
463
463
const visited : Array < any > = [ ] ;
464
464
@@ -1361,4 +1361,48 @@ describe('Visitor', () => {
1361
1361
] ) ;
1362
1362
} ) ;
1363
1363
} ) ;
1364
+
1365
+ it ( 'visits arguments on fragment spreads' , ( ) => {
1366
+ const ast = parse ( 'fragment a on t { ...s(v: false) }' , {
1367
+ noLocation : true ,
1368
+ experimentalFragmentArguments : true ,
1369
+ } ) ;
1370
+ const visited : Array < any > = [ ] ;
1371
+
1372
+ visit ( ast , {
1373
+ enter ( node ) {
1374
+ checkVisitorFnArgs ( ast , arguments ) ;
1375
+ visited . push ( [ 'enter' , node . kind , getValue ( node ) ] ) ;
1376
+ } ,
1377
+ leave ( node ) {
1378
+ checkVisitorFnArgs ( ast , arguments ) ;
1379
+ visited . push ( [ 'leave' , node . kind , getValue ( node ) ] ) ;
1380
+ } ,
1381
+ } ) ;
1382
+
1383
+ expect ( visited ) . to . deep . equal ( [
1384
+ [ 'enter' , 'Document' , undefined ] ,
1385
+ [ 'enter' , 'FragmentDefinition' , undefined ] ,
1386
+ [ 'enter' , 'Name' , 'a' ] ,
1387
+ [ 'leave' , 'Name' , 'a' ] ,
1388
+ [ 'enter' , 'NamedType' , undefined ] ,
1389
+ [ 'enter' , 'Name' , 't' ] ,
1390
+ [ 'leave' , 'Name' , 't' ] ,
1391
+ [ 'leave' , 'NamedType' , undefined ] ,
1392
+ [ 'enter' , 'SelectionSet' , undefined ] ,
1393
+ [ 'enter' , 'FragmentSpread' , undefined ] ,
1394
+ [ 'enter' , 'Name' , 's' ] ,
1395
+ [ 'leave' , 'Name' , 's' ] ,
1396
+ [ 'enter' , 'Argument' , { kind : 'BooleanValue' , value : false } ] ,
1397
+ [ 'enter' , 'Name' , 'v' ] ,
1398
+ [ 'leave' , 'Name' , 'v' ] ,
1399
+ [ 'enter' , 'BooleanValue' , false ] ,
1400
+ [ 'leave' , 'BooleanValue' , false ] ,
1401
+ [ 'leave' , 'Argument' , { kind : 'BooleanValue' , value : false } ] ,
1402
+ [ 'leave' , 'FragmentSpread' , undefined ] ,
1403
+ [ 'leave' , 'SelectionSet' , undefined ] ,
1404
+ [ 'leave' , 'FragmentDefinition' , undefined ] ,
1405
+ [ 'leave' , 'Document' , undefined ] ,
1406
+ ] ) ;
1407
+ } ) ;
1364
1408
} ) ;
0 commit comments