@@ -462,10 +462,10 @@ describe('Visitor', () => {
462
462
] ) ;
463
463
} ) ;
464
464
465
- it ( 'Legacy: visits variables defined in fragments' , ( ) => {
465
+ it ( 'visits variables defined in fragments' , ( ) => {
466
466
const ast = parse ( 'fragment a($v: Boolean = false) on t { f }' , {
467
467
noLocation : true ,
468
- allowLegacyFragmentVariables : true ,
468
+ allowFragmentArguments : true ,
469
469
} ) ;
470
470
const visited : Array < any > = [ ] ;
471
471
@@ -512,6 +512,50 @@ describe('Visitor', () => {
512
512
] ) ;
513
513
} ) ;
514
514
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
+
515
559
it ( 'visits kitchen sink' , ( ) => {
516
560
const ast = parse ( kitchenSinkQuery ) ;
517
561
const visited : Array < any > = [ ] ;
0 commit comments