mirror of
https://github.com/konvajs/konva.git
synced 2025-11-24 08:46:44 +08:00
Tweening a line with different numbers of points. close #92
This commit is contained in:
@@ -1629,4 +1629,27 @@ suite('Container', function() {
|
||||
assert.deepEqual(group.getClientRect(), {x:10, y:10, width: 0, height:0});
|
||||
|
||||
});
|
||||
|
||||
test.skip('getClientRect - test layer', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
var group1 = new Konva.Group();
|
||||
var group2 = new Konva.Group();
|
||||
|
||||
var rect = new Konva.Rect({
|
||||
x: 50,
|
||||
y: 100,
|
||||
width: 200,
|
||||
height: 75,
|
||||
fill: 'red'
|
||||
});
|
||||
|
||||
group1.add(rect);
|
||||
layer.add(group1);
|
||||
layer.add(group2);
|
||||
stage.add(layer);
|
||||
|
||||
assert.deepEqual(layer.getClientRect(), {x: 50, y: 100, width: 200, height: 75});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -22,7 +22,7 @@ suite('Tween', function() {
|
||||
var onFinish = function() {
|
||||
assert(++finishCount <= 1, 'finishCount should not exceed 1');
|
||||
done();
|
||||
}
|
||||
};
|
||||
|
||||
var tweens = 0;
|
||||
var attrs = 0;
|
||||
@@ -217,4 +217,66 @@ suite('Tween', function() {
|
||||
}, 50);
|
||||
});
|
||||
|
||||
suite('tween array with different length', function() {
|
||||
test('prepare array closed', function() {
|
||||
var start = [0, 0, 10, 0, 10, 10];
|
||||
var end = [0, 0, 10, 0, 10, 10, 0, 10];
|
||||
var newStart = Konva.Util._prepareArrayForTween(start, end, true);
|
||||
assert.deepEqual(newStart, [0, 0, 10, 0, 10, 10, 5, 5]);
|
||||
});
|
||||
|
||||
test('prepare array - opened', function() {
|
||||
var start = [0, 0, 10, 0, 10, 10, 0, 10];
|
||||
var end = [0, 0, 10, 0, 7, 9];
|
||||
end = Konva.Util._prepareArrayForTween(start, end, false);
|
||||
assert.deepEqual(end, [0, 0, 10, 0, 7, 9, 7, 9]);
|
||||
});
|
||||
|
||||
test('tween array with bigger size', function(done) {
|
||||
var stage = addStage();
|
||||
|
||||
var layer = new Konva.Layer();
|
||||
stage.add(layer);
|
||||
|
||||
var line = new Konva.Line({
|
||||
stroke: 'black',
|
||||
points: [100, 100, 200, 100, 200, 200],
|
||||
closed: true
|
||||
});
|
||||
layer.add(line);
|
||||
|
||||
line.to({
|
||||
points: [100, 100, 200, 100, 200, 200, 100, 200],
|
||||
duration: 0.1,
|
||||
onFinish: function() {
|
||||
assert.deepEqual(line.points(), [100, 100, 200, 100, 200, 200, 100, 200]);
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
test('tween array to lower size', function(done) {
|
||||
var stage = addStage();
|
||||
|
||||
var layer = new Konva.Layer();
|
||||
stage.add(layer);
|
||||
|
||||
var line = new Konva.Line({
|
||||
stroke: 'black',
|
||||
points: [100, 100, 200, 100, 200, 200, 100, 200],
|
||||
closed: true
|
||||
});
|
||||
layer.add(line);
|
||||
|
||||
line.to({
|
||||
points: [100, 100, 200, 100, 200, 200],
|
||||
duration: 0.1,
|
||||
onFinish: function() {
|
||||
assert.deepEqual(line.points(), [100, 100, 200, 100, 200, 200]);
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user