import { bootstrapViewer, inject } from 'test/TestHelper'; describe('draw - TextRenderer', function() { var diagramXML = require('./TextRenderer.bpmn'); describe('API', function() { beforeEach(bootstrapViewer(diagramXML)); it('should expose #createText', inject(function(textRenderer) { // when var text = textRenderer.createText('FOO'); // then expect(text).to.exist; })); it('should expose #getExternalLabelBounds', inject(function(textRenderer) { // given var bounds = { x: 0, y: 0, width: 100, height: 100 }; // when var layoutedBounds = textRenderer.getExternalLabelBounds( bounds, 'FOO\nBar\nFOOBAR' ); // then expect(layoutedBounds).to.exist; expect(layoutedBounds.x).to.exist; expect(layoutedBounds.y).to.exist; expect(layoutedBounds.width).to.exist; expect(layoutedBounds.height).to.exist; })); it('should expose #getTextAnnotationBounds', inject(function(textRenderer) { // given var bounds = { x: 0, y: 0, width: 100, height: 100 }; // when var layoutedBounds = textRenderer.getTextAnnotationBounds( bounds, 'FOO\nBar\nFOOBAR' ); // then expect(layoutedBounds).to.exist; expect(layoutedBounds.x).to.exist; expect(layoutedBounds.y).to.exist; expect(layoutedBounds.width).to.exist; expect(layoutedBounds.height).to.exist; })); }); describe('style override', function() { beforeEach(bootstrapViewer(diagramXML, { textRenderer: { defaultStyle: { fontFamily: 'monospace', fontSize: '15px', lineHeight: '24px' }, externalStyle: { fontWeight: 'bold' } } })); it('should render', inject(function(textRenderer) { // when var defaultStyle = textRenderer.getDefaultStyle(); var externalStyle = textRenderer.getExternalStyle(); // then expect(defaultStyle.fontFamily).to.eql('monospace'); expect(defaultStyle.fontSize).to.eql('15px'); expect(defaultStyle.lineHeight).to.eql('24px'); expect(externalStyle.fontFamily).to.eql('monospace'); expect(externalStyle.fontSize).to.eql(14); expect(externalStyle.fontWeight).to.eql('bold'); })); }); });