@@ -893,25 +893,36 @@ describe('Test Scatter.style', function() {
893
893
894
894
afterEach ( destroyGraphDiv ) ;
895
895
896
+ function assertPts ( attr , getterFn , expectation , msg2 ) {
897
+ var selector = attr . indexOf ( 'textfont' ) === 0 ? '.textpoint > text' : '.point' ;
898
+
899
+ d3 . select ( gd ) . selectAll ( '.trace' ) . each ( function ( _ , i ) {
900
+ var pts = d3 . select ( this ) . selectAll ( selector ) ;
901
+ var expi = expectation [ i ] ;
902
+
903
+ expect ( pts . size ( ) )
904
+ . toBe ( expi . length , '# of pts for trace ' + i + msg2 ) ;
905
+
906
+ pts . each ( function ( _ , j ) {
907
+ var msg3 = ' for pt ' + j + ' in trace ' + i + msg2 ;
908
+ expect ( getterFn ( this ) ) . toBe ( expi [ j ] , attr + msg3 ) ;
909
+ } ) ;
910
+ } ) ;
911
+ }
912
+
896
913
function makeCheckFn ( attr , getterFn ) {
897
914
return function ( update , expectation , msg ) {
898
- var msg2 = ' (' + msg + ')' ;
899
915
var promise = update ? Plotly . restyle ( gd , update ) : Promise . resolve ( ) ;
900
- var selector = attr . indexOf ( 'textfont' ) === 0 ? '.textpoint > text' : '.point' ;
901
916
902
917
return promise . then ( function ( ) {
903
- d3 . selectAll ( '.trace' ) . each ( function ( _ , i ) {
904
- var pts = d3 . select ( this ) . selectAll ( selector ) ;
905
- var expi = expectation [ i ] ;
906
-
907
- expect ( pts . size ( ) )
908
- . toBe ( expi . length , '# of pts for trace ' + i + msg2 ) ;
918
+ assertPts ( attr , getterFn , expectation , ' (' + msg + ' after restyle)' ) ;
909
919
910
- pts . each ( function ( _ , j ) {
911
- var msg3 = ' for pt ' + j + ' in trace ' + i + msg2 ;
912
- expect ( getterFn ( this ) ) . toBe ( expi [ j ] , attr + msg3 ) ;
913
- } ) ;
920
+ // make sure styleOnSelect (called during selection)
921
+ // gives same results as restyle
922
+ gd . calcdata . forEach ( function ( cd ) {
923
+ Scatter . styleOnSelect ( gd , cd ) ;
914
924
} ) ;
925
+ assertPts ( attr , getterFn , expectation , ' (' + msg + ' via Scatter.styleOnSelect)' ) ;
915
926
} ) ;
916
927
} ;
917
928
}
0 commit comments