@@ -455,10 +455,9 @@ describe('Visitor', () => {
455
455
] ) ;
456
456
} ) ;
457
457
458
- it ( 'Legacy: visits variables defined in fragments' , ( ) => {
458
+ it ( 'visits arguments defined on fragments' , ( ) => {
459
459
const ast = parse ( 'fragment a($v: Boolean = false) on t { f }' , {
460
460
noLocation : true ,
461
- allowLegacyFragmentVariables : true ,
462
461
} ) ;
463
462
const visited : Array < any > = [ ] ;
464
463
@@ -505,6 +504,49 @@ describe('Visitor', () => {
505
504
] ) ;
506
505
} ) ;
507
506
507
+ it ( 'visits arguments on fragment spreads' , ( ) => {
508
+ const ast = parse ( 'fragment a on t { ...s(v: false) }' , {
509
+ noLocation : true ,
510
+ } ) ;
511
+ const visited : Array < any > = [ ] ;
512
+
513
+ visit ( ast , {
514
+ enter ( node ) {
515
+ checkVisitorFnArgs ( ast , arguments ) ;
516
+ visited . push ( [ 'enter' , node . kind , getValue ( node ) ] ) ;
517
+ } ,
518
+ leave ( node ) {
519
+ checkVisitorFnArgs ( ast , arguments ) ;
520
+ visited . push ( [ 'leave' , node . kind , getValue ( node ) ] ) ;
521
+ } ,
522
+ } ) ;
523
+
524
+ expect ( visited ) . to . deep . equal ( [
525
+ [ 'enter' , 'Document' , undefined ] ,
526
+ [ 'enter' , 'FragmentDefinition' , undefined ] ,
527
+ [ 'enter' , 'Name' , 'a' ] ,
528
+ [ 'leave' , 'Name' , 'a' ] ,
529
+ [ 'enter' , 'NamedType' , undefined ] ,
530
+ [ 'enter' , 'Name' , 't' ] ,
531
+ [ 'leave' , 'Name' , 't' ] ,
532
+ [ 'leave' , 'NamedType' , undefined ] ,
533
+ [ 'enter' , 'SelectionSet' , undefined ] ,
534
+ [ 'enter' , 'FragmentSpread' , undefined ] ,
535
+ [ 'enter' , 'Name' , 's' ] ,
536
+ [ 'leave' , 'Name' , 's' ] ,
537
+ [ 'enter' , 'Argument' , { kind : 'BooleanValue' , value : false } ] ,
538
+ [ 'enter' , 'Name' , 'v' ] ,
539
+ [ 'leave' , 'Name' , 'v' ] ,
540
+ [ 'enter' , 'BooleanValue' , false ] ,
541
+ [ 'leave' , 'BooleanValue' , false ] ,
542
+ [ 'leave' , 'Argument' , { kind : 'BooleanValue' , value : false } ] ,
543
+ [ 'leave' , 'FragmentSpread' , undefined ] ,
544
+ [ 'leave' , 'SelectionSet' , undefined ] ,
545
+ [ 'leave' , 'FragmentDefinition' , undefined ] ,
546
+ [ 'leave' , 'Document' , undefined ] ,
547
+ ] ) ;
548
+ } ) ;
549
+
508
550
it ( 'n' , ( ) => {
509
551
const ast = parse ( kitchenSinkQuery , {
510
552
experimentalClientControlledNullability : true ,
0 commit comments