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' ;
2
2
3
3
describe ( 'Chart re-rendering' , ( ) => {
4
4
@@ -14,6 +14,40 @@ describe('Chart re-rendering', () => {
14
14
expect ( updateRequired ) . toBeTruthy ( ) ;
15
15
} ) ;
16
16
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
+
17
51
it ( 'required when chart options change' , ( ) => {
18
52
const chart = new ChartComponent ( { type : 'bar' , options : { hover : { mode : 'single' } } } ) ;
19
53
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) => {
22
22
}
23
23
24
24
let keysA = Object . keys ( objA ) ;
25
+ let keysB = Object . keys ( objB ) ;
26
+ let allKeys = keysA . concat ( keysB ) ;
25
27
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 ] ) ) {
29
34
return false ;
30
35
}
31
36
}
You can’t perform that action at this time.
0 commit comments