@@ -210,22 +210,50 @@ describe('table', function() {
210210 var mockCopy ,
211211 gd ;
212212
213- beforeEach ( function ( done ) {
213+ afterEach ( destroyGraphDiv ) ;
214+
215+ it ( '`Plotly.plot` should render all the columns even if no cell contents were supplied yet' , function ( done ) {
216+ gd = createGraphDiv ( ) ;
214217 mockCopy = Lib . extendDeep ( { } , mock ) ;
215- mockCopy . data [ 0 ] . domain = {
216- x : [ 0.1 , 0.9 ] ,
217- y : [ 0.05 , 0.85 ]
218- } ;
219218 delete mockCopy . data [ 0 ] . cells ;
219+ Plotly . plot ( gd , mockCopy . data , mockCopy . layout ) . then ( function ( ) {
220+ expect ( gd . data . length ) . toEqual ( 1 ) ;
221+ expect ( gd . data [ 0 ] . header . values . length ) . toEqual ( 7 ) ;
222+ expect ( document . querySelectorAll ( '.' + cn . yColumn ) . length ) . toEqual ( 7 ) ;
223+ expect ( document . querySelectorAll ( '.' + cn . columnCell ) . length ) . toEqual ( 7 * 2 ) ; // both column rows to render
224+ done ( ) ;
225+ } ) ;
226+ } ) ;
227+
228+ it ( '`Plotly.plot` should render all columns even if no header contents were supplied yet' , function ( done ) {
220229 gd = createGraphDiv ( ) ;
221- Plotly . plot ( gd , mockCopy . data , mockCopy . layout ) . then ( done ) ;
230+ mockCopy = Lib . extendDeep ( { } , mock ) ;
231+ delete mockCopy . data [ 0 ] . header ;
232+ Plotly . plot ( gd , mockCopy . data , mockCopy . layout ) . then ( function ( ) {
233+ expect ( gd . data . length ) . toEqual ( 1 ) ;
234+ expect ( gd . data [ 0 ] . cells . values . length ) . toEqual ( 7 ) ;
235+ expect ( document . querySelectorAll ( '.' + cn . yColumn ) . length ) . toEqual ( 7 ) ;
236+ expect ( document . querySelectorAll ( '.' + cn . columnCell ) . length ) . toEqual ( 7 * 29 ) ;
237+ expect ( document . querySelectorAll ( '#header' ) . length ) . toEqual ( 7 ) ;
238+ expect ( document . querySelectorAll ( '#header .' + cn . columnCell ) . length ) . toEqual ( 7 ) ;
239+ expect ( document . querySelector ( '#header .' + cn . columnCell + ' text' ) . textContent ) . toEqual ( '' ) ;
240+ done ( ) ;
241+ } ) ;
222242 } ) ;
223243
224- it ( '`Plotly.plot` should render all the columns even if no cell contents were supplied yet' , function ( ) {
225- expect ( gd . data . length ) . toEqual ( 1 ) ;
226- expect ( gd . data [ 0 ] . header . values . length ) . toEqual ( 7 ) ;
227- expect ( document . querySelectorAll ( '.' + cn . yColumn ) . length ) . toEqual ( 7 ) ;
228- expect ( document . querySelectorAll ( '.' + cn . columnCell ) . length ) . toEqual ( 7 * 2 ) ; // both column rows to render
244+ it ( '`Plotly.plot` should render all the column headers even if not all header values were supplied' , function ( done ) {
245+ gd = createGraphDiv ( ) ;
246+ mockCopy = Lib . extendDeep ( { } , mock ) ;
247+ mockCopy . data [ 0 ] . header . values = [ 'A' , 'S' , 'D' ] ; // doesn't cover all 7 columns
248+ Plotly . plot ( gd , mockCopy . data , mockCopy . layout ) . then ( function ( ) {
249+ expect ( gd . data . length ) . toEqual ( 1 ) ;
250+ expect ( gd . data [ 0 ] . cells . values . length ) . toEqual ( 7 ) ;
251+ expect ( document . querySelectorAll ( '.' + cn . yColumn ) . length ) . toEqual ( 7 ) ;
252+ expect ( document . querySelectorAll ( '#header' ) . length ) . toEqual ( 7 ) ;
253+ expect ( document . querySelectorAll ( '#header .' + cn . columnCell ) . length ) . toEqual ( 7 ) ;
254+ expect ( document . querySelector ( '#header .' + cn . columnCell + ' text' ) . textContent ) . toEqual ( 'A' ) ;
255+ done ( ) ;
256+ } ) ;
229257 } ) ;
230258 } ) ;
231259
0 commit comments