2011-05-21 20:33:08 +02:00
|
|
|
module('Symbol & Placed Symbol');
|
2011-02-26 13:48:31 +01:00
|
|
|
|
|
|
|
test('placedSymbol bounds', function() {
|
|
|
|
var path = new Path.Circle([50, 50], 50);
|
2011-05-18 20:08:52 +02:00
|
|
|
path.strokeColor = 'black';
|
2011-03-06 10:58:05 +00:00
|
|
|
path.strokeWidth = 1;
|
|
|
|
path.strokeCap = 'round';
|
|
|
|
path.strokeJoin = 'round';
|
|
|
|
compareRectangles(path.strokeBounds,
|
2011-03-06 15:11:18 +00:00
|
|
|
{ x: -0.5, y: -0.5, width: 101, height: 101 },
|
2011-03-06 10:58:05 +00:00
|
|
|
'Path initial bounds.');
|
2011-02-26 13:48:31 +01:00
|
|
|
var symbol = new Symbol(path);
|
|
|
|
var placedSymbol = new PlacedSymbol(symbol);
|
2011-03-07 00:01:26 +00:00
|
|
|
|
2011-03-03 17:23:27 +00:00
|
|
|
compareRectangles(placedSymbol.bounds,
|
2011-02-26 13:48:31 +01:00
|
|
|
new Rectangle(-50.5, -50.5, 101, 101),
|
|
|
|
'PlacedSymbol initial bounds.');
|
2011-03-07 00:01:26 +00:00
|
|
|
|
2011-03-06 21:26:38 +00:00
|
|
|
placedSymbol.scale(1, 0.5);
|
2011-03-03 17:23:27 +00:00
|
|
|
compareRectangles(placedSymbol.bounds,
|
2011-03-06 21:26:38 +00:00
|
|
|
{ x: -50.5, y: -25.25, width: 101, height: 50.5 },
|
2011-02-26 18:17:44 +01:00
|
|
|
'Bounds after scale.');
|
2011-03-06 21:26:38 +00:00
|
|
|
|
2011-02-26 13:48:31 +01:00
|
|
|
placedSymbol.rotate(40);
|
2011-03-03 17:23:27 +00:00
|
|
|
compareRectangles(placedSymbol.bounds,
|
2011-03-06 21:26:38 +00:00
|
|
|
{ x: -42.04736, y: -37.91846, width: 84.09473, height: 75.83691 },
|
2011-02-26 18:17:44 +01:00
|
|
|
'Bounds after rotation.');
|
2011-03-06 15:14:57 +00:00
|
|
|
});
|
2011-05-21 20:32:41 +02:00
|
|
|
|
|
|
|
test('Symbol definition selection', function() {
|
|
|
|
var path = new Path.Circle([50, 50], 50);
|
|
|
|
path.selected = true;
|
|
|
|
var symbol = new Symbol(path);
|
|
|
|
equals(function() {
|
2011-05-21 21:28:30 +02:00
|
|
|
return symbol.definition.selected == false;
|
2011-05-21 20:32:41 +02:00
|
|
|
}, true);
|
2011-05-21 21:31:41 +02:00
|
|
|
equals(function() {
|
|
|
|
return paper.project.selectedItems.length == 0;
|
|
|
|
}, true);
|
2011-06-03 22:27:18 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
test('Symbol#place()', function() {
|
|
|
|
var path = new Path.Circle([50, 50], 50);
|
|
|
|
var symbol = new Symbol(path);
|
|
|
|
var placedSymbol = symbol.place();
|
|
|
|
equals(function() {
|
|
|
|
return placedSymbol.parent == paper.project.activeLayer;
|
|
|
|
}, true);
|
|
|
|
|
|
|
|
equals(function() {
|
|
|
|
return placedSymbol.symbol == symbol;
|
|
|
|
}, true);
|
|
|
|
|
|
|
|
equals(function() {
|
|
|
|
return placedSymbol.position.toString();
|
|
|
|
}, '{ x: 0, y: 0 }');
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Symbol#place(position)', function() {
|
|
|
|
var path = new Path.Circle([50, 50], 50);
|
|
|
|
var symbol = new Symbol(path);
|
|
|
|
var placedSymbol = symbol.place(new Point(100, 100));
|
|
|
|
equals(function() {
|
|
|
|
return placedSymbol.position.toString();
|
|
|
|
}, '{ x: 100, y: 100 }');
|
|
|
|
});
|