created svgedit main object, moved all namespaces handling in the same place
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2411 eee81c28-f429-11dd-99c0-75d572ba1ddd
This commit is contained in:
@@ -1,19 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script>
|
||||
// Mock for browser.js
|
||||
window.svgedit = {};
|
||||
window.svgEditor = {ready:function(){}};
|
||||
</script>
|
||||
<script type='text/javascript' src='../editor/contextmenu.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script>
|
||||
// Mock for browser.js
|
||||
window.svgEditor = {ready:function(){}};
|
||||
</script>
|
||||
<script src='../editor/contextmenu.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
@@ -22,62 +21,62 @@
|
||||
function tearDown(){
|
||||
svgedit.contextmenu.resetCustomMenus();
|
||||
}
|
||||
|
||||
|
||||
module('svgedit.contextmenu');
|
||||
|
||||
|
||||
test('Test svgedit.contextmenu package', function() {
|
||||
expect(4);
|
||||
|
||||
|
||||
ok(svgedit.contextmenu,"contextmenu registered correctly");
|
||||
ok(svgedit.contextmenu.add,"contextmenu.add registered correctly");
|
||||
ok(svgedit.contextmenu.hasCustomHandler,"contextmenu hasCustomHandler registered correctly");
|
||||
ok(svgedit.contextmenu.getCustomHandler,"contextmenu getCustomHandler registered correctly");
|
||||
});
|
||||
|
||||
|
||||
test('Test svgedit.contextmenu does not add invalid menu item', function() {
|
||||
expect(3);
|
||||
|
||||
|
||||
svgedit.contextmenu.add({id:"justanid"});
|
||||
ok(!svgedit.contextmenu.hasCustomHandler("justanid"),"menu item with just an id is invalid");
|
||||
|
||||
|
||||
svgedit.contextmenu.add({id:"idandlabel",label:"anicelabel"});
|
||||
ok(!svgedit.contextmenu.hasCustomHandler("idandlabel"),"menu item with just an id and label is invalid");
|
||||
|
||||
|
||||
svgedit.contextmenu.add({id:"idandlabel",label:"anicelabel",action:'notafunction'});
|
||||
ok(!svgedit.contextmenu.hasCustomHandler("idandlabel"),"menu item with action that is not a function is invalid");
|
||||
});
|
||||
|
||||
|
||||
test('Test svgedit.contextmenu adds valid menu item', function() {
|
||||
expect(2);
|
||||
|
||||
|
||||
var validItem = {id:"valid",label:"anicelabel",action:function(){alert('testing')}};
|
||||
svgedit.contextmenu.add(validItem);
|
||||
|
||||
|
||||
ok(svgedit.contextmenu.hasCustomHandler("valid"),"Valid menu item is added.");
|
||||
equals(svgedit.contextmenu.getCustomHandler("valid"),validItem.action,"Valid menu action is added.");
|
||||
tearDown();
|
||||
});
|
||||
|
||||
|
||||
test('Test svgedit.contextmenu rejects valid duplicate menu item id', function() {
|
||||
expect(1);
|
||||
|
||||
|
||||
var validItem1 = {id:"valid",label:"anicelabel",action:function(){alert('testing')}};
|
||||
var validItem2 = {id:"valid",label:"anicelabel",action:function(){alert('testingtwice')}};
|
||||
svgedit.contextmenu.add(validItem1);
|
||||
svgedit.contextmenu.add(validItem2);
|
||||
|
||||
|
||||
equals(svgedit.contextmenu.getCustomHandler("valid"),validItem1.action,"duplicate menu item is rejected.");
|
||||
tearDown();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for contextmenu.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='svgroot' style='visibility:hidden'></div>
|
||||
</body>
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for contextmenu.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='svgroot' style='visibility:hidden'></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script type='text/javascript' src='../editor/jquery.js'></script>
|
||||
<script type='text/javascript' src='../editor/browser.js'></script>
|
||||
<script type='text/javascript' src='../editor/svgutils.js'></script>
|
||||
<script type='text/javascript' src='../editor/sanitize.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/svgedit.js'></script>
|
||||
<script src='../editor/browser.js'></script>
|
||||
<script src='../editor/svgutils.js'></script>
|
||||
<script src='../editor/sanitize.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
@@ -16,17 +17,16 @@
|
||||
}
|
||||
};
|
||||
|
||||
var svgns = 'http://www.w3.org/2000/svg';
|
||||
var svg = document.createElementNS(svgns, 'svg');
|
||||
var svg = document.createElementNS(svgedit.NS.SVG, 'svg');
|
||||
|
||||
// TODO: Since recalculateDimensions() and surrounding code is
|
||||
// probably the largest, most complicated and strange piece of
|
||||
// code in SVG-edit, we need to write a whole lot of unit tests
|
||||
// for it here.
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for svgedit.coords</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
@@ -34,5 +34,5 @@
|
||||
</ol>
|
||||
<div id='anchor' style='visibility:hidden'>
|
||||
</div>
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,73 +1,71 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script type='text/javascript' src='../editor/jquery.js'></script>
|
||||
<script type='text/javascript' src='../editor/browser.js'></script>
|
||||
<script type='text/javascript' src='../editor/svgutils.js'></script>
|
||||
<script type='text/javascript' src='../editor/draw.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/svgedit.js'></script>
|
||||
<script src='../editor/browser.js'></script>
|
||||
<script src='../editor/svgutils.js'></script>
|
||||
<script src='../editor/draw.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
};
|
||||
|
||||
var SVGNS = 'http://www.w3.org/2000/svg';
|
||||
var SENS = "http://svg-edit.googlecode.com";
|
||||
var XMLNSNS = "http://www.w3.org/2000/xmlns/";
|
||||
var NS = svgedit.NS;
|
||||
var NONCE = 'foo';
|
||||
var LAYER1 = 'Layer 1';
|
||||
var LAYER2 = 'Layer 2';
|
||||
var LAYER3 = 'Layer 3';
|
||||
|
||||
var svg = document.createElementNS(SVGNS, 'svg');
|
||||
var svg = document.createElementNS(NS.SVG, 'svg');
|
||||
|
||||
// Set up <svg> with nonce.
|
||||
var svg_n = document.createElementNS(SVGNS, 'svg');
|
||||
svg_n.setAttributeNS(XMLNSNS, 'xmlns:se', SENS);
|
||||
svg_n.setAttributeNS(SENS, 'se:nonce', NONCE);
|
||||
var svg_n = document.createElementNS(NS.SVG, 'svg');
|
||||
svg_n.setAttributeNS(NS.XMLNS, 'xmlns:se', NS.SE);
|
||||
svg_n.setAttributeNS(NS.SE, 'se:nonce', NONCE);
|
||||
|
||||
var setupSvgWith3Layers = function(svgElem) {
|
||||
var layer1 = document.createElementNS(SVGNS, 'g');
|
||||
var layer1_title = document.createElementNS(SVGNS, 'title');
|
||||
var layer1 = document.createElementNS(NS.SVG, 'g');
|
||||
var layer1_title = document.createElementNS(NS.SVG, 'title');
|
||||
layer1_title.appendChild(document.createTextNode(LAYER1));
|
||||
layer1.appendChild(layer1_title);
|
||||
svgElem.appendChild(layer1);
|
||||
|
||||
var layer2 = document.createElementNS(SVGNS, 'g');
|
||||
var layer2_title = document.createElementNS(SVGNS, 'title');
|
||||
var layer2 = document.createElementNS(NS.SVG, 'g');
|
||||
var layer2_title = document.createElementNS(NS.SVG, 'title');
|
||||
layer2_title.appendChild(document.createTextNode(LAYER2));
|
||||
layer2.appendChild(layer2_title);
|
||||
svgElem.appendChild(layer2);
|
||||
|
||||
var layer3 = document.createElementNS(SVGNS, 'g');
|
||||
var layer3_title = document.createElementNS(SVGNS, 'title');
|
||||
var layer3 = document.createElementNS(NS.SVG, 'g');
|
||||
var layer3_title = document.createElementNS(NS.SVG, 'title');
|
||||
layer3_title.appendChild(document.createTextNode(LAYER3));
|
||||
layer3.appendChild(layer3_title);
|
||||
svgElem.appendChild(layer3);
|
||||
};
|
||||
|
||||
|
||||
var cleanupSvg = function(svgElem) {
|
||||
while(svgElem.firstChild) {svgElem.removeChild(svgElem.firstChild);}
|
||||
};
|
||||
|
||||
test('Test draw module', function() {
|
||||
expect(4);
|
||||
|
||||
|
||||
ok(svgedit.draw);
|
||||
equals(typeof svgedit.draw, typeof {});
|
||||
|
||||
ok(svgedit.draw.Drawing);
|
||||
equals(typeof svgedit.draw.Drawing, typeof function(){});
|
||||
});
|
||||
|
||||
|
||||
test('Test document creation', function() {
|
||||
expect(3);
|
||||
|
||||
|
||||
try {
|
||||
var doc = new svgedit.draw.Drawing();
|
||||
ok(false, 'Created drawing without a valid <svg> element');
|
||||
@@ -92,21 +90,21 @@
|
||||
|
||||
doc = new svgedit.draw.Drawing(svg_n);
|
||||
equals(doc.getNonce(), NONCE);
|
||||
equals(doc.getSvgElem().getAttributeNS(SENS, 'nonce'), NONCE);
|
||||
|
||||
equals(doc.getSvgElem().getAttributeNS(NS.SE, 'nonce'), NONCE);
|
||||
|
||||
doc.clearNonce();
|
||||
ok(!doc.getNonce());
|
||||
ok(!doc.getSvgElem().getAttributeNS(SENS, 'se:nonce'));
|
||||
|
||||
ok(!doc.getSvgElem().getAttributeNS(NS.SE, 'se:nonce'));
|
||||
|
||||
doc.setNonce(NONCE);
|
||||
equals(doc.getNonce(), NONCE);
|
||||
equals(doc.getSvgElem().getAttributeNS(SENS, 'nonce'), NONCE);
|
||||
equals(doc.getSvgElem().getAttributeNS(NS.SE, 'nonce'), NONCE);
|
||||
});
|
||||
|
||||
|
||||
test('Test getId() and getNextId() without nonce', function() {
|
||||
expect(7);
|
||||
|
||||
var elem2 = document.createElementNS(SVGNS, 'circle');
|
||||
|
||||
var elem2 = document.createElementNS(NS.SVG, 'circle');
|
||||
elem2.id = 'svg_2';
|
||||
svg.appendChild(elem2);
|
||||
|
||||
@@ -122,7 +120,6 @@
|
||||
|
||||
equals(doc.getNextId(), "svg_4");
|
||||
equals(doc.getId(), "svg_4");
|
||||
|
||||
// clean out svg document
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
@@ -149,10 +146,10 @@
|
||||
|
||||
test('Test getId() and getNextId() with nonce', function() {
|
||||
expect(7);
|
||||
|
||||
|
||||
var prefix = "svg_" + NONCE;
|
||||
|
||||
var elem2 = document.createElementNS(SVGNS, 'circle');
|
||||
var elem2 = document.createElementNS(NS.SVG, 'circle');
|
||||
elem2.id = prefix+'_2';
|
||||
svg_n.appendChild(elem2);
|
||||
|
||||
@@ -192,7 +189,7 @@
|
||||
|
||||
cleanupSvg(svg_n);
|
||||
});
|
||||
|
||||
|
||||
test('Test releaseId()', function() {
|
||||
expect(6);
|
||||
|
||||
@@ -205,14 +202,14 @@
|
||||
ok(result);
|
||||
equals(doc.getNextId(), firstId);
|
||||
equals(doc.getNextId(), "svg_3");
|
||||
|
||||
|
||||
ok(!doc.releaseId("bad-id"));
|
||||
ok(doc.releaseId(firstId));
|
||||
ok(!doc.releaseId(firstId));
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
|
||||
test('Test getNumLayers', function() {
|
||||
expect(3);
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
@@ -221,7 +218,7 @@
|
||||
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
equals(drawing.getNumLayers(), 3);
|
||||
|
||||
cleanupSvg(svg);
|
||||
@@ -233,7 +230,7 @@
|
||||
setupSvgWith3Layers(svg);
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
equals(typeof drawing.hasLayer, typeof function() {});
|
||||
ok(!drawing.hasLayer('invalid-layer'));
|
||||
|
||||
@@ -243,12 +240,11 @@
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
|
||||
test('Test identifyLayers() with empty document', function() {
|
||||
expect(9);
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
|
||||
// By default, an empty document gets an empty group created.
|
||||
drawing.identifyLayers();
|
||||
|
||||
@@ -269,17 +265,17 @@
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
|
||||
test('Test identifyLayers() with some layers', function() {
|
||||
expect(5);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
|
||||
equals(svg.childNodes.length, 3);
|
||||
|
||||
|
||||
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));
|
||||
@@ -290,19 +286,19 @@
|
||||
|
||||
test('Test identifyLayers() with some layers and orphans', function() {
|
||||
expect(10);
|
||||
|
||||
|
||||
setupSvgWith3Layers(svg);
|
||||
|
||||
var orphan1 = document.createElementNS(SVGNS, 'rect');
|
||||
var orphan2 = document.createElementNS(SVGNS, 'rect');
|
||||
var orphan1 = document.createElementNS(NS.SVG, 'rect');
|
||||
var orphan2 = document.createElementNS(NS.SVG, 'rect');
|
||||
svg.appendChild(orphan1);
|
||||
svg.appendChild(orphan2);
|
||||
|
||||
|
||||
equals(svg.childNodes.length, 5);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
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));
|
||||
@@ -320,12 +316,12 @@
|
||||
|
||||
test('Test getLayerName()', function() {
|
||||
expect(4);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
equals(drawing.getNumLayers(), 3);
|
||||
equals(drawing.getLayerName(0), LAYER1);
|
||||
equals(drawing.getLayerName(1), LAYER2);
|
||||
@@ -336,7 +332,7 @@
|
||||
|
||||
test('Test getCurrentLayer()', function() {
|
||||
expect(4);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
@@ -349,14 +345,14 @@
|
||||
|
||||
test('Test setCurrentLayer() and getCurrentLayerName()', function() {
|
||||
expect(6);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
ok(drawing.setCurrentLayer);
|
||||
equals(typeof drawing.setCurrentLayer, typeof function(){});
|
||||
|
||||
|
||||
drawing.setCurrentLayer(LAYER2);
|
||||
equals(drawing.getCurrentLayerName(LAYER2), LAYER2);
|
||||
equals(drawing.getCurrentLayer(), drawing.all_layers[1][1]);
|
||||
@@ -367,50 +363,50 @@
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
|
||||
test('Test createLayer()', function() {
|
||||
expect(6);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
ok(drawing.createLayer);
|
||||
equals(typeof drawing.createLayer, typeof function(){});
|
||||
|
||||
|
||||
var NEW_LAYER_NAME = 'Layer A';
|
||||
var layer_g = drawing.createLayer(NEW_LAYER_NAME);
|
||||
equals(4, drawing.getNumLayers());
|
||||
equals(layer_g, drawing.getCurrentLayer());
|
||||
equals(NEW_LAYER_NAME, drawing.getCurrentLayerName());
|
||||
equals(NEW_LAYER_NAME, drawing.getLayerName(3));
|
||||
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
|
||||
test('Test getLayerVisibility()', function() {
|
||||
expect(5);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
ok(drawing.getLayerVisibility);
|
||||
equals(typeof drawing.getLayerVisibility, typeof function(){});
|
||||
ok(drawing.getLayerVisibility(LAYER1));
|
||||
ok(drawing.getLayerVisibility(LAYER2));
|
||||
ok(drawing.getLayerVisibility(LAYER3));
|
||||
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
test('Test setLayerVisibility()', function() {
|
||||
expect(6);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
ok(drawing.setLayerVisibility);
|
||||
equals(typeof drawing.setLayerVisibility, typeof function(){});
|
||||
|
||||
@@ -421,36 +417,36 @@
|
||||
ok(!drawing.getLayerVisibility(LAYER1));
|
||||
ok(drawing.getLayerVisibility(LAYER2));
|
||||
ok(!drawing.getLayerVisibility(LAYER3));
|
||||
|
||||
|
||||
drawing.setLayerVisibility(LAYER3, 'test-string');
|
||||
ok(!drawing.getLayerVisibility(LAYER3));
|
||||
|
||||
ok(!drawing.getLayerVisibility(LAYER3));
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
test('Test getLayerOpacity()', function() {
|
||||
expect(5);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
ok(drawing.getLayerOpacity);
|
||||
equals(typeof drawing.getLayerOpacity, typeof function(){});
|
||||
ok(drawing.getLayerOpacity(LAYER1) == 1.0);
|
||||
ok(drawing.getLayerOpacity(LAYER2) == 1.0);
|
||||
ok(drawing.getLayerOpacity(LAYER3) == 1.0);
|
||||
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
test('Test setLayerOpacity()', function() {
|
||||
expect(6);
|
||||
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
ok(drawing.setLayerOpacity);
|
||||
equals(typeof drawing.setLayerOpacity, typeof function(){});
|
||||
|
||||
@@ -465,30 +461,30 @@
|
||||
|
||||
drawing.setLayerOpacity(LAYER3, 100);
|
||||
ok(drawing.getLayerOpacity(LAYER3) == 1.0);
|
||||
|
||||
|
||||
cleanupSvg(svg);
|
||||
});
|
||||
|
||||
|
||||
test('Test deleteCurrentLayer()', function() {
|
||||
expect(6);
|
||||
|
||||
var drawing = new svgedit.draw.Drawing(svg);
|
||||
setupSvgWith3Layers(svg);
|
||||
drawing.identifyLayers();
|
||||
|
||||
|
||||
drawing.setCurrentLayer(LAYER2);
|
||||
|
||||
var curLayer = drawing.getCurrentLayer();
|
||||
equals(curLayer, drawing.all_layers[1][1]);
|
||||
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]);
|
||||
});
|
||||
|
||||
|
||||
test('Test svgedit.draw.randomizeIds()', function() {
|
||||
expect(9);
|
||||
|
||||
@@ -496,7 +492,7 @@
|
||||
// if there is a nonce.
|
||||
var drawing = new svgedit.draw.Drawing(svg_n.cloneNode(true));
|
||||
ok(!!drawing.getNonce());
|
||||
|
||||
|
||||
drawing = new svgedit.draw.Drawing(svg.cloneNode(true));
|
||||
ok(!drawing.getNonce());
|
||||
|
||||
@@ -515,25 +511,25 @@
|
||||
// but that their se:nonce attribute is left alone.
|
||||
svgedit.draw.randomizeIds(false, drawing);
|
||||
ok(!drawing.getNonce());
|
||||
ok(!!drawing.getSvgElem().getAttributeNS(SENS, 'nonce'));
|
||||
ok(!!drawing.getSvgElem().getAttributeNS(NS.SE, 'nonce'));
|
||||
|
||||
drawing = new svgedit.draw.Drawing(svg.cloneNode(true));
|
||||
ok(!drawing.getNonce());
|
||||
|
||||
|
||||
drawing = new svgedit.draw.Drawing(svg_n.cloneNode(true));
|
||||
ok(!drawing.getNonce());
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for draw.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='anchor' style='visibility:hidden'>
|
||||
</div>
|
||||
</body>
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for draw.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='anchor' style='visibility:hidden'>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script type='text/javascript' src='../editor/history.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/history.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// TODO(codedread): Write tests for handling history events.
|
||||
|
||||
// Mocked out methods.
|
||||
@@ -17,15 +17,15 @@
|
||||
svgedit.utilities.setHref = function(elem, val) {};
|
||||
svgedit.utilities.getRotationAngle = function(elem) { return 0; };
|
||||
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
};
|
||||
|
||||
var svgns = 'http://www.w3.org/2000/svg';
|
||||
var svg = document.createElementNS(svgns, 'svg');
|
||||
var NS = svgedit.NS;
|
||||
var svg = document.createElementNS(NS.SVG, 'svg');
|
||||
var undoMgr = null;
|
||||
var divparent = document.getElementById('divparent');
|
||||
var div1 = document.getElementById('div1');
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
test('Test svgedit.history package', function() {
|
||||
expect(13);
|
||||
|
||||
|
||||
ok(svgedit.history);
|
||||
ok(svgedit.history.MoveElementCommand);
|
||||
ok(svgedit.history.InsertElementCommand);
|
||||
@@ -69,11 +69,11 @@
|
||||
equals(typeof svgedit.history.BatchCommand, typeof function(){});
|
||||
equals(typeof svgedit.history.UndoManager, typeof function(){});
|
||||
});
|
||||
|
||||
|
||||
test('Test UndoManager methods', function() {
|
||||
expect(14);
|
||||
setUp();
|
||||
|
||||
|
||||
ok(undoMgr);
|
||||
ok(undoMgr.addCommandToHistory);
|
||||
ok(undoMgr.getUndoStackSize);
|
||||
@@ -89,13 +89,13 @@
|
||||
equals(typeof undoMgr.resetUndoStack, typeof function(){});
|
||||
equals(typeof undoMgr.getNextUndoCommandText, typeof function(){});
|
||||
equals(typeof undoMgr.getNextRedoCommandText, typeof function(){});
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
|
||||
test('Test UndoManager.addCommandToHistory() function', function() {
|
||||
expect(3);
|
||||
|
||||
|
||||
setUp();
|
||||
|
||||
equals(undoMgr.getUndoStackSize(), 0);
|
||||
@@ -106,10 +106,10 @@
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
|
||||
test('Test UndoManager.getUndoStackSize() and getRedoStackSize() functions', function() {
|
||||
expect(18);
|
||||
|
||||
|
||||
setUp();
|
||||
|
||||
undoMgr.addCommandToHistory(new MockCommand());
|
||||
@@ -118,7 +118,7 @@
|
||||
|
||||
equals(undoMgr.getUndoStackSize(), 3);
|
||||
equals(undoMgr.getRedoStackSize(), 0);
|
||||
|
||||
|
||||
undoMgr.undo();
|
||||
equals(undoMgr.getUndoStackSize(), 2);
|
||||
equals(undoMgr.getRedoStackSize(), 1);
|
||||
@@ -150,28 +150,28 @@
|
||||
undoMgr.redo();
|
||||
equals(undoMgr.getUndoStackSize(), 3);
|
||||
equals(undoMgr.getRedoStackSize(), 0);
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
|
||||
test('Test UndoManager.resetUndoStackSize() function', function() {
|
||||
expect(4);
|
||||
|
||||
|
||||
setUp();
|
||||
|
||||
undoMgr.addCommandToHistory(new MockCommand());
|
||||
undoMgr.addCommandToHistory(new MockCommand());
|
||||
undoMgr.addCommandToHistory(new MockCommand());
|
||||
undoMgr.undo();
|
||||
|
||||
|
||||
equals(undoMgr.getUndoStackSize(), 2);
|
||||
equals(undoMgr.getRedoStackSize(), 1);
|
||||
|
||||
|
||||
undoMgr.resetUndoStack();
|
||||
|
||||
equals(undoMgr.getUndoStackSize(), 0);
|
||||
equals(undoMgr.getRedoStackSize(), 0);
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
@@ -277,7 +277,7 @@
|
||||
undoMgr.undo();
|
||||
undoMgr.undo();
|
||||
equals(lastCalled, 'cmd2.unapply');
|
||||
|
||||
|
||||
undoMgr.undo();
|
||||
equals(lastCalled, 'cmd1.unapply');
|
||||
lastCalled = null;
|
||||
@@ -287,7 +287,7 @@
|
||||
|
||||
undoMgr.redo();
|
||||
equals(lastCalled, 'cmd1.apply');
|
||||
|
||||
|
||||
undoMgr.redo();
|
||||
equals(lastCalled, 'cmd2.apply');
|
||||
|
||||
@@ -480,7 +480,7 @@
|
||||
ok(!div1.textContent);
|
||||
|
||||
// TODO(codedread): Refactor this #href stuff in history.js and svgcanvas.js
|
||||
var rect = document.createElementNS(svgns, 'rect');
|
||||
var rect = document.createElementNS(NS.SVG, 'rect');
|
||||
var justCalled = null;
|
||||
var gethrefvalue = null;
|
||||
var sethrefvalue = null;
|
||||
@@ -510,10 +510,10 @@
|
||||
change.apply();
|
||||
equals(justCalled, 'setHref');
|
||||
|
||||
var line = document.createElementNS(svgns,'line');
|
||||
var line = document.createElementNS(NS.SVG,'line');
|
||||
line.setAttributeNS(null, 'class', 'newClass');
|
||||
change = new svgedit.history.ChangeElementCommand(line,{class:'oldClass'});
|
||||
|
||||
|
||||
ok(change.unapply);
|
||||
ok(change.apply);
|
||||
equals(typeof change.unapply, typeof function(){});
|
||||
@@ -524,7 +524,7 @@
|
||||
|
||||
change.apply();
|
||||
equals(line.getAttributeNS(null, 'class'), 'newClass');
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
@@ -568,24 +568,22 @@
|
||||
tearDown();
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for history.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='divparent' style='visibility:hidden'>
|
||||
<div id='div1'></div>
|
||||
<div id='div2'></div>
|
||||
<div id='div3'></div>
|
||||
</div>
|
||||
<div id='div4' style='visibility:hidden'>
|
||||
<div id='div5'></div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for history.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='divparent' style='visibility:hidden'>
|
||||
<div id='div1'></div>
|
||||
<div id='div2'></div>
|
||||
<div id='div3'></div>
|
||||
</div>
|
||||
<div id='div4' style='visibility:hidden'>
|
||||
<div id='div5'></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script type='text/javascript' src='../editor/math.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
<script src='../editor/svgedit.js'></script>
|
||||
<script src='../editor/math.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
@@ -14,8 +15,7 @@ $(function() {
|
||||
}
|
||||
};
|
||||
|
||||
var svgns = 'http://www.w3.org/2000/svg';
|
||||
var svg = document.createElementNS(svgns, 'svg');
|
||||
var svg = document.createElementNS(svgedit.NS.SVG, 'svg');
|
||||
|
||||
module('svgedit.math');
|
||||
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script type='text/javascript' src='../editor/jquery.js'></script>
|
||||
<script type='text/javascript' src='../editor/path.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/path.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
};
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for path.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
@@ -25,5 +24,5 @@
|
||||
</ol>
|
||||
<div id='anchor' style='visibility:hidden'>
|
||||
</div>
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script type='text/javascript' src='../editor/jquery.js'></script>
|
||||
<script type='text/javascript' src='../editor/browser.js'></script>
|
||||
<script type='text/javascript' src='../editor/svgutils.js'></script>
|
||||
<script type='text/javascript' src='../editor/sanitize.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
// log function
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/svgedit.js'></script>
|
||||
<script src='../editor/browser.js'></script>
|
||||
<script src='../editor/svgutils.js'></script>
|
||||
<script src='../editor/sanitize.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
};
|
||||
|
||||
var svgns = 'http://www.w3.org/2000/svg';
|
||||
var svg = document.createElementNS(svgns, 'svg');
|
||||
|
||||
var svg = document.createElementNS(svgedit.NS.SVG, 'svg');
|
||||
|
||||
test('Test sanitizeSvg() strips ws from style attr', function() {
|
||||
expect(2);
|
||||
|
||||
var rect = document.createElementNS(svgns, 'rect');
|
||||
var rect = document.createElementNS(svgedit.NS.SVG, 'rect');
|
||||
rect.setAttribute('style', 'stroke: blue ; stroke-width : 40;');
|
||||
// sanitizeSvg() requires the node to have a parent and a document.
|
||||
svg.appendChild(rect);
|
||||
@@ -34,8 +34,8 @@
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for sanitize.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
@@ -43,5 +43,5 @@
|
||||
</ol>
|
||||
<div id='anchor' style='visibility:hidden'>
|
||||
</div>
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script type='text/javascript' src='../editor/browser.js'></script>
|
||||
<script type='text/javascript' src='../editor/math.js'></script>
|
||||
<script type='text/javascript' src='../editor/svgutils.js'></script>
|
||||
<script type='text/javascript' src='../editor/select.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/svgedit.js'></script>
|
||||
<script src='../editor/browser.js'></script>
|
||||
<script src='../editor/math.js'></script>
|
||||
<script src='../editor/svgutils.js'></script>
|
||||
<script src='../editor/select.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
@@ -19,7 +20,6 @@
|
||||
|
||||
module('svgedit.select');
|
||||
|
||||
var svgns = 'http://www.w3.org/2000/svg';
|
||||
var sandbox = document.getElementById('sandbox');
|
||||
var svgroot;
|
||||
var svgcontent;
|
||||
@@ -29,7 +29,7 @@
|
||||
};
|
||||
var mockFactory = {
|
||||
createSVGElement: function(jsonMap) {
|
||||
var elem = document.createElementNS(svgns, jsonMap['element']);
|
||||
var elem = document.createElementNS(svgedit.NS.SVG, jsonMap['element']);
|
||||
for (var attr in jsonMap['attr']) {
|
||||
elem.setAttribute(attr, jsonMap['attr'][attr]);
|
||||
}
|
||||
@@ -39,7 +39,7 @@
|
||||
svgContent: function() { return svgcontent; }
|
||||
};
|
||||
|
||||
function setUp() {
|
||||
function setUp() {
|
||||
svgroot = mockFactory.createSVGElement({
|
||||
'element': 'svg',
|
||||
'attr': {'id': 'svgroot'}
|
||||
@@ -138,15 +138,15 @@
|
||||
tearDown();
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for select.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='sandbox'></div>
|
||||
</body>
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for select.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='sandbox'></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,39 +1,38 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script>
|
||||
// Mock for browser.js
|
||||
window.svgedit = {};
|
||||
svgedit.browser = {};
|
||||
svgedit.browser.supportsNativeTransformLists = function() { return false;}
|
||||
</script>
|
||||
<script type='text/javascript' src='../editor/svgtransformlist.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/svgedit.js'></script>
|
||||
<script>
|
||||
// Mock for browser.js
|
||||
svgedit.browser = {};
|
||||
svgedit.browser.supportsNativeTransformLists = function() { return false;}
|
||||
</script>
|
||||
<script src='../editor/svgtransformlist.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
};
|
||||
|
||||
var svgns = 'http://www.w3.org/2000/svg';
|
||||
var NS = svgedit.NS;
|
||||
var svgroot = document.getElementById('svgroot');
|
||||
var svgcontent, rect, circle;
|
||||
|
||||
|
||||
var NEAR_ZERO = 5e-6; // 0.000005, Firefox fails at higher levels of precision.
|
||||
function almostEquals(a, b, msg) {
|
||||
msg = msg || (a + ' did not equal ' + b);
|
||||
ok(Math.abs(a - b) < NEAR_ZERO, msg);
|
||||
}
|
||||
|
||||
|
||||
function checkOutOfBoundsException(obj, fn, arg1) {
|
||||
var caughtException = false;
|
||||
try {
|
||||
obj[fn](arg1);
|
||||
obj[fn](arg1);
|
||||
}
|
||||
catch(e) {
|
||||
if (e.code == 1) {
|
||||
@@ -44,13 +43,13 @@
|
||||
}
|
||||
|
||||
function setUp() {
|
||||
svgcontent = svgroot.appendChild(document.createElementNS(svgns, 'svg'));
|
||||
rect = svgcontent.appendChild(document.createElementNS(svgns, 'rect'));
|
||||
svgcontent = svgroot.appendChild(document.createElementNS(NS.SVG, 'svg'));
|
||||
rect = svgcontent.appendChild(document.createElementNS(NS.SVG, 'rect'));
|
||||
rect.id = 'r';
|
||||
circle = svgcontent.appendChild(document.createElementNS(svgns, 'circle'));
|
||||
circle = svgcontent.appendChild(document.createElementNS(NS.SVG, 'circle'));
|
||||
circle.id = 'c';
|
||||
}
|
||||
|
||||
|
||||
function tearDown() {
|
||||
svgedit.transformlist.resetListMap();
|
||||
while (svgroot.hasChildNodes()) {
|
||||
@@ -62,7 +61,7 @@
|
||||
|
||||
test('Test svgedit.transformlist package', function() {
|
||||
expect(2);
|
||||
|
||||
|
||||
ok(svgedit.transformlist);
|
||||
ok(svgedit.transformlist.getTransformList);
|
||||
});
|
||||
@@ -70,37 +69,37 @@
|
||||
test('Test svgedit.transformlist.getTransformList() function', function() {
|
||||
expect(4);
|
||||
setUp();
|
||||
|
||||
|
||||
var rxform = svgedit.transformlist.getTransformList(rect);
|
||||
var cxform = svgedit.transformlist.getTransformList(circle);
|
||||
|
||||
|
||||
ok(rxform);
|
||||
ok(cxform);
|
||||
equals(typeof rxform, typeof {});
|
||||
equals(typeof cxform, typeof {});
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
test('Test SVGTransformList.numberOfItems property', function() {
|
||||
expect(2);
|
||||
setUp();
|
||||
|
||||
|
||||
var rxform = svgedit.transformlist.getTransformList(rect);
|
||||
|
||||
|
||||
equals(typeof rxform.numberOfItems, typeof 0);
|
||||
equals(rxform.numberOfItems, 0);
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
test('Test SVGTransformList.initialize()', function() {
|
||||
expect(6);
|
||||
setUp();
|
||||
|
||||
|
||||
var rxform = svgedit.transformlist.getTransformList(rect);
|
||||
var cxform = svgedit.transformlist.getTransformList(circle);
|
||||
|
||||
|
||||
var t = svgcontent.createSVGTransform();
|
||||
ok(t);
|
||||
ok(rxform.initialize);
|
||||
@@ -115,21 +114,21 @@
|
||||
// This also fails in Firefox native.
|
||||
// equals(rxform.numberOfItems, 0, 'Did not remove transform from list before initializing another transformlist');
|
||||
equals(cxform.numberOfItems, 1);
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
test('Test SVGTransformList.appendItem() and getItem()', function() {
|
||||
expect(12);
|
||||
setUp();
|
||||
|
||||
|
||||
var rxform = svgedit.transformlist.getTransformList(rect);
|
||||
var cxform = svgedit.transformlist.getTransformList(circle);
|
||||
|
||||
|
||||
var t1 = svgcontent.createSVGTransform(),
|
||||
t2 = svgcontent.createSVGTransform(),
|
||||
t3 = svgcontent.createSVGTransform();
|
||||
|
||||
|
||||
ok(rxform.appendItem);
|
||||
ok(rxform.getItem);
|
||||
equals(typeof rxform.appendItem, typeof function(){});
|
||||
@@ -138,7 +137,7 @@
|
||||
rxform.appendItem(t1);
|
||||
rxform.appendItem(t2);
|
||||
rxform.appendItem(t3);
|
||||
|
||||
|
||||
equals(rxform.numberOfItems, 3);
|
||||
var rxf = rxform.getItem(0);
|
||||
equals(rxf, t1);
|
||||
@@ -147,7 +146,6 @@
|
||||
|
||||
checkOutOfBoundsException(rxform, 'getItem', -1);
|
||||
checkOutOfBoundsException(rxform, 'getItem', 3);
|
||||
|
||||
cxform.appendItem(t1);
|
||||
// These also fail in Firefox native.
|
||||
// equals(rxform.numberOfItems, 2, 'Did not remove a transform from a list before appending it to a new transformlist');
|
||||
@@ -156,52 +154,51 @@
|
||||
|
||||
equals(cxform.numberOfItems, 1);
|
||||
equals(cxform.getItem(0), t1);
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
test('Test SVGTransformList.removeItem()', function() {
|
||||
expect(7);
|
||||
setUp();
|
||||
|
||||
|
||||
var rxform = svgedit.transformlist.getTransformList(rect);
|
||||
|
||||
|
||||
var t1 = svgcontent.createSVGTransform(),
|
||||
t2 = svgcontent.createSVGTransform();
|
||||
ok(rxform.removeItem);
|
||||
equals(typeof rxform.removeItem, typeof function(){});
|
||||
rxform.appendItem(t1);
|
||||
rxform.appendItem(t2);
|
||||
|
||||
|
||||
var removedTransform = rxform.removeItem(0);
|
||||
equals(rxform.numberOfItems, 1);
|
||||
equals(removedTransform, t1);
|
||||
equals(rxform.getItem(0), t2);
|
||||
|
||||
|
||||
checkOutOfBoundsException(rxform, 'removeItem', -1);
|
||||
checkOutOfBoundsException(rxform, 'removeItem', 1);
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
test('Test SVGTransformList.replaceItem()', function() {
|
||||
expect(8);
|
||||
setUp();
|
||||
|
||||
|
||||
var rxform = svgedit.transformlist.getTransformList(rect);
|
||||
var cxform = svgedit.transformlist.getTransformList(circle);
|
||||
|
||||
|
||||
ok(rxform.replaceItem);
|
||||
equals(typeof rxform.replaceItem, typeof function(){});
|
||||
|
||||
var t1 = svgcontent.createSVGTransform(),
|
||||
t2 = svgcontent.createSVGTransform(),
|
||||
t3 = svgcontent.createSVGTransform();
|
||||
|
||||
|
||||
rxform.appendItem(t1);
|
||||
rxform.appendItem(t2);
|
||||
cxform.appendItem(t3);
|
||||
|
||||
|
||||
var newItem = rxform.replaceItem(t3, 0);
|
||||
equals(rxform.numberOfItems, 2);
|
||||
equals(newItem, t3);
|
||||
@@ -209,7 +206,7 @@
|
||||
equals(rxform.getItem(1), t2);
|
||||
// Fails in Firefox native
|
||||
// equals(cxform.numberOfItems, 0);
|
||||
|
||||
|
||||
// test replaceItem within a list
|
||||
rxform.appendItem(t1);
|
||||
rxform.replaceItem(t1, 0);
|
||||
@@ -217,28 +214,28 @@
|
||||
// equals(rxform.numberOfItems, 2);
|
||||
equals(rxform.getItem(0), t1);
|
||||
equals(rxform.getItem(1), t2);
|
||||
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
test('Test SVGTransformList.insertItemBefore()', function() {
|
||||
expect(10);
|
||||
setUp();
|
||||
|
||||
|
||||
var rxform = svgedit.transformlist.getTransformList(rect);
|
||||
var cxform = svgedit.transformlist.getTransformList(circle);
|
||||
|
||||
|
||||
ok(rxform.insertItemBefore);
|
||||
equals(typeof rxform.insertItemBefore, typeof function(){});
|
||||
|
||||
var t1 = svgcontent.createSVGTransform(),
|
||||
t2 = svgcontent.createSVGTransform(),
|
||||
t3 = svgcontent.createSVGTransform();
|
||||
|
||||
|
||||
rxform.appendItem(t1);
|
||||
rxform.appendItem(t2);
|
||||
cxform.appendItem(t3);
|
||||
|
||||
|
||||
var newItem = rxform.insertItemBefore(t3, 0);
|
||||
equals(rxform.numberOfItems, 3);
|
||||
equals(newItem, t3);
|
||||
@@ -373,15 +370,15 @@
|
||||
|
||||
var t_ = svgcontent.createSVGMatrix();
|
||||
t_.e = 100; t_.f = 200;
|
||||
|
||||
|
||||
var result = t_.multiply(r).multiply(t);
|
||||
|
||||
|
||||
almostEquals(m.e, result.e);
|
||||
almostEquals(m.f, result.f);
|
||||
|
||||
tearDown();
|
||||
});
|
||||
|
||||
|
||||
test('Test SVGTransformList.init() for matrix(1, 2, 3, 4, 5, 6)', function() {
|
||||
expect(8);
|
||||
setUp();
|
||||
@@ -404,15 +401,15 @@
|
||||
tearDown();
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for svgtransformlist.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='svgroot' style='visibility:hidden'></div>
|
||||
</body>
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for svgtransformlist.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
<div id='svgroot' style='visibility:hidden'></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<!-- svgutils.js depends on these two... mock out? -->
|
||||
<script type='text/javascript' src='../editor/browser.js'></script>
|
||||
<script type='text/javascript' src='../editor/svgtransformlist.js'></script>
|
||||
<script type='text/javascript' src='../editor/svgutils.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/svgedit.js'></script>
|
||||
<!-- svgutils.js depends on these two... mock out? -->
|
||||
<script src='../editor/browser.js'></script>
|
||||
<script src='../editor/svgtransformlist.js'></script>
|
||||
<script src='../editor/svgutils.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
if (window.console && window.console.log) {
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
};
|
||||
|
||||
var svgns = 'http://www.w3.org/2000/svg';
|
||||
var svg = document.createElementNS(svgns, 'svg');
|
||||
var svg = document.createElementNS(svgedit.NS.SVG, 'svg');
|
||||
|
||||
module('svgedit.utilities');
|
||||
|
||||
test('Test svgedit.utilities package', function() {
|
||||
expect(3);
|
||||
|
||||
|
||||
ok(svgedit.utilities);
|
||||
ok(svgedit.utilities.toXml);
|
||||
equals(typeof svgedit.utilities.toXml, typeof function(){});
|
||||
@@ -33,7 +33,7 @@
|
||||
test('Test svgedit.utilities.toXml() function', function() {
|
||||
expect(6);
|
||||
var toXml = svgedit.utilities.toXml;
|
||||
|
||||
|
||||
equals(toXml('a'), 'a');
|
||||
equals(toXml('ABC_'), 'ABC_');
|
||||
equals(toXml('PB&J'), 'PB&J');
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
test('Test svgedit.utilities.convertToXMLReferences() function', function() {
|
||||
expect(1);
|
||||
|
||||
|
||||
var convert = svgedit.utilities.convertToXMLReferences;
|
||||
equals(convert('ABC'), 'ABC');
|
||||
// equals(convert('ÀBC'), 'ÀBC');
|
||||
@@ -91,7 +91,7 @@
|
||||
rect.y = 2;
|
||||
rect.width = 3;
|
||||
rect.height = 4;
|
||||
|
||||
|
||||
var obj = bboxToObj(rect);
|
||||
equals(typeof obj, typeof {});
|
||||
equals(obj.x, 1);
|
||||
@@ -100,10 +100,9 @@
|
||||
equals(obj.height, 4);
|
||||
});
|
||||
|
||||
|
||||
test("Test getUrlFromAttr", function() {
|
||||
expect(4);
|
||||
|
||||
|
||||
equal(svgedit.utilities.getUrlFromAttr("url(#foo)"), "#foo");
|
||||
equal(svgedit.utilities.getUrlFromAttr("url(somefile.svg#foo)"), "somefile.svg#foo");
|
||||
equal(svgedit.utilities.getUrlFromAttr("url('#foo')"), "#foo");
|
||||
@@ -113,7 +112,7 @@
|
||||
test("Test getPathBBox", function() {
|
||||
if(svgedit.browser.supportsPathBBox()) return;
|
||||
var doc = svgedit.utilities.text2xml('<svg></svg>');
|
||||
var path = doc.createElementNS(svgns, 'path');
|
||||
var path = doc.createElementNS(svgedit.NS.SVG, 'path');
|
||||
path.setAttributeNS(null, 'd', 'm0,0l5,0l0,5l-5,0l0,-5z');
|
||||
var bb = svgedit.utilities.getPathBBox(path);
|
||||
equals(typeof bb, 'object', 'BBox returned object');
|
||||
@@ -121,14 +120,14 @@
|
||||
ok(bb.y && !isNaN(bb.y));
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for svgutils.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
</body>
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id='qunit-header'>Unit Tests for svgutils.js</h1>
|
||||
<h2 id='qunit-banner'></h2>
|
||||
<h2 id='qunit-userAgent'></h2>
|
||||
<ol id='qunit-tests'>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,25 +1,26 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="qunit/qunit.css" type="text/css"/>
|
||||
<script src="../editor/jquery.js"></script>
|
||||
<script type="text/javascript" src="../editor/jquerybbq/jquery.bbq.min.js"></script>
|
||||
<script type="text/javascript" src="../editor/jquery-ui/jquery-ui-1.8.custom.min.js"></script>
|
||||
<script type="text/javascript" src="../editor/svgicons/jquery.svgicons.js"></script>
|
||||
<script type="text/javascript" src="../editor/browser.js"></script>
|
||||
<script type="text/javascript" src="../editor/svgtransformlist.js"></script>
|
||||
<script type="text/javascript" src="../editor/math.js"></script>
|
||||
<script type="text/javascript" src="../editor/units.js"></script>
|
||||
<script type="text/javascript" src="../editor/svgutils.js"></script>
|
||||
<script type="text/javascript" src="../editor/sanitize.js"></script>
|
||||
<script type="text/javascript" src="../editor/history.js"></script>
|
||||
<script type="text/javascript" src="../editor/select.js"></script>
|
||||
<script type="text/javascript" src="../editor/draw.js"></script>
|
||||
<script type="text/javascript" src="../editor/path.js"></script>
|
||||
<script type="text/javascript" src="../editor/svgcanvas.js"></script>
|
||||
<script type="text/javascript" src="../editor/svg-editor.js"></script>
|
||||
<script type="text/javascript" src="../editor/locale/locale.js"></script>
|
||||
<script type="text/javascript" src="qunit/qunit.js"></script>
|
||||
<script type="text/javascript">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="qunit/qunit.css" type="text/css"/>
|
||||
<script src="../editor/jquery.js"></script>
|
||||
<script src="../editor/jquerybbq/jquery.bbq.min.js"></script>
|
||||
<script src="../editor/jquery-ui/jquery-ui-1.8.custom.min.js"></script>
|
||||
<script src="../editor/svgicons/jquery.svgicons.js"></script>
|
||||
<script src="../editor/browser.js"></script>
|
||||
<script src="../editor/svgtransformlist.js"></script>
|
||||
<script src="../editor/math.js"></script>
|
||||
<script src="../editor/units.js"></script>
|
||||
<script src="../editor/svgutils.js"></script>
|
||||
<script src="../editor/sanitize.js"></script>
|
||||
<script src="../editor/history.js"></script>
|
||||
<script src="../editor/select.js"></script>
|
||||
<script src="../editor/draw.js"></script>
|
||||
<script src="../editor/path.js"></script>
|
||||
<script src="../editor/svgcanvas.js"></script>
|
||||
<script src="../editor/svg-editor.js"></script>
|
||||
<script src="../editor/locale/locale.js"></script>
|
||||
<script src="qunit/qunit.js"></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
@@ -27,7 +28,7 @@
|
||||
window.console.log(result +' :: '+ message);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// helper functions
|
||||
var isIdentity = function(m) {
|
||||
return (m.a == 1 && m.b == 0 && m.c == 0 && m.d == 1 && m.e == 0 && m.f == 0);
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
||||
<script type='text/javascript' src='../editor/jquery.js'></script>
|
||||
<script type='text/javascript' src='../editor/units.js'></script>
|
||||
<script type='text/javascript' src='qunit/qunit.js'></script>
|
||||
<script type='text/javascript'>
|
||||
<script src='../editor/jquery.js'></script>
|
||||
<script src='../editor/svgedit.js'></script>
|
||||
<script src='../editor/units.js'></script>
|
||||
<script src='qunit/qunit.js'></script>
|
||||
<script>
|
||||
$(function() {
|
||||
// log function
|
||||
QUnit.log = function(result, message) {
|
||||
|
||||
Reference in New Issue
Block a user