@@ -276,59 +276,72 @@ describe('Performance test various traces', function() {
276
276
} ) ;
277
277
278
278
tests . forEach ( function ( spec , index ) {
279
- samples . forEach ( function ( t ) {
280
- it (
281
- spec . nTraces + ' ' + spec . traceType +
282
- ( spec . mode ? ' | mode: ' + spec . mode : '' ) +
283
- ' | size:' + spec . n + ' | turn: ' + t , function ( done ) {
284
- if ( t === 0 ) {
285
- tests [ index ] . raw = [ ] ;
286
- }
287
-
288
- var timerID ;
289
- var requestID1 , requestID2 ;
290
-
291
- var startTime , endTime ;
292
-
293
- requestID1 = requestAnimationFrame ( function ( ) {
294
- // Wait for actual rendering instead of promise
295
- requestID2 = requestAnimationFrame ( function ( ) {
296
- endTime = performance . now ( ) ;
279
+ var testIt = true ;
280
+
281
+ var testCase = __karma__ . config . testCase ;
282
+
283
+ if ( testCase ) {
284
+ if ( testCase . tracesType && testCase . tracesType !== spec . traceType ) testIt = false ;
285
+ if ( testCase . tracesCount && testCase . tracesCount !== spec . nTraces ) testIt = false ;
286
+ if ( testCase . tracesMode && testCase . tracesMode !== spec . mode ) testIt = false ;
287
+ if ( testCase . tracesPoints && testCase . tracesPoints !== spec . n ) testIt = false ;
288
+ }
289
+
290
+ if ( testIt ) {
291
+ samples . forEach ( function ( t ) {
292
+ it (
293
+ spec . nTraces + ' ' + spec . traceType +
294
+ ( spec . mode ? ' | mode: ' + spec . mode : '' ) +
295
+ ' | size:' + spec . n + ' | turn: ' + t , function ( done ) {
296
+ if ( t === 0 ) {
297
+ tests [ index ] . raw = [ ] ;
298
+ }
299
+
300
+ var timerID ;
301
+ var requestID1 , requestID2 ;
302
+
303
+ var startTime , endTime ;
297
304
298
- var delta = endTime - startTime ;
305
+ requestID1 = requestAnimationFrame ( function ( ) {
306
+ // Wait for actual rendering instead of promise
307
+ requestID2 = requestAnimationFrame ( function ( ) {
308
+ endTime = performance . now ( ) ;
299
309
300
- if ( tests [ index ] . raw [ t ] === undefined ) {
301
- tests [ index ] . raw [ t ] = delta ;
302
- }
310
+ var delta = endTime - startTime ;
303
311
304
- if ( spec . selector ) {
305
- var nodes = d3SelectAll ( spec . selector ) ;
306
- expect ( nodes . size ( ) ) . toEqual ( spec . nTraces ) ;
307
- }
312
+ if ( tests [ index ] . raw [ t ] === undefined ) {
313
+ tests [ index ] . raw [ t ] = delta ;
314
+ }
308
315
309
- clearTimeout ( timerID ) ;
316
+ if ( spec . selector ) {
317
+ var nodes = d3SelectAll ( spec . selector ) ;
318
+ expect ( nodes . size ( ) ) . toEqual ( spec . nTraces ) ;
319
+ }
310
320
311
- done ( ) ;
321
+ clearTimeout ( timerID ) ;
322
+
323
+ done ( ) ;
324
+ } ) ;
312
325
} ) ;
313
- } ) ;
314
326
315
- var mock = generateMock ( spec ) ;
327
+ var mock = generateMock ( spec ) ;
316
328
317
- timerID = setTimeout ( ( ) => {
318
- endTime = performance . now ( ) ;
329
+ timerID = setTimeout ( ( ) => {
330
+ endTime = performance . now ( ) ;
319
331
320
- tests [ index ] . raw [ t ] = 'none' ;
332
+ tests [ index ] . raw [ t ] = 'none' ;
321
333
322
- cancelAnimationFrame ( requestID2 ) ;
323
- cancelAnimationFrame ( requestID1 ) ;
334
+ cancelAnimationFrame ( requestID2 ) ;
335
+ cancelAnimationFrame ( requestID1 ) ;
324
336
325
- done . fail ( 'Takes too much time: ' + ( endTime - startTime ) ) ;
326
- } , MAX_RENDERING_TIME ) ;
337
+ done . fail ( 'Takes too much time: ' + ( endTime - startTime ) ) ;
338
+ } , MAX_RENDERING_TIME ) ;
327
339
328
- startTime = performance . now ( ) ;
340
+ startTime = performance . now ( ) ;
329
341
330
- Plotly . newPlot ( gd , mock ) ;
342
+ Plotly . newPlot ( gd , mock ) ;
343
+ } ) ;
331
344
} ) ;
332
- } ) ;
345
+ }
333
346
} ) ;
334
347
} ) ;
0 commit comments