Example #1
0
        it('should return line with variable width', function () {

            var path = getBrushLine([
                {x: 20, y: 20, size: 40},
                {x: 40, y: 20, size: 40},
                {x: 50, y: 20, size: 20},
                {x: 80, y: 20, size: 40},
                {x: 110, y: 20, size: 20}
            ]);
            expect(testUtils.roundNumbersInString(path)).to.be.equal([
                'M20,0',
                'L40,0',
                'A20,20 0 0 1 40,40',
                'L20,40',
                'A20,20 0 0 1 20,0',
                'Z',
                'M40,0',
                'A20,20 0 0 1 40,40',
                'A20,20 0 0 1 40,0',
                'Z',
                'M47,11',
                'L73,1',
                'A20,20 0 1 1 73,39',
                'L47,29',
                'A10,10 0 0 1 47,11',
                'Z',
                'M87,1',
                'L113,11',
                'A10,10 0 0 1 113,29',
                'L87,39',
                'A20,20 0 1 1 87,1',
                'Z'
            ].join(' '));

            var singlePoint1 = getBrushLine([{x: 100, y: 100, size: 40}]);
            expect(singlePoint1).to.be.equal([
                'M100,80',
                'A20,20 0 0 1 100,120',
                'A20,20 0 0 1 100,80',
                'Z'
            ].join(' '));

            var singlePoint2 = getBrushLine([
                {x: 90, y: 100, size: 20},
                {x: 100, y: 100, size: 40}
            ]);
            expect(singlePoint2).to.be.equal([
                'M100,80',
                'A20,20 0 0 1 100,120',
                'A20,20 0 0 1 100,80',
                'Z'
            ].join(' '));

            var empty = getBrushLine([]);
            expect(empty).to.be.equal('');
        });
Example #2
0
        it('should return curve with variable width', function () {

            var path = getBrushCurve(toCurve([
                {x: 0, y: 60, size: 30},
                {x: 30, y: 0, size: 15},
                {x: 60, y: 30, size: 30}
            ]));
            expect(testUtils.roundNumbersInString(path)).to.be.equal([
                'M-14,55',
                'C-0,17 15,-8 30,-7',
                'A8,8 0 1 1 32,7',
                'C26,7 20,24 15,62',
                'A15,15 0 0 1 -14,55',
                'Z',
                'M29,-7',
                'C42,-9 59,3 72,21',
                'A15,15 0 0 1 46,35',
                'C40,15 36,8 28,7',
                'A8,8 0 0 1 29,-7',
                'Z'
            ].join(' '));

            var singlePoint1 = getBrushCurve(toCurve([{x: 100, y: 100, size: 40}]));
            expect(singlePoint1).to.be.equal([
                'M100,80',
                'A20,20 0 0 1 100,120',
                'A20,20 0 0 1 100,80',
                'Z'
            ].join(' '));

            var singlePoint2 = getBrushCurve(toCurve([
                {x: 90, y: 100, size: 20},
                {x: 100, y: 100, size: 40}
            ]));
            expect(singlePoint2).to.be.equal([
                'M100,80',
                'A20,20 0 0 1 100,120',
                'A20,20 0 0 1 100,80',
                'Z'
            ].join(' '));

            var empty = getBrushCurve(toCurve([]));
            expect(empty).to.be.equal('');
        });