1 | <!DOCTYPE html>
|
---|
2 | <html>
|
---|
3 | <head>
|
---|
4 | <link rel='stylesheet' href='qunit/qunit.css' type='text/css'/>
|
---|
5 | <script type='text/javascript' src='../editor/lib/jquery.js'></script>
|
---|
6 | <script type='text/javascript' src='../editor/src/browser.js'></script>
|
---|
7 | <script type='text/javascript' src='../editor/src/svgutils.js'></script>
|
---|
8 | <script type='text/javascript' src='../editor/src/draw.js'></script>
|
---|
9 | <script type='text/javascript' src='qunit/qunit.js'></script>
|
---|
10 | <script type='text/javascript'>
|
---|
11 | $(function() {
|
---|
12 | // log function
|
---|
13 | QUnit.log = function(result, message) {
|
---|
14 | if (window.console && window.console.log) {
|
---|
15 | window.console.log(result +' :: '+ message);
|
---|
16 | }
|
---|
17 | };
|
---|
18 |
|
---|
19 | var SVGNS = 'http://www.w3.org/2000/svg';
|
---|
20 | var SENS = "http://svg-edit.googlecode.com";
|
---|
21 | var XMLNSNS = "http://www.w3.org/2000/xmlns/";
|
---|
22 | var NONCE = 'foo';
|
---|
23 | var LAYER1 = 'Layer 1';
|
---|
24 | var LAYER2 = 'Layer 2';
|
---|
25 | var LAYER3 = 'Layer 3';
|
---|
26 |
|
---|
27 | var svg = document.createElementNS(SVGNS, 'svg');
|
---|
28 |
|
---|
29 | // Set up <svg> with nonce.
|
---|
30 | var svg_n = document.createElementNS(SVGNS, 'svg');
|
---|
31 | svg_n.setAttributeNS(XMLNSNS, 'xmlns:se', SENS);
|
---|
32 | svg_n.setAttributeNS(SENS, 'se:nonce', NONCE);
|
---|
33 |
|
---|
34 | var setupSvgWith3Layers = function(svgElem) {
|
---|
35 | var layer1 = document.createElementNS(SVGNS, 'g');
|
---|
36 | var layer1_title = document.createElementNS(SVGNS, 'title');
|
---|
37 | layer1_title.appendChild(document.createTextNode(LAYER1));
|
---|
38 | layer1.appendChild(layer1_title);
|
---|
39 | svgElem.appendChild(layer1);
|
---|
40 |
|
---|
41 | var layer2 = document.createElementNS(SVGNS, 'g');
|
---|
42 | var layer2_title = document.createElementNS(SVGNS, 'title');
|
---|
43 | layer2_title.appendChild(document.createTextNode(LAYER2));
|
---|
44 | layer2.appendChild(layer2_title);
|
---|
45 | svgElem.appendChild(layer2);
|
---|
46 |
|
---|
47 | var layer3 = document.createElementNS(SVGNS, 'g');
|
---|
48 | var layer3_title = document.createElementNS(SVGNS, 'title');
|
---|
49 | layer3_title.appendChild(document.createTextNode(LAYER3));
|
---|
50 | layer3.appendChild(layer3_title);
|
---|
51 | svgElem.appendChild(layer3);
|
---|
52 | };
|
---|
53 |
|
---|
54 | var cleanupSvg = function(svgElem) {
|
---|
55 | while(svgElem.firstChild) {svgElem.removeChild(svgElem.firstChild);}
|
---|
56 | };
|
---|
57 |
|
---|
58 | test('Test draw module', function() {
|
---|
59 | expect(4);
|
---|
60 |
|
---|
61 | ok(svgedit.draw);
|
---|
62 | equals(typeof svgedit.draw, typeof {});
|
---|
63 |
|
---|
64 | ok(svgedit.draw.Drawing);
|
---|
65 | equals(typeof svgedit.draw.Drawing, typeof function(){});
|
---|
66 | });
|
---|
67 |
|
---|
68 | test('Test document creation', function() {
|
---|
69 | expect(3);
|
---|
70 |
|
---|
71 | try {
|
---|
72 | var doc = new svgedit.draw.Drawing();
|
---|
73 | ok(false, 'Created drawing without a valid <svg> element');
|
---|
74 | } catch(e) {
|
---|
75 | ok(true);
|
---|
76 | }
|
---|
77 |
|
---|
78 | try {
|
---|
79 | var doc = new svgedit.draw.Drawing(svg);
|
---|
80 | ok(doc);
|
---|
81 | equals(typeof doc, typeof {});
|
---|
82 | } catch(e) {
|
---|
83 | ok(false, 'Could not create document from valid <svg> element: ' + e)
|
---|
84 | }
|
---|
85 | });
|
---|
86 |
|
---|
87 | test('Test nonce', function() {
|
---|
88 | expect(7);
|
---|
89 |
|
---|
90 | var doc = new svgedit.draw.Drawing(svg);
|
---|
91 | equals(doc.getNonce(), "");
|
---|
92 |
|
---|
93 | doc = new svgedit.draw.Drawing(svg_n);
|
---|
94 | equals(doc.getNonce(), NONCE);
|
---|
95 | equals(doc.getSvgElem().getAttributeNS(SENS, 'nonce'), NONCE);
|
---|
96 |
|
---|
97 | doc.clearNonce();
|
---|
98 | ok(!doc.getNonce());
|
---|
99 | ok(!doc.getSvgElem().getAttributeNS(SENS, 'se:nonce'));
|
---|
100 |
|
---|
101 | doc.setNonce(NONCE);
|
---|
102 | equals(doc.getNonce(), NONCE);
|
---|
103 | equals(doc.getSvgElem().getAttributeNS(SENS, 'nonce'), NONCE);
|
---|
104 | });
|
---|
105 |
|
---|
106 | test('Test getId() and getNextId() without nonce', function() {
|
---|
107 | expect(7);
|
---|
108 |
|
---|
109 | var elem2 = document.createElementNS(SVGNS, 'circle');
|
---|
110 | elem2.id = 'svg_2';
|
---|
111 | svg.appendChild(elem2);
|
---|
112 |
|
---|
113 | var doc = new svgedit.draw.Drawing(svg);
|
---|
114 |
|
---|
115 | equals(doc.getId(), "svg_0");
|
---|
116 |
|
---|
117 | equals(doc.getNextId(), "svg_1");
|
---|
118 | equals(doc.getId(), "svg_1");
|
---|
119 |
|
---|
120 | equals(doc.getNextId(), "svg_3");
|
---|
121 | equals(doc.getId(), "svg_3");
|
---|
122 |
|
---|
123 | equals(doc.getNextId(), "svg_4");
|
---|
124 | equals(doc.getId(), "svg_4");
|
---|
125 |
|
---|
126 | // clean out svg document
|
---|
127 | cleanupSvg(svg);
|
---|
128 | });
|
---|
129 |
|
---|
130 | test('Test getId() and getNextId() with prefix without nonce', function() {
|
---|
131 | expect(7);
|
---|
132 |
|
---|
133 | var prefix = 'Bar-';
|
---|
134 | var doc = new svgedit.draw.Drawing(svg, prefix);
|
---|
135 |
|
---|
136 | equals(doc.getId(), prefix+"0");
|
---|
137 |
|
---|
138 | equals(doc.getNextId(), prefix+"1");
|
---|
139 | equals(doc.getId(), prefix+"1");
|
---|
140 |
|
---|
141 | equals(doc.getNextId(), prefix+"2");
|
---|
142 | equals(doc.getId(), prefix+"2");
|
---|
143 |
|
---|
144 | equals(doc.getNextId(), prefix+"3");
|
---|
145 | equals(doc.getId(), prefix+"3");
|
---|
146 |
|
---|
147 | cleanupSvg(svg);
|
---|
148 | });
|
---|
149 |
|
---|
150 | test('Test getId() and getNextId() with nonce', function() {
|
---|
151 | expect(7);
|
---|
152 |
|
---|
153 | var prefix = "svg_" + NONCE;
|
---|
154 |
|
---|
155 | var elem2 = document.createElementNS(SVGNS, 'circle');
|
---|
156 | elem2.id = prefix+'_2';
|
---|
157 | svg_n.appendChild(elem2);
|
---|
158 |
|
---|
159 | var doc = new svgedit.draw.Drawing(svg_n);
|
---|
160 |
|
---|
161 | equals(doc.getId(), prefix+"_0");
|
---|
162 |
|
---|
163 | equals(doc.getNextId(), prefix+"_1");
|
---|
164 | equals(doc.getId(), prefix+"_1");
|
---|
165 |
|
---|
166 | equals(doc.getNextId(), prefix+"_3");
|
---|
167 | equals(doc.getId(), prefix+"_3");
|
---|
168 |
|
---|
169 | equals(doc.getNextId(), prefix+"_4");
|
---|
170 | equals(doc.getId(), prefix+"_4");
|
---|
171 |
|
---|
172 | cleanupSvg(svg_n);
|
---|
173 | });
|
---|
174 |
|
---|
175 | test('Test getId() and getNextId() with prefix with nonce', function() {
|
---|
176 | expect(7);
|
---|
177 |
|
---|
178 | var PREFIX = 'Bar-';
|
---|
179 | var doc = new svgedit.draw.Drawing(svg_n, PREFIX);
|
---|
180 |
|
---|
181 | var prefix = PREFIX + NONCE + "_";
|
---|
182 | equals(doc.getId(), prefix+"0");
|
---|
183 |
|
---|
184 | equals(doc.getNextId(), prefix+"1");
|
---|
185 | equals(doc.getId(), prefix+"1");
|
---|
186 |
|
---|
187 | equals(doc.getNextId(), prefix+"2");
|
---|
188 | equals(doc.getId(), prefix+"2");
|
---|
189 |
|
---|
190 | equals(doc.getNextId(), prefix+"3");
|
---|
191 | equals(doc.getId(), prefix+"3");
|
---|
192 |
|
---|
193 | cleanupSvg(svg_n);
|
---|
194 | });
|
---|
195 |
|
---|
196 | test('Test releaseId()', function() {
|
---|
197 | expect(6);
|
---|
198 |
|
---|
199 | var doc = new svgedit.draw.Drawing(svg);
|
---|
200 |
|
---|
201 | var firstId = doc.getNextId();
|
---|
202 | var secondId = doc.getNextId();
|
---|
203 |
|
---|
204 | var result = doc.releaseId(firstId);
|
---|
205 | ok(result);
|
---|
206 | equals(doc.getNextId(), firstId);
|
---|
207 | equals(doc.getNextId(), "svg_3");
|
---|
208 |
|
---|
209 | ok(!doc.releaseId("bad-id"));
|
---|
210 | ok(doc.releaseId(firstId));
|
---|
211 | ok(!doc.releaseId(firstId));
|
---|
212 |
|
---|
213 | cleanupSvg(svg);
|
---|
214 | });
|
---|
215 |
|
---|
216 | test('Test getNumLayers', function() {
|
---|
217 | expect(3);
|
---|
218 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
219 | equals(typeof drawing.getNumLayers, typeof function() {});
|
---|
220 | equals(drawing.getNumLayers(), 0);
|
---|
221 |
|
---|
222 | setupSvgWith3Layers(svg);
|
---|
223 | drawing.identifyLayers();
|
---|
224 |
|
---|
225 | equals(drawing.getNumLayers(), 3);
|
---|
226 |
|
---|
227 | cleanupSvg(svg);
|
---|
228 | });
|
---|
229 |
|
---|
230 | test('Test hasLayer', function() {
|
---|
231 | expect(5);
|
---|
232 |
|
---|
233 | setupSvgWith3Layers(svg);
|
---|
234 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
235 | drawing.identifyLayers();
|
---|
236 |
|
---|
237 | equals(typeof drawing.hasLayer, typeof function() {});
|
---|
238 | ok(!drawing.hasLayer('invalid-layer'));
|
---|
239 |
|
---|
240 | ok(drawing.hasLayer(LAYER3));
|
---|
241 | ok(drawing.hasLayer(LAYER2));
|
---|
242 | ok(drawing.hasLayer(LAYER1));
|
---|
243 |
|
---|
244 | cleanupSvg(svg);
|
---|
245 | });
|
---|
246 |
|
---|
247 | test('Test identifyLayers() with empty document', function() {
|
---|
248 | expect(9);
|
---|
249 |
|
---|
250 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
251 |
|
---|
252 | // By default, an empty document gets an empty group created.
|
---|
253 | drawing.identifyLayers();
|
---|
254 |
|
---|
255 | // Check that <svg> element now has one child node
|
---|
256 | ok(drawing.getSvgElem().hasChildNodes());
|
---|
257 | equals(drawing.getSvgElem().childNodes.length, 1);
|
---|
258 |
|
---|
259 | // Check that all_layers is correctly set up.
|
---|
260 | equals(drawing.getNumLayers(), 1);
|
---|
261 | var empty_layer = drawing.all_layers[0][1];
|
---|
262 | ok(empty_layer);
|
---|
263 | equals(empty_layer, drawing.getSvgElem().firstChild);
|
---|
264 | equals(empty_layer.tagName, 'g');
|
---|
265 | ok(empty_layer.hasChildNodes());
|
---|
266 | equals(empty_layer.childNodes.length, 1);
|
---|
267 | var firstChild = empty_layer.childNodes.item(0);
|
---|
268 | equals(firstChild.tagName, 'title');
|
---|
269 |
|
---|
270 | cleanupSvg(svg);
|
---|
271 | });
|
---|
272 |
|
---|
273 | test('Test identifyLayers() with some layers', function() {
|
---|
274 | expect(5);
|
---|
275 |
|
---|
276 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
277 | setupSvgWith3Layers(svg);
|
---|
278 |
|
---|
279 | equals(svg.childNodes.length, 3);
|
---|
280 |
|
---|
281 | drawing.identifyLayers();
|
---|
282 |
|
---|
283 | equals(drawing.getNumLayers(), 3);
|
---|
284 | equals(drawing.all_layers[0][1], svg.childNodes.item(0));
|
---|
285 | equals(drawing.all_layers[1][1], svg.childNodes.item(1));
|
---|
286 | equals(drawing.all_layers[2][1], svg.childNodes.item(2));
|
---|
287 |
|
---|
288 | cleanupSvg(svg);
|
---|
289 | });
|
---|
290 |
|
---|
291 | test('Test identifyLayers() with some layers and orphans', function() {
|
---|
292 | expect(10);
|
---|
293 |
|
---|
294 | setupSvgWith3Layers(svg);
|
---|
295 |
|
---|
296 | var orphan1 = document.createElementNS(SVGNS, 'rect');
|
---|
297 | var orphan2 = document.createElementNS(SVGNS, 'rect');
|
---|
298 | svg.appendChild(orphan1);
|
---|
299 | svg.appendChild(orphan2);
|
---|
300 |
|
---|
301 | equals(svg.childNodes.length, 5);
|
---|
302 |
|
---|
303 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
304 | drawing.identifyLayers();
|
---|
305 |
|
---|
306 | equals(drawing.getNumLayers(), 4);
|
---|
307 | equals(drawing.all_layers[0][1], svg.childNodes.item(0));
|
---|
308 | equals(drawing.all_layers[1][1], svg.childNodes.item(1));
|
---|
309 | equals(drawing.all_layers[2][1], svg.childNodes.item(2));
|
---|
310 | equals(drawing.all_layers[3][1], svg.childNodes.item(3));
|
---|
311 |
|
---|
312 | var layer4 = drawing.all_layers[3][1];
|
---|
313 | equals(layer4.tagName, 'g');
|
---|
314 | equals(layer4.childNodes.length, 3);
|
---|
315 | equals(layer4.childNodes.item(1), orphan1);
|
---|
316 | equals(layer4.childNodes.item(2), orphan2);
|
---|
317 |
|
---|
318 | cleanupSvg(svg);
|
---|
319 | });
|
---|
320 |
|
---|
321 | test('Test getLayerName()', function() {
|
---|
322 | expect(4);
|
---|
323 |
|
---|
324 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
325 | setupSvgWith3Layers(svg);
|
---|
326 |
|
---|
327 | drawing.identifyLayers();
|
---|
328 |
|
---|
329 | equals(drawing.getNumLayers(), 3);
|
---|
330 | equals(drawing.getLayerName(0), LAYER1);
|
---|
331 | equals(drawing.getLayerName(1), LAYER2);
|
---|
332 | equals(drawing.getLayerName(2), LAYER3);
|
---|
333 |
|
---|
334 | cleanupSvg(svg);
|
---|
335 | });
|
---|
336 |
|
---|
337 | test('Test getCurrentLayer()', function() {
|
---|
338 | expect(4);
|
---|
339 |
|
---|
340 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
341 | setupSvgWith3Layers(svg);
|
---|
342 | drawing.identifyLayers();
|
---|
343 |
|
---|
344 | ok(drawing.getCurrentLayer);
|
---|
345 | equals(typeof drawing.getCurrentLayer, typeof function(){});
|
---|
346 | ok(drawing.getCurrentLayer());
|
---|
347 | equals(drawing.getCurrentLayer(), drawing.all_layers[2][1]);
|
---|
348 | });
|
---|
349 |
|
---|
350 | test('Test setCurrentLayer() and getCurrentLayerName()', function() {
|
---|
351 | expect(6);
|
---|
352 |
|
---|
353 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
354 | setupSvgWith3Layers(svg);
|
---|
355 | drawing.identifyLayers();
|
---|
356 |
|
---|
357 | ok(drawing.setCurrentLayer);
|
---|
358 | equals(typeof drawing.setCurrentLayer, typeof function(){});
|
---|
359 |
|
---|
360 | drawing.setCurrentLayer(LAYER2);
|
---|
361 | equals(drawing.getCurrentLayerName(LAYER2), LAYER2);
|
---|
362 | equals(drawing.getCurrentLayer(), drawing.all_layers[1][1]);
|
---|
363 |
|
---|
364 | drawing.setCurrentLayer(LAYER3);
|
---|
365 | equals(drawing.getCurrentLayerName(LAYER3), LAYER3);
|
---|
366 | equals(drawing.getCurrentLayer(), drawing.all_layers[2][1]);
|
---|
367 |
|
---|
368 | cleanupSvg(svg);
|
---|
369 | });
|
---|
370 |
|
---|
371 | test('Test createLayer()', function() {
|
---|
372 | expect(6);
|
---|
373 |
|
---|
374 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
375 | setupSvgWith3Layers(svg);
|
---|
376 | drawing.identifyLayers();
|
---|
377 |
|
---|
378 | ok(drawing.createLayer);
|
---|
379 | equals(typeof drawing.createLayer, typeof function(){});
|
---|
380 |
|
---|
381 | var NEW_LAYER_NAME = 'Layer A';
|
---|
382 | var layer_g = drawing.createLayer(NEW_LAYER_NAME);
|
---|
383 | equals(4, drawing.getNumLayers());
|
---|
384 | equals(layer_g, drawing.getCurrentLayer());
|
---|
385 | equals(NEW_LAYER_NAME, drawing.getCurrentLayerName());
|
---|
386 | equals(NEW_LAYER_NAME, drawing.getLayerName(3));
|
---|
387 |
|
---|
388 | cleanupSvg(svg);
|
---|
389 | });
|
---|
390 |
|
---|
391 | test('Test getLayerVisibility()', function() {
|
---|
392 | expect(5);
|
---|
393 |
|
---|
394 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
395 | setupSvgWith3Layers(svg);
|
---|
396 | drawing.identifyLayers();
|
---|
397 |
|
---|
398 | ok(drawing.getLayerVisibility);
|
---|
399 | equals(typeof drawing.getLayerVisibility, typeof function(){});
|
---|
400 | ok(drawing.getLayerVisibility(LAYER1));
|
---|
401 | ok(drawing.getLayerVisibility(LAYER2));
|
---|
402 | ok(drawing.getLayerVisibility(LAYER3));
|
---|
403 |
|
---|
404 | cleanupSvg(svg);
|
---|
405 | });
|
---|
406 |
|
---|
407 | test('Test setLayerVisibility()', function() {
|
---|
408 | expect(6);
|
---|
409 |
|
---|
410 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
411 | setupSvgWith3Layers(svg);
|
---|
412 | drawing.identifyLayers();
|
---|
413 |
|
---|
414 | ok(drawing.setLayerVisibility);
|
---|
415 | equals(typeof drawing.setLayerVisibility, typeof function(){});
|
---|
416 |
|
---|
417 | drawing.setLayerVisibility(LAYER3, false);
|
---|
418 | drawing.setLayerVisibility(LAYER2, true);
|
---|
419 | drawing.setLayerVisibility(LAYER1, false);
|
---|
420 |
|
---|
421 | ok(!drawing.getLayerVisibility(LAYER1));
|
---|
422 | ok(drawing.getLayerVisibility(LAYER2));
|
---|
423 | ok(!drawing.getLayerVisibility(LAYER3));
|
---|
424 |
|
---|
425 | drawing.setLayerVisibility(LAYER3, 'test-string');
|
---|
426 | ok(!drawing.getLayerVisibility(LAYER3));
|
---|
427 |
|
---|
428 | cleanupSvg(svg);
|
---|
429 | });
|
---|
430 |
|
---|
431 | test('Test getLayerOpacity()', function() {
|
---|
432 | expect(5);
|
---|
433 |
|
---|
434 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
435 | setupSvgWith3Layers(svg);
|
---|
436 | drawing.identifyLayers();
|
---|
437 |
|
---|
438 | ok(drawing.getLayerOpacity);
|
---|
439 | equals(typeof drawing.getLayerOpacity, typeof function(){});
|
---|
440 | ok(drawing.getLayerOpacity(LAYER1) == 1.0);
|
---|
441 | ok(drawing.getLayerOpacity(LAYER2) == 1.0);
|
---|
442 | ok(drawing.getLayerOpacity(LAYER3) == 1.0);
|
---|
443 |
|
---|
444 | cleanupSvg(svg);
|
---|
445 | });
|
---|
446 |
|
---|
447 | test('Test setLayerOpacity()', function() {
|
---|
448 | expect(6);
|
---|
449 |
|
---|
450 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
451 | setupSvgWith3Layers(svg);
|
---|
452 | drawing.identifyLayers();
|
---|
453 |
|
---|
454 | ok(drawing.setLayerOpacity);
|
---|
455 | equals(typeof drawing.setLayerOpacity, typeof function(){});
|
---|
456 |
|
---|
457 | drawing.setLayerOpacity(LAYER1, 0.4);
|
---|
458 | drawing.setLayerOpacity(LAYER2, 'invalid-string');
|
---|
459 | drawing.setLayerOpacity(LAYER3, -1.4);
|
---|
460 |
|
---|
461 | ok(drawing.getLayerOpacity(LAYER1) == 0.4);
|
---|
462 | QUnit.log('layer2 opacity', drawing.getLayerOpacity(LAYER2));
|
---|
463 | ok(drawing.getLayerOpacity(LAYER2) == 1.0);
|
---|
464 | ok(drawing.getLayerOpacity(LAYER3) == 1.0);
|
---|
465 |
|
---|
466 | drawing.setLayerOpacity(LAYER3, 100);
|
---|
467 | ok(drawing.getLayerOpacity(LAYER3) == 1.0);
|
---|
468 |
|
---|
469 | cleanupSvg(svg);
|
---|
470 | });
|
---|
471 |
|
---|
472 | test('Test deleteCurrentLayer()', function() {
|
---|
473 | expect(6);
|
---|
474 |
|
---|
475 | var drawing = new svgedit.draw.Drawing(svg);
|
---|
476 | setupSvgWith3Layers(svg);
|
---|
477 | drawing.identifyLayers();
|
---|
478 |
|
---|
479 | drawing.setCurrentLayer(LAYER2);
|
---|
480 |
|
---|
481 | var curLayer = drawing.getCurrentLayer();
|
---|
482 | equals(curLayer, drawing.all_layers[1][1]);
|
---|
483 | var deletedLayer = drawing.deleteCurrentLayer();
|
---|
484 |
|
---|
485 | equals(curLayer, deletedLayer);
|
---|
486 | equals(2, drawing.getNumLayers());
|
---|
487 | equals(LAYER1, drawing.all_layers[0][0]);
|
---|
488 | equals(LAYER3, drawing.all_layers[1][0]);
|
---|
489 | equals(drawing.getCurrentLayer(), drawing.all_layers[1][1]);
|
---|
490 | });
|
---|
491 |
|
---|
492 | test('Test svgedit.draw.randomizeIds()', function() {
|
---|
493 | expect(9);
|
---|
494 |
|
---|
495 | // Confirm in LET_DOCUMENT_DECIDE mode that the document decides
|
---|
496 | // if there is a nonce.
|
---|
497 | var drawing = new svgedit.draw.Drawing(svg_n.cloneNode(true));
|
---|
498 | ok(!!drawing.getNonce());
|
---|
499 |
|
---|
500 | drawing = new svgedit.draw.Drawing(svg.cloneNode(true));
|
---|
501 | ok(!drawing.getNonce());
|
---|
502 |
|
---|
503 | // Confirm that a nonce is set once we're in ALWAYS_RANDOMIZE mode.
|
---|
504 | svgedit.draw.randomizeIds(true, drawing);
|
---|
505 | ok(!!drawing.getNonce());
|
---|
506 |
|
---|
507 | // Confirm new drawings in ALWAYS_RANDOMIZE mode have a nonce.
|
---|
508 | drawing = new svgedit.draw.Drawing(svg.cloneNode(true));
|
---|
509 | ok(!!drawing.getNonce());
|
---|
510 |
|
---|
511 | drawing.clearNonce();
|
---|
512 | ok(!drawing.getNonce());
|
---|
513 |
|
---|
514 | // Confirm new drawings in NEVER_RANDOMIZE mode do not have a nonce
|
---|
515 | // but that their se:nonce attribute is left alone.
|
---|
516 | svgedit.draw.randomizeIds(false, drawing);
|
---|
517 | ok(!drawing.getNonce());
|
---|
518 | ok(!!drawing.getSvgElem().getAttributeNS(SENS, 'nonce'));
|
---|
519 |
|
---|
520 | drawing = new svgedit.draw.Drawing(svg.cloneNode(true));
|
---|
521 | ok(!drawing.getNonce());
|
---|
522 |
|
---|
523 | drawing = new svgedit.draw.Drawing(svg_n.cloneNode(true));
|
---|
524 | ok(!drawing.getNonce());
|
---|
525 | });
|
---|
526 |
|
---|
527 | });
|
---|
528 | </script>
|
---|
529 | </head>
|
---|
530 | <body>
|
---|
531 | <h1 id='qunit-header'>Unit Tests for draw.js</h1>
|
---|
532 | <h2 id='qunit-banner'></h2>
|
---|
533 | <h2 id='qunit-userAgent'></h2>
|
---|
534 | <ol id='qunit-tests'>
|
---|
535 | </ol>
|
---|
536 | <div id='anchor' style='visibility:hidden'>
|
---|
537 | </div>
|
---|
538 | </body>
|
---|
539 | </html>
|
---|