renderer_specs.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import {describe, beforeEach, it, sinon, expect} from 'test/lib/common';
  2. import {TableModel} from '../table_model';
  3. import {TableRenderer} from '../renderer';
  4. describe('when rendering table', () => {
  5. describe('given 2 columns', () => {
  6. var table = new TableModel();
  7. table.columns = [
  8. {text: 'Time'},
  9. {text: 'Value'},
  10. {text: 'Colored'}
  11. ];
  12. var panel = {
  13. pageSize: 10,
  14. columns: [
  15. {
  16. pattern: 'Time',
  17. type: 'date',
  18. format: 'LLL'
  19. },
  20. {
  21. pattern: 'Value',
  22. type: 'number',
  23. unit: 'ms',
  24. decimals: 3,
  25. },
  26. {
  27. pattern: 'Colored',
  28. type: 'number',
  29. unit: 'none',
  30. decimals: 1,
  31. colorMode: 'value',
  32. thresholds: [0, 50, 80],
  33. colors: ['green', 'orange', 'red']
  34. }
  35. ]
  36. };
  37. var renderer = new TableRenderer(panel, table, 'utc');
  38. it('time column should be formated', () => {
  39. var html = renderer.renderCell(0, 1388556366666);
  40. expect(html).to.be('<td>2014-01-01T06:06:06+00:00</td>');
  41. });
  42. it('number column should be formated', () => {
  43. var html = renderer.renderCell(1, 1230);
  44. expect(html).to.be('<td>1.230 s</td>');
  45. });
  46. it('number style should ignore string values', () => {
  47. var html = renderer.renderCell(1, 'asd');
  48. expect(html).to.be('<td>asd</td>');
  49. });
  50. it('colored cell should have style', () => {
  51. var html = renderer.renderCell(2, 55);
  52. expect(html).to.be('<td style="color:orange">55.0</td>');
  53. });
  54. });
  55. });