2013-09-07 20:55:03 -07:00
|
|
|
suite('RegularPolygon', function() {
|
|
|
|
|
// ======================================================
|
|
|
|
|
test('add regular polygon triangle', function() {
|
2013-09-08 21:36:54 -07:00
|
|
|
var stage = addStage();
|
2015-08-28 10:11:10 +07:00
|
|
|
|
2015-01-27 00:07:51 -07:00
|
|
|
var layer = new Konva.Layer();
|
2012-11-13 21:37:28 -08:00
|
|
|
|
2015-01-27 00:07:51 -07:00
|
|
|
var poly = new Konva.RegularPolygon({
|
2012-11-13 21:37:28 -08:00
|
|
|
x: 200,
|
|
|
|
|
y: 100,
|
|
|
|
|
sides: 3,
|
|
|
|
|
radius: 50,
|
|
|
|
|
fill: 'green',
|
|
|
|
|
stroke: 'blue',
|
|
|
|
|
strokeWidth: 5,
|
|
|
|
|
name: 'foobar',
|
2014-01-04 23:56:33 -08:00
|
|
|
center: {
|
2012-11-13 21:37:28 -08:00
|
|
|
x: 0,
|
|
|
|
|
y: -50
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
layer.add(poly);
|
|
|
|
|
stage.add(layer);
|
2015-08-28 10:11:10 +07:00
|
|
|
|
2013-09-07 20:55:03 -07:00
|
|
|
assert.equal(poly.getClassName(), 'RegularPolygon');
|
2012-11-13 21:37:28 -08:00
|
|
|
|
2013-09-07 20:55:03 -07:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// ======================================================
|
|
|
|
|
test('add regular polygon square', function() {
|
2013-09-08 21:36:54 -07:00
|
|
|
var stage = addStage();
|
2015-01-27 00:07:51 -07:00
|
|
|
var layer = new Konva.Layer();
|
2012-11-13 21:37:28 -08:00
|
|
|
|
2015-01-27 00:07:51 -07:00
|
|
|
var poly = new Konva.RegularPolygon({
|
2012-11-13 21:37:28 -08:00
|
|
|
x: 200,
|
|
|
|
|
y: 100,
|
|
|
|
|
sides: 4,
|
|
|
|
|
radius: 50,
|
|
|
|
|
fill: 'green',
|
|
|
|
|
stroke: 'blue',
|
|
|
|
|
strokeWidth: 5,
|
|
|
|
|
name: 'foobar'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
layer.add(poly);
|
|
|
|
|
stage.add(layer);
|
2013-09-07 20:55:03 -07:00
|
|
|
});
|
2015-08-28 10:11:10 +07:00
|
|
|
|
2013-09-07 20:55:03 -07:00
|
|
|
// ======================================================
|
|
|
|
|
test('add regular polygon pentagon', function() {
|
2013-09-08 21:36:54 -07:00
|
|
|
var stage = addStage();
|
2015-01-27 00:07:51 -07:00
|
|
|
var layer = new Konva.Layer();
|
2012-11-13 21:37:28 -08:00
|
|
|
|
2015-01-27 00:07:51 -07:00
|
|
|
var poly = new Konva.RegularPolygon({
|
2012-11-13 21:37:28 -08:00
|
|
|
x: 200,
|
|
|
|
|
y: 100,
|
|
|
|
|
sides: 5,
|
|
|
|
|
radius: 50,
|
|
|
|
|
fill: 'green',
|
|
|
|
|
stroke: 'blue',
|
|
|
|
|
strokeWidth: 5,
|
|
|
|
|
name: 'foobar'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
layer.add(poly);
|
|
|
|
|
stage.add(layer);
|
2013-09-07 20:55:03 -07:00
|
|
|
});
|
2015-08-28 10:11:10 +07:00
|
|
|
|
2013-09-07 20:55:03 -07:00
|
|
|
// ======================================================
|
|
|
|
|
test('add regular polygon octogon', function() {
|
2013-09-08 21:36:54 -07:00
|
|
|
var stage = addStage();
|
2015-01-27 00:07:51 -07:00
|
|
|
var layer = new Konva.Layer();
|
2012-11-13 21:37:28 -08:00
|
|
|
|
2015-01-27 00:07:51 -07:00
|
|
|
var poly = new Konva.RegularPolygon({
|
2012-11-13 21:37:28 -08:00
|
|
|
x: 200,
|
|
|
|
|
y: 100,
|
|
|
|
|
sides: 8,
|
|
|
|
|
radius: 50,
|
|
|
|
|
fill: 'green',
|
|
|
|
|
stroke: 'blue',
|
|
|
|
|
strokeWidth: 5,
|
|
|
|
|
name: 'foobar'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
layer.add(poly);
|
|
|
|
|
stage.add(layer);
|
2013-09-07 20:55:03 -07:00
|
|
|
});
|
2015-02-12 14:10:36 +07:00
|
|
|
|
|
|
|
|
// ======================================================
|
|
|
|
|
test('attr sync', function() {
|
|
|
|
|
var stage = addStage();
|
|
|
|
|
var layer = new Konva.Layer();
|
|
|
|
|
|
|
|
|
|
var poly = new Konva.RegularPolygon({
|
|
|
|
|
x: 200,
|
|
|
|
|
y: 100,
|
|
|
|
|
sides: 5,
|
|
|
|
|
radius: 50,
|
|
|
|
|
fill: 'green',
|
|
|
|
|
stroke: 'blue',
|
|
|
|
|
strokeWidth: 5,
|
|
|
|
|
name: 'foobar'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
layer.add(poly);
|
|
|
|
|
stage.add(layer);
|
|
|
|
|
|
|
|
|
|
assert.equal(poly.getWidth(), 100);
|
|
|
|
|
assert.equal(poly.getHeight(), 100);
|
|
|
|
|
|
|
|
|
|
poly.setWidth(120);
|
|
|
|
|
assert.equal(poly.radius(), 60);
|
|
|
|
|
assert.equal(poly.getHeight(), 120);
|
|
|
|
|
|
|
|
|
|
poly.setHeight(140);
|
|
|
|
|
assert.equal(poly.radius(), 70);
|
|
|
|
|
assert.equal(poly.getHeight(), 140);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('polygon cache', function() {
|
2016-02-28 16:57:15 +08:00
|
|
|
Konva.pixelRatio = 1;
|
2015-02-12 14:10:36 +07:00
|
|
|
var stage = addStage();
|
|
|
|
|
var layer = new Konva.Layer();
|
|
|
|
|
|
|
|
|
|
var poly = new Konva.RegularPolygon({
|
|
|
|
|
x: 200,
|
|
|
|
|
y: 100,
|
|
|
|
|
sides: 5,
|
|
|
|
|
radius: 50,
|
|
|
|
|
fill: 'green',
|
2016-02-28 16:57:15 +08:00
|
|
|
stroke: 'black',
|
2015-02-12 14:10:36 +07:00
|
|
|
strokeWidth: 5,
|
|
|
|
|
name: 'foobar'
|
|
|
|
|
});
|
|
|
|
|
poly.cache();
|
|
|
|
|
layer.add(poly);
|
|
|
|
|
stage.add(layer);
|
|
|
|
|
|
|
|
|
|
assert.deepEqual(poly.getSelfRect(), {
|
|
|
|
|
x : -50,
|
|
|
|
|
y : -50,
|
|
|
|
|
height : 100,
|
|
|
|
|
width : 100
|
|
|
|
|
});
|
2015-08-28 10:11:10 +07:00
|
|
|
if (!window.isPhantomJS) {
|
2016-02-28 16:57:15 +08:00
|
|
|
cloneAndCompareLayer(layer, 254);
|
2015-02-12 14:10:36 +07:00
|
|
|
}
|
2016-02-28 16:57:15 +08:00
|
|
|
Konva.pixelRatio = undefined;
|
|
|
|
|
|
2015-02-12 14:10:36 +07:00
|
|
|
});
|
2015-08-28 10:11:10 +07:00
|
|
|
|
|
|
|
|
});
|