@@ -59,6 +59,10 @@ describe('aggregate', function() {
5959 expect ( traceOut . marker . opacity ) . toEqual ( [ 0.6 , 'boo' ] ) ;
6060 expect ( traceOut . marker . line . color ) . toEqual ( [ 'the end' , 3.3 ] ) ;
6161 expect ( traceOut . marker . line . width ) . toEqual ( [ 4 , 1 ] ) ;
62+
63+ var transform = traceOut . transforms [ 0 ] ;
64+ var inverseMapping = transform . _indexToPoints ;
65+ expect ( inverseMapping ) . toEqual ( { 0 : [ 0 , 2 , 3 , 4 ] , 1 : [ 1 ] } ) ;
6266 } ) ;
6367
6468 it ( 'handles all funcs except sum for date data' , function ( ) {
@@ -163,6 +167,10 @@ describe('aggregate', function() {
163167 expect ( traceOut . y ) . toEqual ( [ 'b' , undefined ] ) ;
164168 // category average: can result in fractional categories -> rounds (0.5 rounds to 1)
165169 expect ( traceOut . text ) . toEqual ( [ 'b' , 'b' ] ) ;
170+
171+ var transform = traceOut . transforms [ 0 ] ;
172+ var inverseMapping = transform . _indexToPoints ;
173+ expect ( inverseMapping ) . toEqual ( { 0 : [ 0 , 1 ] , 1 : [ 2 , 3 ] } ) ;
166174 } ) ;
167175
168176 it ( 'can aggregate on an existing data array' , function ( ) {
@@ -185,10 +193,12 @@ describe('aggregate', function() {
185193 expect ( traceOut . x ) . toEqual ( [ 8 , 7 ] ) ;
186194 expect ( traceOut . y ) . toBeCloseToArray ( [ 16 / 3 , 7 ] , 5 ) ;
187195 expect ( traceOut . marker . size ) . toEqual ( [ 10 , 20 ] ) ;
196+
197+ var transform = traceOut . transforms [ 0 ] ;
198+ var inverseMapping = transform . _indexToPoints ;
199+ expect ( inverseMapping ) . toEqual ( { 0 : [ 0 , 1 , 4 ] , 1 : [ 2 , 3 ] } ) ;
188200 } ) ;
189201
190- // Regression test - throws before fix:
191- // https://github.com/plotly/plotly.js/issues/2024
192202 it ( 'can handle case where aggregation array is missing' , function ( ) {
193203 Plotly . newPlot ( gd , [ {
194204 x : [ 1 , 2 , 3 , 4 , 5 ] ,
@@ -205,6 +215,10 @@ describe('aggregate', function() {
205215 expect ( traceOut . x ) . toEqual ( [ 1 , 3 ] ) ;
206216 expect ( traceOut . y ) . toEqual ( [ 2 , 6 ] ) ;
207217 expect ( traceOut . marker . size ) . toEqual ( [ 10 , 20 ] ) ;
218+
219+ var transform = traceOut . transforms [ 0 ] ;
220+ var inverseMapping = transform . _indexToPoints ;
221+ expect ( inverseMapping ) . toEqual ( { 0 : [ 0 , 1 , 4 ] , 1 : [ 2 , 3 ] } ) ;
208222 } ) ;
209223
210224 it ( 'handles median, mode, rms, & stddev for numeric data' , function ( ) {
@@ -257,7 +271,7 @@ describe('aggregate', function() {
257271 aggregations : [
258272 { target : 'x' , func : 'sum' } ,
259273 { target : 'x' , func : 'avg' } ,
260- { target : 'y' , func : 'avg' } ,
274+ { target : 'y' , func : 'avg' }
261275 ]
262276 } ]
263277 } ] ) ;
0 commit comments