Files
openlayers/master/examples/test_boundingBoxController.html
Éric Lemoine 5d14b9e2d4 Updated
2013-02-20 10:38:25 +01:00

79 lines
2.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>dojox dnd BoundingBoxController</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
@import "../../../dojo/resources/dojo.css";
@import "../../../dojo/tests/dnd/dndDefault.css";
body { padding: 20px; }
#boundingBox {
background:#999;
border:1px solid #2B2B2B;
opacity:0.6;
position:absolute;
z-index:19999;
}
</style>
<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
<script type="text/javascript">
dojo.require("dojox.dnd.BoundingBoxController");
dojo.require("dojox.dnd.Selector");
dojo.require("doh.runner");
mockEvent = function(args) {
var evt = {
stopPropagation: function() {},
preventDefault: function() {},
button: 0
};
dojo.mixin(evt, args);
return evt;
};
dojo.addOnLoad(function(){
source = new dojox.dnd.Selector(dojo.byId("source"));
doh.register("dojox.dnd.BoundingBoxController",
[
{
name: "testMouseDownUp",
timeout: 1000,
setUp: function() {
source.conservative = false;
bbc = new dojox.dnd.BoundingBoxController([source], dojo.byId("boundingBox"));
},
runTest: function() {
var def = new doh.Deferred(), res = false,
s = dojo.subscribe("/dojox/dnd/bounding", function() {
dojo.unsubscribe(s);
res = true;
});
bbc._onMouseDown(mockEvent({clientX: 1, clientY: 1}));
bbc._onMouseMove(mockEvent({clientX: 1000, clientY: 1000}));
doh.assertTrue(dojo.style(dojo.byId("boundingBox"), "display") !== "none");
bbc._onMouseUp(mockEvent());
doh.assertTrue(source.getSelectedNodes().length === 3);
setTimeout(function() {
res && dojo.style(dojo.byId("boundingBox"), "display") === "none" ? def.callback(true) : def.errback(false);
}, 500);
return def;
},
tearDown: function() {
}
}
]
);
doh.run();
});
</script>
</head>
<body>
<h1 id="header">Dojox DnD BoundingBoxController test</h1>
<div id="source" class="container">
<div id="blonde" class="dojoDndItem">Blonde on Blonde</div>
<div id="highway" class="dojoDndItem">Highway 61 Revisited</div>
<div id="tracks" class="dojoDndItem">Blood on the Tracks</div>
</div>
<div id="boundingBox"></div>
</body>
</html>