File tree Expand file tree Collapse file tree 2 files changed +43
-4
lines changed Expand file tree Collapse file tree 2 files changed +43
-4
lines changed Original file line number Diff line number Diff line change 1- import ChartComponent from " ../Chart" ;
1+ import ChartComponent from ' ../Chart' ;
22
33describe ( 'Chart re-rendering' , ( ) => {
44
@@ -14,6 +14,40 @@ describe('Chart re-rendering', () => {
1414 expect ( updateRequired ) . toBeTruthy ( ) ;
1515 } ) ;
1616
17+ it ( 'required when data is changed in an inner object/array of the data' , ( ) => {
18+ const originalData = {
19+ 'data' : {
20+ 'datasets' : [
21+ {
22+ 'data' : [
23+ 122968
24+ ]
25+ } ,
26+ {
27+ 'data' : [
28+ 14738
29+ ]
30+ }
31+ ]
32+ }
33+ } ;
34+ // The new data has only one data set instead of two
35+ const newData = {
36+ 'data' : {
37+ 'datasets' : [
38+ {
39+ 'data' : [
40+ 122968
41+ ]
42+ }
43+ ]
44+ }
45+ } ;
46+ const chart = new ChartComponent ( originalData ) ;
47+ const updateRequired = chart . shouldComponentUpdate ( newData ) ;
48+ expect ( updateRequired ) . toBeTruthy ( ) ;
49+ } ) ;
50+
1751 it ( 'required when chart options change' , ( ) => {
1852 const chart = new ChartComponent ( { type : 'bar' , options : { hover : { mode : 'single' } } } ) ;
1953 const updateRequired = chart . shouldComponentUpdate ( { type : 'bar' , options : { hover : { mode : 'label' } } } ) ;
Original file line number Diff line number Diff line change @@ -22,10 +22,15 @@ const deepEqual = (objA, objB) => {
2222 }
2323
2424 let keysA = Object . keys ( objA ) ;
25+ let keysB = Object . keys ( objB ) ;
26+ let allKeys = keysA . concat ( keysB ) ;
2527
26- // Test for A's keys different from B.
27- for ( let i = 0 ; i < keysA . length ; i ++ ) {
28- if ( ! hasOwnProperty . call ( objB , keysA [ i ] ) ) {
28+ // Verify both objects have all the keys
29+ for ( let i = 0 ; i < allKeys . length ; i ++ ) {
30+ if ( ! hasOwnProperty . call ( objB , allKeys [ i ] ) ) {
31+ return false ;
32+ }
33+ if ( ! hasOwnProperty . call ( objA , allKeys [ i ] ) ) {
2934 return false ;
3035 }
3136 }
You can’t perform that action at this time.
0 commit comments