@@ -455,10 +455,10 @@ describe('Visitor', () => {
455455 ] ) ;
456456 } ) ;
457457
458- it ( 'Legacy: visits variables defined in fragments' , ( ) => {
458+ it ( 'visits variables defined in fragments' , ( ) => {
459459 const ast = parse ( 'fragment a($v: Boolean = false) on t { f }' , {
460460 noLocation : true ,
461- allowLegacyFragmentVariables : true ,
461+ experimentalFragmentArguments : true ,
462462 } ) ;
463463 const visited : Array < any > = [ ] ;
464464
@@ -1361,4 +1361,48 @@ describe('Visitor', () => {
13611361 ] ) ;
13621362 } ) ;
13631363 } ) ;
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+ } ) ;
13641408} ) ;
0 commit comments