Refactored draw.js to use new Layer class.

This commit is contained in:
Flint O'Brien
2016-04-30 20:58:19 -04:00
parent ebcf3d9c47
commit 575a056bd9
2 changed files with 238 additions and 179 deletions

View File

@@ -258,16 +258,17 @@
ok(drawing.getSvgElem().hasChildNodes());
equals(drawing.getSvgElem().childNodes.length, 1);
// Check that all_layers is correctly set up.
// Check that all_layers are correctly set up.
equals(drawing.getNumLayers(), 1);
var empty_layer = drawing.all_layers[0][1];
var empty_layer = drawing.all_layers[0];
ok(empty_layer);
equals(empty_layer, drawing.getSvgElem().firstChild);
equals(empty_layer.tagName, 'g');
equals(empty_layer.getAttribute('class'), LAYER_CLASS);
ok(empty_layer.hasChildNodes());
equals(empty_layer.childNodes.length, 1);
var firstChild = empty_layer.childNodes.item(0);
var layerGroup = empty_layer.getGroup();
equals(layerGroup, drawing.getSvgElem().firstChild);
equals(layerGroup.tagName, 'g');
equals(layerGroup.getAttribute('class'), LAYER_CLASS);
ok(layerGroup.hasChildNodes());
equals(layerGroup.childNodes.length, 1);
var firstChild = layerGroup.childNodes.item(0);
equals(firstChild.tagName, 'title');
cleanupSvg(svg);
@@ -284,13 +285,13 @@
drawing.identifyLayers();
equals(drawing.getNumLayers(), 3);
equals(drawing.all_layers[0][1], svg.childNodes.item(0));
equals(drawing.all_layers[1][1], svg.childNodes.item(1));
equals(drawing.all_layers[2][1], svg.childNodes.item(2));
equals(drawing.all_layers[0].getGroup(), svg.childNodes.item(0));
equals(drawing.all_layers[1].getGroup(), svg.childNodes.item(1));
equals(drawing.all_layers[2].getGroup(), svg.childNodes.item(2));
equals(drawing.all_layers[0][1].getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[1][1].getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[2][1].getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[0].getGroup().getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[1].getGroup().getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[2].getGroup().getAttribute('class'), LAYER_CLASS);
cleanupSvg(svg);
});
@@ -311,17 +312,17 @@
drawing.identifyLayers();
equals(drawing.getNumLayers(), 4);
equals(drawing.all_layers[0][1], svg.childNodes.item(0));
equals(drawing.all_layers[1][1], svg.childNodes.item(1));
equals(drawing.all_layers[2][1], svg.childNodes.item(2));
equals(drawing.all_layers[3][1], svg.childNodes.item(3));
equals(drawing.all_layers[0].getGroup(), svg.childNodes.item(0));
equals(drawing.all_layers[1].getGroup(), svg.childNodes.item(1));
equals(drawing.all_layers[2].getGroup(), svg.childNodes.item(2));
equals(drawing.all_layers[3].getGroup(), svg.childNodes.item(3));
equals(drawing.all_layers[0][1].getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[1][1].getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[2][1].getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[3][1].getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[0].getGroup().getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[1].getGroup().getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[2].getGroup().getAttribute('class'), LAYER_CLASS);
equals(drawing.all_layers[3].getGroup().getAttribute('class'), LAYER_CLASS);
var layer4 = drawing.all_layers[3][1];
var layer4 = drawing.all_layers[3].getGroup();
equals(layer4.tagName, 'g');
equals(layer4.childNodes.length, 3);
equals(layer4.childNodes.item(1), orphan1);
@@ -356,7 +357,9 @@
ok(drawing.getCurrentLayer);
equals(typeof drawing.getCurrentLayer, typeof function(){});
ok(drawing.getCurrentLayer());
equals(drawing.getCurrentLayer(), drawing.all_layers[2][1]);
equals(drawing.getCurrentLayer(), drawing.all_layers[2].getGroup());
cleanupSvg(svg);
});
test('Test setCurrentLayer() and getCurrentLayerName()', function() {
@@ -371,11 +374,11 @@
drawing.setCurrentLayer(LAYER2);
equals(drawing.getCurrentLayerName(LAYER2), LAYER2);
equals(drawing.getCurrentLayer(), drawing.all_layers[1][1]);
equals(drawing.getCurrentLayer(), drawing.all_layers[1].getGroup());
drawing.setCurrentLayer(LAYER3);
equals(drawing.getCurrentLayerName(LAYER3), LAYER3);
equals(drawing.getCurrentLayer(), drawing.all_layers[2][1]);
equals(drawing.getCurrentLayer(), drawing.all_layers[2].getGroup());
cleanupSvg(svg);
});
@@ -392,7 +395,7 @@
var NEW_LAYER_NAME = 'Layer A';
var layer_g = drawing.createLayer(NEW_LAYER_NAME);
equals(4, drawing.getNumLayers());
equals(drawing.getNumLayers(), 4);
equals(layer_g, drawing.getCurrentLayer());
equals(layer_g.getAttribute('class'), LAYER_CLASS);
equals(NEW_LAYER_NAME, drawing.getCurrentLayerName());
@@ -492,14 +495,14 @@
drawing.setCurrentLayer(LAYER2);
var curLayer = drawing.getCurrentLayer();
equals(curLayer, drawing.all_layers[1][1]);
equals(curLayer, drawing.all_layers[1].getGroup());
var deletedLayer = drawing.deleteCurrentLayer();
equals(curLayer, deletedLayer);
equals(2, drawing.getNumLayers());
equals(LAYER1, drawing.all_layers[0][0]);
equals(LAYER3, drawing.all_layers[1][0]);
equals(drawing.getCurrentLayer(), drawing.all_layers[1][1]);
equals(LAYER1, drawing.all_layers[0].getName());
equals(LAYER3, drawing.all_layers[1].getName());
equals(drawing.getCurrentLayer(), drawing.all_layers[1].getGroup());
});
test('Test svgedit.draw.randomizeIds()', function() {