Updated
This commit is contained in:
234
master/examples/test_utils.html
Normal file
234
master/examples/test_utils.html
Normal file
@@ -0,0 +1,234 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>GFX Test: Test the basic utils functions</title>
|
||||
<style type="text/css">
|
||||
@import "../../../../dojo/resources/dojo.css";
|
||||
@import "../../../../dijit/tests/css/dijitTests.css";
|
||||
</style>
|
||||
<!-- SVGWEB { -->
|
||||
<meta name="svg.render.forceflash" content="true"/>
|
||||
<script src="svgweb/src/svg.js" data-path="svgweb/src"></script>
|
||||
<script src="../../../../dojo/dojo.js" djConfig="isDebug:true,forceGfxRenderer:'svg'" type="text/javascript"></script>
|
||||
<!-- } -->
|
||||
<script type="text/javascript" src="../../../util/doh/runner.js"></script>
|
||||
<script type="text/javascript">
|
||||
dojo.require("doh.runner");
|
||||
dojo.require("dojox.gfx");
|
||||
dojo.require("dojox.gfx.utils");
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
dojo.addOnLoad(function(){
|
||||
var drawing;
|
||||
var ta;
|
||||
doh.register("GFX: Utils Tests", [
|
||||
{
|
||||
name: "toJson",
|
||||
timeout: 1000,
|
||||
setUp: function(){
|
||||
if(!drawing){
|
||||
var dn = dojo.byId("gfxObject");
|
||||
drawing = dojox.gfx.createSurface(dn, 300, 300);
|
||||
/* SVGWEB { */
|
||||
drawing.whenLoaded(function() {
|
||||
drawing.createRect({
|
||||
width: 100,
|
||||
height: 100,
|
||||
x: 100,
|
||||
y: 100
|
||||
}).setFill("blue").setStroke("black");
|
||||
});
|
||||
/* } */
|
||||
}
|
||||
if(!ta){
|
||||
ta = dojo.byId("outputArea");
|
||||
}
|
||||
},
|
||||
runTest: function(){
|
||||
/* SVGWEB { */
|
||||
drawing.whenLoaded(function() {
|
||||
var d = new doh.Deferred();
|
||||
try{
|
||||
var json = dojox.gfx.utils.toJson(drawing);
|
||||
doh.assertTrue(json != null, "Checking that non-null was returned.");
|
||||
ta.value = json;
|
||||
var obj = dojo.fromJson(json);
|
||||
doh.assertTrue(1, obj.length, "Checking that the json is an array of one entry.");
|
||||
doh.assertTrue(obj[0].shape != null, "Checking that a toplevel shape object is present.");
|
||||
doh.assertEqual("rect", obj[0].shape.type, "Checking that the shape type is rect.");
|
||||
doh.assertEqual(100, obj[0].shape.width, "Checking that the width is 100.");
|
||||
doh.assertEqual(100, obj[0].shape.height, "Checking that the height is 100.");
|
||||
d.callback(true);
|
||||
}catch(e){
|
||||
d.errback(e);
|
||||
}
|
||||
return d;
|
||||
});
|
||||
/* } */
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "fromJson",
|
||||
timeout: 1000,
|
||||
setUp: function(){
|
||||
if(!drawing){
|
||||
var dn = dojo.byId("gfxObject");
|
||||
drawing = dojox.gfx.createSurface(dn, 300, 300);
|
||||
/* SVGWEB { */
|
||||
drawing.whenLoaded(function() {
|
||||
drawing.createRect({
|
||||
width: 100,
|
||||
height: 100,
|
||||
x: 100,
|
||||
y: 100
|
||||
}).setFill("blue").setStroke("black");
|
||||
});
|
||||
/* } */
|
||||
}
|
||||
if(!ta){
|
||||
ta = dojo.byId("outputArea");
|
||||
}
|
||||
},
|
||||
runTest: function(){
|
||||
/* SVGWEB { */
|
||||
drawing.whenLoaded(function() {
|
||||
var d = new doh.Deferred();
|
||||
try{
|
||||
var json = dojox.gfx.utils.toJson(drawing);
|
||||
doh.assertTrue(json != null, "Checking that non-null was returned.");
|
||||
var targetNode = dojo.byId("scratchObject");
|
||||
var tempSurface = dojox.gfx.createSurface(targetNode, 300, 300);
|
||||
dojox.gfx.utils.fromJson(tempSurface, json);
|
||||
|
||||
var nsJson = dojox.gfx.utils.toJson(tempSurface);
|
||||
tempSurface.destroy();
|
||||
|
||||
var obj = dojo.fromJson(nsJson);
|
||||
doh.assertTrue(1, obj.length, "Checking that the json is an array of one entry.");
|
||||
doh.assertTrue(obj[0].shape != null, "Checking that a toplevel shape object is present.");
|
||||
doh.assertEqual("rect", obj[0].shape.type, "Checking that the shape type is rect.");
|
||||
doh.assertEqual(100, obj[0].shape.width, "Checking that the width is 100.");
|
||||
doh.assertEqual(100, obj[0].shape.height, "Checking that the height is 100.");
|
||||
d.callback(true);
|
||||
}catch(e){
|
||||
d.errback(e);
|
||||
}
|
||||
return d;
|
||||
});
|
||||
/* } */
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "toSvg",
|
||||
timeout: 10000,
|
||||
setUp: function(){
|
||||
if(!drawing){
|
||||
var dn = dojo.byId("gfxObject");
|
||||
drawing = dojox.gfx.createSurface(dn, 300, 300);
|
||||
/* SVGWEB { */
|
||||
drawing.whenLoaded(function() {
|
||||
drawing.createRect({
|
||||
width: 100,
|
||||
height: 100,
|
||||
x: 100,
|
||||
y: 100
|
||||
}).setFill("blue").setStroke("black");
|
||||
});
|
||||
/* } */
|
||||
}
|
||||
if(!ta){
|
||||
ta = dojo.byId("outputArea");
|
||||
}
|
||||
},
|
||||
runTest: function(){
|
||||
/* SVGWEB { */
|
||||
drawing.whenLoaded(function() {
|
||||
var d = new doh.Deferred();
|
||||
var def= dojox.gfx.utils.toSvg(drawing);
|
||||
def.addCallback(function(svg){
|
||||
try{
|
||||
doh.assertTrue(svg != null, "Checking that non-null was returned.");
|
||||
ta.value = svg;
|
||||
doh.assertTrue(svg.length > 0, "Checking that svg length > 0");
|
||||
doh.assertTrue(svg.toLowerCase().indexOf("<svg") === 0, "Checking that the string starts with SVG open tag.");
|
||||
d.callback(true);
|
||||
}catch(e){
|
||||
d.errback(e);
|
||||
}
|
||||
});
|
||||
def.addErrback(function(e){
|
||||
d.errback(e);
|
||||
});
|
||||
return d;
|
||||
});
|
||||
/* } */
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "serialize/deserialize",
|
||||
timeout: 1000,
|
||||
setUp: function(){
|
||||
if(!drawing){
|
||||
var dn = dojo.byId("gfxObject");
|
||||
drawing = dojox.gfx.createSurface(dn, 300, 300);
|
||||
/* SVGWEB { */
|
||||
drawing.whenLoaded(function() {
|
||||
drawing.createRect({
|
||||
width: 100,
|
||||
height: 100,
|
||||
x: 100,
|
||||
y: 100
|
||||
}).setFill("blue").setStroke("black");
|
||||
});
|
||||
/* } */
|
||||
}
|
||||
if(!ta){
|
||||
ta = dojo.byId("outputArea");
|
||||
}
|
||||
},
|
||||
runTest: function(){
|
||||
/* SVGWEB { */
|
||||
drawing.whenLoaded(function() {
|
||||
var d = new doh.Deferred();
|
||||
try{
|
||||
var sObj = dojox.gfx.utils.serialize(drawing);
|
||||
doh.assertTrue(sObj != null, "Checking that non-null was returned.");
|
||||
|
||||
//Lets try to deserialize it!
|
||||
var targetNode = dojo.byId("scratchObject");
|
||||
var tempSurface = dojox.gfx.createSurface(targetNode, 300, 300);
|
||||
dojox.gfx.utils.deserialize(tempSurface, sObj);
|
||||
var nsJson = dojox.gfx.utils.toJson(tempSurface);
|
||||
tempSurface.destroy();
|
||||
|
||||
var obj = dojo.fromJson(nsJson);
|
||||
doh.assertTrue(1, obj.length, "Checking that the json is an array of one entry.");
|
||||
doh.assertTrue(obj[0].shape != null, "Checking that a toplevel shape object is present.");
|
||||
doh.assertEqual("rect", obj[0].shape.type, "Checking that the shape type is rect.");
|
||||
doh.assertEqual(100, obj[0].shape.width, "Checking that the width is 100.");
|
||||
doh.assertEqual(100, obj[0].shape.height, "Checking that the height is 100.");
|
||||
d.callback(true);
|
||||
}catch(e){
|
||||
d.errback(e);
|
||||
}
|
||||
return d;
|
||||
});
|
||||
/* } */
|
||||
}
|
||||
}
|
||||
]);
|
||||
doh.run();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body class="tundra">
|
||||
<h1>Test of GFX Utils functions</h1>
|
||||
This page is intended for testing of the functions of the utils package, such as toJson, fromJson, and toSvg.
|
||||
<div id="gfxObject"></div>
|
||||
<div id="scratchObject"></div>
|
||||
<div>
|
||||
<textarea style="width: 100%; height: 300px" id="outputArea"></textarea>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user