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

133 lines
3.8 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>dijit.Tree Automatic Tests</title>
<style type="text/css">
@import "../../themes/claro/document.css";
@import "../../../dojo/resources/dnd.css";
@import "../../../dojo/tests/dnd/dndDefault.css";
@import "../css/dijitTests.css";
</style>
<!-- required: a default dijit theme: -->
<link id="themeStyles" rel="stylesheet" href="../../../dijit/themes/claro/claro.css"/>
<!-- required: dojo.js -->
<script type="text/javascript" src="../../../dojo/dojo.js"
djConfig="isDebug: true"></script>
<!-- not needed, for testing alternate themes -->
<script type="text/javascript" src="../_testCommon.js"></script>
<script type="text/javascript" src="../helpers.js"></script>
<script type="text/javascript">
dojo.require("doh.runner");
dojo.require("dojo.parser");
dojo.require("dijit.dijit"); // optimize: load dijit layer
dojo.require("dojox.data.JsonRestStore");
dojo.require("dijit.Tree");
dojo.require("dijit.tree.ForestStoreModel");
dojo.require("dijit.tree.dndSource");
dojo.ready(function(){
var handler, myTree;
doh.register("parse", function(){
dojo.parser.parse();
});
doh.register("Tree tests",
[
{
timeout: 3000,
name: "create",
runTest: function(){
var
d = new doh.Deferred(),
myStore = new dojox.data.JsonRestStore({target:"./", labelAttribute:"name"}),
myModel = new dijit.tree.ForestStoreModel({
store: myStore,
deferItemLoadingUntilExpand: true,
query: "treeTestRoot",
childrenAttrs: ["children"]
});
myTree = new dijit.Tree({
id: "myTree",
model: myModel,
"label": "Example",
persist: false, // persist==true is too hard to test
dndController: "dijit.tree.dndSource"
});
doh.t(myTree, "tree created");
dojo.byId("container").appendChild(myTree.domNode);
handler = myTree.connect(myTree, "onOpen",
d.getTestCallback(function(){
// Give the tree time to load, and the do checks that it
// loaded correctly
doh.t(myTree.rootNode, "root node exists");
doh.t(myTree.rootNode.isExpanded, "root node is expanded");
var children = myTree.rootNode.getChildren();
doh.is(5, children.length, "six children");
doh.is("node1", children[0].label, "first child");
doh.f(children[0].isExpanded, "first child not expanded");
})
);
myTree.startup();
return d;
},
tearDown: function(){
myTree.disconnect(handler);
}
},
{
timeout: 2000,
name: "open a node",
runTest: function(){
var
d = new doh.Deferred(),
first = myTree.rootNode.getChildren()[0],
runNext = function(){
var firstFirst = first.getChildren()[0];
runNext = d.getTestCallback(function(){
var children = firstFirst.getChildren();
doh.is(2, children.length, "two children");
doh.is("node1.1.1", children[0].label, "first child");
});
myTree._onExpandoClick({
node: firstFirst
});
};
handler = myTree.connect(myTree, "onOpen",
function(){ runNext(); });
myTree._onExpandoClick({
node: first
});
return d;
},
tearDown: function(){
myTree.disconnect(handler);
}
}
]
);
doh.run();
});
</script>
</head>
<body class="claro">
<h1 class="testTitle">Dijit.Tree automated tests</h1>
<div id="container"> <!-- tree will go here --></div>
<div id="container2"> <!-- tree2 will go here --></div>
</body>
</html>