@@ -455,10 +455,10 @@ describe('Visitor', () => {
455455    ] ) ; 
456456  } ) ; 
457457
458-   it ( 'Legacy:  visits variables  defined in  fragments' ,  ( )  =>  { 
458+   it ( 'visits arguments  defined on  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
@@ -505,6 +505,50 @@ describe('Visitor', () => {
505505    ] ) ; 
506506  } ) ; 
507507
508+   it ( 'visits arguments on fragment spreads' ,  ( )  =>  { 
509+     const  ast  =  parse ( 'fragment a on t { ...s(v: false) }' ,  { 
510+       noLocation : true , 
511+       experimentalFragmentArguments : true , 
512+     } ) ; 
513+     const  visited : Array < any >  =  [ ] ; 
514+ 
515+     visit ( ast ,  { 
516+       enter ( node )  { 
517+         checkVisitorFnArgs ( ast ,  arguments ) ; 
518+         visited . push ( [ 'enter' ,  node . kind ,  getValue ( node ) ] ) ; 
519+       } , 
520+       leave ( node )  { 
521+         checkVisitorFnArgs ( ast ,  arguments ) ; 
522+         visited . push ( [ 'leave' ,  node . kind ,  getValue ( node ) ] ) ; 
523+       } , 
524+     } ) ; 
525+ 
526+     expect ( visited ) . to . deep . equal ( [ 
527+       [ 'enter' ,  'Document' ,  undefined ] , 
528+       [ 'enter' ,  'FragmentDefinition' ,  undefined ] , 
529+       [ 'enter' ,  'Name' ,  'a' ] , 
530+       [ 'leave' ,  'Name' ,  'a' ] , 
531+       [ 'enter' ,  'NamedType' ,  undefined ] , 
532+       [ 'enter' ,  'Name' ,  't' ] , 
533+       [ 'leave' ,  'Name' ,  't' ] , 
534+       [ 'leave' ,  'NamedType' ,  undefined ] , 
535+       [ 'enter' ,  'SelectionSet' ,  undefined ] , 
536+       [ 'enter' ,  'FragmentSpread' ,  undefined ] , 
537+       [ 'enter' ,  'Name' ,  's' ] , 
538+       [ 'leave' ,  'Name' ,  's' ] , 
539+       [ 'enter' ,  'Argument' ,  {  kind : 'BooleanValue' ,  value : false  } ] , 
540+       [ 'enter' ,  'Name' ,  'v' ] , 
541+       [ 'leave' ,  'Name' ,  'v' ] , 
542+       [ 'enter' ,  'BooleanValue' ,  false ] , 
543+       [ 'leave' ,  'BooleanValue' ,  false ] , 
544+       [ 'leave' ,  'Argument' ,  {  kind : 'BooleanValue' ,  value : false  } ] , 
545+       [ 'leave' ,  'FragmentSpread' ,  undefined ] , 
546+       [ 'leave' ,  'SelectionSet' ,  undefined ] , 
547+       [ 'leave' ,  'FragmentDefinition' ,  undefined ] , 
548+       [ 'leave' ,  'Document' ,  undefined ] , 
549+     ] ) ; 
550+   } ) ; 
551+ 
508552  it ( 'properly visits the kitchen sink query' ,  ( )  =>  { 
509553    const  ast  =  parse ( kitchenSinkQuery ,  { 
510554      experimentalClientControlledNullability : true , 
0 commit comments