110 lines
2.7 KiB
HTML
110 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>Dijit raw programatic test suite | The Dojo Toolkit</title>
|
||
|
|
||
|
<style type="text/css">
|
||
|
@import "../../dojo/resources/dojo.css";
|
||
|
@import "css/dijitTests.css";
|
||
|
body, html { width:100%; height:100%; margin:0; padding:0; background:#fff !important; }
|
||
|
</style>
|
||
|
|
||
|
<script type="text/javascript" src="../../dojo/dojo.js"
|
||
|
djConfig="parseOnLoad: true, isDebug: true"></script>
|
||
|
<script type="text/javascript" src="_testCommon.js"></script>
|
||
|
|
||
|
<script language="JavaScript" type="text/javascript">
|
||
|
dojo.require("dojo.data.ItemFileReadStore");
|
||
|
dojo.require("dijit.dijit-all");
|
||
|
|
||
|
var randomParams = function(){
|
||
|
// need better params to test passing
|
||
|
return { "length" : 20 };
|
||
|
};
|
||
|
|
||
|
var inspectClass = function(fullClassName){
|
||
|
var newDijit, newDijitDom, newDijitParam = null;
|
||
|
var createdWidgets = [];
|
||
|
className = eval(fullClassName); //
|
||
|
|
||
|
// just try to make the class:
|
||
|
try{
|
||
|
newDijit = new className({});
|
||
|
createdWidgets.push(newDijit);
|
||
|
}catch(e){
|
||
|
console.warn('new only: ',fullClassName,e);
|
||
|
}
|
||
|
|
||
|
// try starting this widget
|
||
|
try{
|
||
|
if (newDijit && newDijit.startup){ newDijit.startup(); }
|
||
|
}catch(e){
|
||
|
console.warn('call startup: ',fullClassName,e);
|
||
|
}
|
||
|
|
||
|
// try with a div in the dom
|
||
|
try{
|
||
|
var tmpDiv = dojo.body().appendChild(document.createElement('div'));
|
||
|
newDijitDom = new className({},tmpDiv);
|
||
|
createdWidgets.push(newDijitDom);
|
||
|
}catch(e){
|
||
|
console.warn('attached to div: ',fullClassName,e);
|
||
|
}
|
||
|
|
||
|
// lets pass random parameters
|
||
|
try{
|
||
|
var tmpDiv = dojo.body().appendChild(document.createElement('div'));
|
||
|
newDijitParam = new className(randomParams(),tmpDiv);
|
||
|
createdWidgets.push(newDijitParam);
|
||
|
}catch(e){
|
||
|
console.warn('random param test: ',fullClassName,e);
|
||
|
}
|
||
|
// add more tests ...
|
||
|
|
||
|
// cleanup after ourselves
|
||
|
dojo.forEach(createdWidgets,function(byeWidget){
|
||
|
try{
|
||
|
if(byeWidget.destroy){ byeWidget.destroy(); }
|
||
|
}catch(e){
|
||
|
console.warn('destroying: ',byeWidget.declaredClass,e,byeWidget);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
};
|
||
|
|
||
|
var storeError = function(e,request){
|
||
|
console.warn(e,request);
|
||
|
};
|
||
|
|
||
|
var storeReady = function(items,request){
|
||
|
dojo.forEach(items,function(item){
|
||
|
var testClass = theStore.getValue(item,"className");
|
||
|
try{
|
||
|
inspectClass(testClass);
|
||
|
}catch(e){
|
||
|
console.warn(e);
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
|
||
|
var init = function(){
|
||
|
var request = {
|
||
|
query: { },
|
||
|
onComplete: storeReady,
|
||
|
onError: storeError
|
||
|
};
|
||
|
theStore.fetch(request);
|
||
|
};
|
||
|
dojo.addOnLoad(init);
|
||
|
|
||
|
</script>
|
||
|
|
||
|
</head>
|
||
|
<body>
|
||
|
<div dojoType="dojo.data.ItemFileReadStore" jsId="theStore"
|
||
|
url="../tests/_data/dijits.json"></div>
|
||
|
|
||
|
</body>
|
||
|
</html>
|