@@ -3094,6 +3094,47 @@ describe('plot_api helpers', function () {
30943094 expect ( helpers . hasParent ( { 'marker.line' : 1 } , attr2 ) ) . toBe ( true ) ;
30953095 } ) ;
30963096 } ) ;
3097+
3098+ describe ( 'hasCollectionChanged' , ( ) => {
3099+ it ( 'Returns true if object collection has changed' , ( ) => {
3100+ expect (
3101+ helpers . hasCollectionChanged (
3102+ { captain : 'Leela' , deliveryBoy : 'Fry' } ,
3103+ { captain : 'Leela' , deliveryBoy : 'Bender' }
3104+ )
3105+ ) . toBe ( true ) ;
3106+ } ) ;
3107+
3108+ it ( "Returns false if object collection hasn't changed" , ( ) => {
3109+ expect (
3110+ helpers . hasCollectionChanged (
3111+ { captain : 'Leela' , deliveryBoy : 'Fry' } ,
3112+ { captain : 'Leela' , deliveryBoy : 'Fry' }
3113+ )
3114+ ) . toBe ( false ) ;
3115+ } ) ;
3116+
3117+ it ( 'Returns true if array collection has changed' , ( ) => {
3118+ expect ( helpers . hasCollectionChanged ( [ 'Zoidberg' , 'Hermes' ] , [ 'Zoidberg' , 'Leela' ] ) ) . toBe ( true ) ;
3119+ } ) ;
3120+
3121+ it ( "Returns false if object collection hasn't changed" , ( ) => {
3122+ expect ( helpers . hasCollectionChanged ( [ 'Zoidberg' , 'Hermes' ] , [ 'Zoidberg' , 'Hermes' ] ) ) . toBe ( false ) ;
3123+ } ) ;
3124+
3125+ it ( 'Handles nested objects' , ( ) => {
3126+ expect (
3127+ helpers . hasCollectionChanged (
3128+ { level1 : { captain : 'Leela' , deliveryBoy : 'Fry' } } ,
3129+ { level1 : { captain : 'Leela' , deliveryBoy : 'Bender' } }
3130+ )
3131+ ) . toBe ( true ) ;
3132+ } ) ;
3133+
3134+ it ( 'Handles nested arrays' , ( ) => {
3135+ expect ( helpers . hasCollectionChanged ( [ [ 'Zoidberg' , 'Hermes' ] ] , [ [ 'Zoidberg' , 'Leela' ] ] ) ) . toBe ( true ) ;
3136+ } ) ;
3137+ } ) ;
30973138} ) ;
30983139
30993140describe ( 'plot_api edit_types' , function ( ) {
0 commit comments