import {describe, beforeEach, it, sinon, expect} from 'test/lib/common'; import TableModel from 'app/core/table_model'; import {TableRenderer} from '../renderer'; describe('when rendering table', () => { describe('given 2 columns', () => { var table = new TableModel(); table.columns = [ {text: 'Time'}, {text: 'Value'}, {text: 'Colored'}, {text: 'Undefined'}, {text: 'String'} ]; var panel = { pageSize: 10, styles: [ { pattern: 'Time', type: 'date', format: 'LLL' }, { pattern: 'Value', type: 'number', unit: 'ms', decimals: 3, }, { pattern: 'Colored', type: 'number', unit: 'none', decimals: 1, colorMode: 'value', thresholds: [50, 80], colors: ['green', 'orange', 'red'] }, { pattern: 'String', type: 'string', } ] }; var renderer = new TableRenderer(panel, table, 'utc'); it('time column should be formated', () => { var html = renderer.renderCell(0, 1388556366666); expect(html).to.be('2014-01-01T06:06:06+00:00'); }); it('number column should be formated', () => { var html = renderer.renderCell(1, 1230); expect(html).to.be('1.230 s'); }); it('number style should ignore string values', () => { var html = renderer.renderCell(1, 'asd'); expect(html).to.be('asd'); }); it('colored cell should have style', () => { var html = renderer.renderCell(2, 40); expect(html).to.be('40.0'); }); it('colored cell should have style', () => { var html = renderer.renderCell(2, 55); expect(html).to.be('55.0'); }); it('colored cell should have style', () => { var html = renderer.renderCell(2, 85); expect(html).to.be('85.0'); }); it('unformated undefined should be rendered as string', () => { var html = renderer.renderCell(3, 'value'); expect(html).to.be('value'); }); it('string style with escape html should return escaped html', () => { var html = renderer.renderCell(4, "&breaking
the
row"); expect(html).to.be('&breaking <br /> the <br /> row'); }); it('undefined formater should return escaped html', () => { var html = renderer.renderCell(3, "&breaking
the
row"); expect(html).to.be('&breaking <br /> the <br /> row'); }); it('undefined value should render as -', () => { var html = renderer.renderCell(3, undefined); expect(html).to.be(''); }); }); });