@@ -92,6 +92,7 @@ function count(selector) {
9292 * - axis {string}
9393 * - vOrder {array of number}
9494 * - hOrder {array of number}
95+ * - isRotated {boolean}
9596 * @param {string } msg
9697 */
9798exports . assertHoverLabelContent = function ( expectation , msg ) {
@@ -105,17 +106,22 @@ exports.assertHoverLabelContent = function(expectation, msg) {
105106 var axMsg = 'common axis hover label' ;
106107 var axCnt = count ( axSelector ) ;
107108
109+ var reRotate = / ( \b r o t a t e \( .* ?\) ; ? ) / ;
110+
108111 if ( ptCnt === 1 ) {
109- assertLabelContent (
110- d3 . select ( ptSelector + '> text.nums' ) ,
111- expectation . nums ,
112- ptMsg + ' (nums)'
113- ) ;
114- assertLabelContent (
115- d3 . select ( ptSelector + '> text.name' ) ,
116- expectation . name ,
117- ptMsg + ' (name)'
118- ) ;
112+ var g = d3 . select ( ptSelector ) ;
113+ var numsSel = g . select ( 'text.nums' ) ;
114+ var nameSel = g . select ( 'text.name' ) ;
115+
116+ assertLabelContent ( numsSel , expectation . nums , ptMsg + ' (nums)' ) ;
117+ assertLabelContent ( nameSel , expectation . name , ptMsg + ' (name)' ) ;
118+
119+ if ( 'isRotated' in expectation ) {
120+ expect ( g . attr ( 'transform' ) . match ( reRotate ) )
121+ . negateIf ( expectation . isRotated )
122+ . toBe ( null , ptMsg + ' should be rotated' ) ;
123+
124+ }
119125 } else if ( ptCnt > 1 ) {
120126 if ( ! Array . isArray ( expectation . nums ) || ! Array . isArray ( expectation . name ) ) {
121127 fail ( ptMsg + ': expecting more than 1 labels.' ) ;
@@ -126,16 +132,19 @@ exports.assertHoverLabelContent = function(expectation, msg) {
126132
127133 var bboxes = [ ] ;
128134 d3 . selectAll ( ptSelector ) . each ( function ( _ , i ) {
129- assertLabelContent (
130- d3 . select ( this ) . select ( 'text.nums' ) ,
131- expectation . nums [ i ] ,
132- ptMsg + ' (nums ' + i + ')'
133- ) ;
134- assertLabelContent (
135- d3 . select ( this ) . select ( 'text.name' ) ,
136- expectation . name [ i ] ,
137- ptMsg + ' (name ' + i + ')'
138- ) ;
135+ var g = d3 . select ( this ) ;
136+ var numsSel = g . select ( 'text.nums' ) ;
137+ var nameSel = g . select ( 'text.name' ) ;
138+
139+ assertLabelContent ( numsSel , expectation . nums [ i ] , ptMsg + ' (nums ' + i + ')' ) ;
140+ assertLabelContent ( nameSel , expectation . name [ i ] , ptMsg + ' (name ' + i + ')' ) ;
141+
142+ if ( 'isRotated' in expectation ) {
143+ expect ( g . attr ( 'transform' ) . match ( reRotate ) )
144+ . negateIf ( expectation . isRotated )
145+ . toBe ( null , ptMsg + ' ' + i + ' should be rotated' ) ;
146+ }
147+
139148 bboxes . push ( { bbox : this . getBoundingClientRect ( ) , index : i } ) ;
140149 } ) ;
141150 if ( expectation . vOrder ) {
0 commit comments