@@ -6,13 +6,22 @@ describe('Smith controller tests', function() {
66 datasets : [ {
77 data : [ ]
88 } ]
9- }
9+ } ,
10+ getDatasetMeta : function ( datasetIndex ) {
11+ this . data . datasets [ datasetIndex ] . meta = this . data . datasets [ datasetIndex ] . meta || {
12+ data : [ ] ,
13+ dataset : null
14+ } ;
15+ return this . data . datasets [ datasetIndex ] . meta ;
16+ } ,
1017 } ;
1118
1219 var controller = new Chart . controllers . smith ( chart , 0 ) ;
1320 expect ( controller ) . not . toBe ( undefined ) ;
1421 expect ( controller . index ) . toBe ( 0 ) ;
15- expect ( chart . data . datasets [ 0 ] . metaData ) . toEqual ( [ ] ) ;
22+
23+ var meta = chart . getDatasetMeta ( 0 ) ;
24+ expect ( meta . data ) . toEqual ( [ ] ) ;
1625
1726 controller . updateIndex ( 1 ) ;
1827 expect ( controller . index ) . toBe ( 1 ) ;
@@ -37,19 +46,27 @@ describe('Smith controller tests', function() {
3746 } ]
3847 } ]
3948 } ,
49+ getDatasetMeta : function ( datasetIndex ) {
50+ this . data . datasets [ datasetIndex ] . meta = this . data . datasets [ datasetIndex ] . meta || {
51+ data : [ ] ,
52+ dataset : null
53+ } ;
54+ return this . data . datasets [ datasetIndex ] . meta ;
55+ } ,
4056 config : {
4157 type : 'smith'
4258 } ,
4359 } ;
4460
4561 var controller = new Chart . controllers . smith ( chart , 0 ) ;
4662
47- expect ( chart . data . datasets [ 0 ] . metaData . length ) . toBe ( 4 ) ; // 4 points created
48- expect ( chart . data . datasets [ 0 ] . metaData [ 0 ] instanceof Chart . elements . Point ) . toBe ( true ) ;
49- expect ( chart . data . datasets [ 0 ] . metaData [ 1 ] instanceof Chart . elements . Point ) . toBe ( true ) ;
50- expect ( chart . data . datasets [ 0 ] . metaData [ 2 ] instanceof Chart . elements . Point ) . toBe ( true ) ;
51- expect ( chart . data . datasets [ 0 ] . metaData [ 3 ] instanceof Chart . elements . Point ) . toBe ( true ) ;
52- expect ( chart . data . datasets [ 0 ] . metaDataset instanceof Chart . elements . Line ) . toBe ( true ) ; // 1 line element
63+ var meta = chart . getDatasetMeta ( 0 ) ;
64+ expect ( meta . data . length ) . toBe ( 4 ) ; // 4 points created
65+ expect ( meta . data [ 0 ] instanceof Chart . elements . Point ) . toBe ( true ) ;
66+ expect ( meta . data [ 1 ] instanceof Chart . elements . Point ) . toBe ( true ) ;
67+ expect ( meta . data [ 2 ] instanceof Chart . elements . Point ) . toBe ( true ) ;
68+ expect ( meta . data [ 3 ] instanceof Chart . elements . Point ) . toBe ( true ) ;
69+ expect ( meta . dataset instanceof Chart . elements . Line ) . toBe ( true ) ; // 1 line element
5370 } ) ;
5471
5572 it ( 'should update elements' , function ( ) {
@@ -79,7 +96,7 @@ describe('Smith controller tests', function() {
7996 ctx : mockContext ,
8097 options : scaleConfig ,
8198 chart : {
82- data : data
99+ data : data ,
83100 }
84101 } ) ;
85102
@@ -126,14 +143,23 @@ describe('Smith controller tests', function() {
126143 }
127144 } ,
128145 } ,
129- scale : scale
146+ scale : scale ,
147+ getDatasetMeta : function ( datasetIndex ) {
148+ this . data . datasets [ datasetIndex ] . meta = this . data . datasets [ datasetIndex ] . meta || {
149+ data : [ ] ,
150+ dataset : null
151+ } ;
152+ return this . data . datasets [ datasetIndex ] . meta ;
153+ } ,
130154 } ;
131155
132156 var controller = new Chart . controllers . smith ( chart , 0 ) ;
133157 controller . update ( ) ;
134158
159+ var meta = chart . getDatasetMeta ( 0 ) ;
160+
135161 // Line element
136- expect ( chart . data . datasets [ 0 ] . metaDataset . _model ) . toEqual ( {
162+ expect ( meta . dataset . _model ) . toEqual ( {
137163 backgroundColor : 'rgb(255, 0, 0)' ,
138164 borderCapStyle : 'round' ,
139165 borderColor : 'rgb(0, 255, 0)' ,
@@ -150,7 +176,7 @@ describe('Smith controller tests', function() {
150176 } ,
151177 } ) ;
152178
153- expect ( chart . data . datasets [ 0 ] . metaData [ 0 ] . _model ) . toEqual ( {
179+ expect ( meta . data [ 0 ] . _model ) . toEqual ( {
154180 backgroundColor : Chart . defaults . global . defaultColor ,
155181 borderWidth : 1 ,
156182 borderColor : Chart . defaults . global . defaultColor ,
@@ -171,7 +197,7 @@ describe('Smith controller tests', function() {
171197 controlPointNextY : 200
172198 } ) ;
173199
174- expect ( chart . data . datasets [ 0 ] . metaData [ 1 ] . _model ) . toEqual ( {
200+ expect ( meta . data [ 1 ] . _model ) . toEqual ( {
175201 x : 200 ,
176202 y : 200 ,
177203 tension : 0.1 ,
@@ -188,7 +214,7 @@ describe('Smith controller tests', function() {
188214 controlPointNextY : 199.4
189215 } ) ;
190216
191- expect ( chart . data . datasets [ 0 ] . metaData [ 2 ] . _model ) . toEqual ( {
217+ expect ( meta . data [ 2 ] . _model ) . toEqual ( {
192218 x : 210.2 ,
193219 y : 179.6 ,
194220 tension : 0.1 ,
@@ -205,7 +231,7 @@ describe('Smith controller tests', function() {
205231 controlPointNextY : 180.9
206232 } ) ;
207233
208- expect ( chart . data . datasets [ 0 ] . metaData [ 3 ] . _model ) . toEqual ( {
234+ expect ( meta . data [ 3 ] . _model ) . toEqual ( {
209235 backgroundColor : Chart . defaults . global . defaultColor ,
210236 borderWidth : 1 ,
211237 borderColor : Chart . defaults . global . defaultColor ,
@@ -246,7 +272,7 @@ describe('Smith controller tests', function() {
246272
247273 controller . update ( ) ;
248274
249- expect ( chart . data . datasets [ 0 ] . metaDataset . _model ) . toEqual ( {
275+ expect ( meta . dataset . _model ) . toEqual ( {
250276 backgroundColor : 'rgb(98, 98, 98)' ,
251277 borderCapStyle : 'butt' ,
252278 borderColor : 'rgb(8, 8, 8)' ,
@@ -263,7 +289,7 @@ describe('Smith controller tests', function() {
263289 } ,
264290 } ) ;
265291
266- expect ( chart . data . datasets [ 0 ] . metaData [ 0 ] . _model ) . toEqual ( {
292+ expect ( meta . data [ 0 ] . _model ) . toEqual ( {
267293 tension : 0 ,
268294 radius : 22 ,
269295 pointStyle : 'circle' ,
@@ -284,7 +310,7 @@ describe('Smith controller tests', function() {
284310 controlPointNextY : 200
285311 } ) ;
286312
287- expect ( chart . data . datasets [ 0 ] . metaData [ 1 ] . _model ) . toEqual ( {
313+ expect ( meta . data [ 1 ] . _model ) . toEqual ( {
288314 x : 200 ,
289315 y : 200 ,
290316 tension : 0 ,
@@ -301,7 +327,7 @@ describe('Smith controller tests', function() {
301327 controlPointNextY : 200
302328 } ) ;
303329
304- expect ( chart . data . datasets [ 0 ] . metaData [ 2 ] . _model ) . toEqual ( {
330+ expect ( meta . data [ 2 ] . _model ) . toEqual ( {
305331 backgroundColor : 'rgb(128, 129, 130)' ,
306332 borderWidth : 1.123 ,
307333 borderColor : 'rgb(56, 57, 58)' ,
@@ -322,7 +348,7 @@ describe('Smith controller tests', function() {
322348 controlPointNextY : 179.6 ,
323349 } ) ;
324350
325- expect ( chart . data . datasets [ 0 ] . metaData [ 3 ] . _model ) . toEqual ( {
351+ expect ( meta . data [ 3 ] . _model ) . toEqual ( {
326352 backgroundColor : 'rgb(128, 129, 130)' ,
327353 borderWidth : 1.123 ,
328354 borderColor : 'rgb(56, 57, 58)' ,
@@ -344,7 +370,7 @@ describe('Smith controller tests', function() {
344370 } ) ;
345371
346372 // Use custom styles for lines & first point
347- chart . data . datasets [ 0 ] . metaDataset . custom = {
373+ meta . dataset . custom = {
348374 tension : 0.25 ,
349375 backgroundColor : 'rgb(55, 55, 54)' ,
350376 borderColor : 'rgb(8, 7, 6)' ,
@@ -357,7 +383,7 @@ describe('Smith controller tests', function() {
357383 } ;
358384
359385 // point styles
360- chart . data . datasets [ 0 ] . metaData [ 0 ] . custom = {
386+ meta . data [ 0 ] . custom = {
361387 radius : 2.2 ,
362388 backgroundColor : 'rgb(0, 1, 3)' ,
363389 borderColor : 'rgb(4, 6, 8)' ,
@@ -369,7 +395,7 @@ describe('Smith controller tests', function() {
369395
370396 controller . update ( ) ;
371397
372- expect ( chart . data . datasets [ 0 ] . metaDataset . _model ) . toEqual ( {
398+ expect ( meta . dataset . _model ) . toEqual ( {
373399 backgroundColor : 'rgb(55, 55, 54)' ,
374400 borderCapStyle : 'square' ,
375401 borderColor : 'rgb(8, 7, 6)' ,
@@ -386,7 +412,7 @@ describe('Smith controller tests', function() {
386412 } ,
387413 } ) ;
388414
389- expect ( chart . data . datasets [ 0 ] . metaData [ 0 ] . _model ) . toEqual ( {
415+ expect ( meta . data [ 0 ] . _model ) . toEqual ( {
390416 x : 149 ,
391417 y : 200 ,
392418 tension : 0.15 ,
@@ -399,7 +425,7 @@ describe('Smith controller tests', function() {
399425 skip : true ,
400426 controlPointPreviousX : 149 ,
401427 controlPointPreviousY : 200 ,
402- controlPointNextX : 156.7 ,
428+ controlPointNextX : 161.8 ,
403429 controlPointNextY : 200
404430 } ) ;
405431 } ) ;
0 commit comments