test for toDataURL + HDPI

This commit is contained in:
Anton Lavrenov
2015-04-26 07:26:54 +07:00
parent 41c10555bc
commit 923c466572
2 changed files with 72 additions and 20 deletions

View File

@@ -280,33 +280,46 @@ suite('Node', function() {
});
// ======================================================
test('test pixel ratio toDataURL', function() {
test.only('toDataURL + HDPI', function(done) {
var oldRatio = Konva.pixelRatio;
Konva.pixelRatio = 2;
var stage = addStage();
var layer = new Konva.Layer();
// override pixel ratio
layer.canvas = new Konva.SceneCanvas({
pixelRatio: 2
});
layer.canvas._canvas.style.position = 'absolute';
var circle = new Konva.Circle({
x: stage.getWidth() / 2,
y: stage.getHeight() / 2,
radius: 70,
fill: 'green',
stroke: 'black',
strokeWidth: 4
});
layer.add(circle);
stage.add(layer);
assert.equal(layer.canvas.pixelRatio, 2);
var circle = new Konva.Circle({
fill : 'green',
x : stage.width() / 2,
y : stage.height() / 2,
radius : 50
});
layer.add(circle);
var layer2 = new Konva.Layer();
stage.add(layer2);
stage.draw();
stage.toDataURL({
callback : function(url) {
console.log(url);
var img = new Image();
img.onload = function() {
var image = new Konva.Image({
image : img
});
layer2.add(image);
layer2.draw();
compareLayers(layer, layer2);
done();
}
img.src = url;
}
});
});
// ======================================================
test('listen and don\'t listen', function() {
var stage = addStage();

View File

@@ -521,4 +521,43 @@ suite('Stage', function() {
assert.equal(Konva.isDragging(), false);
assert.equal(Konva.DD.node, undefined);
});
test.skip('toDataURL + HDPI', function(done) {
Konva.pixelRatio = 2;
var stage = addStage();
var layer = new Konva.Layer();
var image = new Image();
image.onload = function() {
var lion = new Konva.Image({
image: image,
draggable: true
});
lion.cache();
lion.drawHitFromCache();
layer.add(lion);
stage.add(layer);
stage.draw();
var snapshotStage = addStage();
stage.toImage({
callback: function (image) {
var imageNode = new Konva.Image({
image: image
});
var snapshotLayer = new Konva.Layer();
snapshotLayer.add(imageNode);
snapshotStage.add(snapshotLayer);
snapshotStage.draw();
Konva.pixelRatio = undefined;
done();
}
});
};
image.src = 'assets/lion.png';
});
});