Skip to content

Commit c786ade

Browse files
committed
test cases for unsupplied or partially supplied column headers
1 parent 0682a88 commit c786ade

File tree

1 file changed

+39
-11
lines changed

1 file changed

+39
-11
lines changed

test/jasmine/tests/table_test.js

+39-11
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)