bpmn-js
Version:
A bpmn 2.0 toolkit and web modeler
76 lines (53 loc) • 1.35 kB
JavaScript
;
var getLabelAdjustment = require('lib/features/modeling/behavior/util/LabelLayoutUtil').getLabelAdjustment;
describe('modeling/behavior/util - LabelLayoutUtil#getLabelAdjustment', function() {
describe('should recognize on the line label', function() {
var newLine = [
{ x: 10, y: 10 },
// -
{ x: 15, y: 10 },
// |
{ x: 15, y: 5 },
// -
{ x: 30, y: 5 }
];
it('horizontal', function() {
// given
var line = [
{ x: 10, y: 10 },
// -
{ x: 20, y: 10 }
];
// label with center { x: 5, y: 10 }
var label = {
x: 0,
y: 5,
width: 10,
height: 10
};
// when
var delta = getLabelAdjustment(label, newLine, line, { connectionStart: true });
// then
expect(delta).to.eql({ x: 0, y: 0 });
});
it('zero-length line', function() {
// given
var line = [
{ x: 10, y: 10 },
// -
{ x: 10, y: 10 }
];
// label with center { x: 5, y: 10 }
var label = {
x: 0,
y: 5,
width: 10,
height: 10
};
// when
var delta = getLabelAdjustment(label, newLine, line, { connectionStart: true });
// then
expect(delta).to.eql({ x: 0, y: 0 });
});
});
});