@@ -462,10 +462,10 @@ describe('Visitor', () => {
462462 ] ) ;
463463 } ) ;
464464
465- it ( 'Legacy: visits variables defined in fragments' , ( ) => {
465+ it ( 'visits variables defined in fragments' , ( ) => {
466466 const ast = parse ( 'fragment a($v: Boolean = false) on t { f }' , {
467467 noLocation : true ,
468- allowLegacyFragmentVariables : true ,
468+ allowFragmentArguments : true ,
469469 } ) ;
470470 const visited : Array < any > = [ ] ;
471471
@@ -512,6 +512,50 @@ describe('Visitor', () => {
512512 ] ) ;
513513 } ) ;
514514
515+ it ( 'visits arguments on fragment spreads' , ( ) => {
516+ const ast = parse ( 'fragment a on t { ...s(v: false) }' , {
517+ noLocation : true ,
518+ allowFragmentArguments : true ,
519+ } ) ;
520+ const visited : Array < any > = [ ] ;
521+
522+ visit ( ast , {
523+ enter ( node ) {
524+ checkVisitorFnArgs ( ast , arguments ) ;
525+ visited . push ( [ 'enter' , node . kind , getValue ( node ) ] ) ;
526+ } ,
527+ leave ( node ) {
528+ checkVisitorFnArgs ( ast , arguments ) ;
529+ visited . push ( [ 'leave' , node . kind , getValue ( node ) ] ) ;
530+ } ,
531+ } ) ;
532+
533+ expect ( visited ) . to . deep . equal ( [
534+ [ 'enter' , 'Document' , undefined ] ,
535+ [ 'enter' , 'FragmentDefinition' , undefined ] ,
536+ [ 'enter' , 'Name' , 'a' ] ,
537+ [ 'leave' , 'Name' , 'a' ] ,
538+ [ 'enter' , 'NamedType' , undefined ] ,
539+ [ 'enter' , 'Name' , 't' ] ,
540+ [ 'leave' , 'Name' , 't' ] ,
541+ [ 'leave' , 'NamedType' , undefined ] ,
542+ [ 'enter' , 'SelectionSet' , undefined ] ,
543+ [ 'enter' , 'FragmentSpread' , undefined ] ,
544+ [ 'enter' , 'Name' , 's' ] ,
545+ [ 'leave' , 'Name' , 's' ] ,
546+ [ 'enter' , 'Argument' , { kind : 'BooleanValue' , value : false } ] ,
547+ [ 'enter' , 'Name' , 'v' ] ,
548+ [ 'leave' , 'Name' , 'v' ] ,
549+ [ 'enter' , 'BooleanValue' , false ] ,
550+ [ 'leave' , 'BooleanValue' , false ] ,
551+ [ 'leave' , 'Argument' , { kind : 'BooleanValue' , value : false } ] ,
552+ [ 'leave' , 'FragmentSpread' , undefined ] ,
553+ [ 'leave' , 'SelectionSet' , undefined ] ,
554+ [ 'leave' , 'FragmentDefinition' , undefined ] ,
555+ [ 'leave' , 'Document' , undefined ] ,
556+ ] ) ;
557+ } ) ;
558+
515559 it ( 'visits kitchen sink' , ( ) => {
516560 const ast = parse ( kitchenSinkQuery ) ;
517561 const visited : Array < any > = [ ] ;
0 commit comments