SemanticScuttle/includes/js/dijit/tests/ondijitclick.html

95 lines
2.6 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Test Dijit Internal Event: "ondijitclick"</title>
<script type="text/javascript" src="../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>
<script type="text/javascript">
dojo.require("doh.runner");
dojo.require("dijit._Widget");
dojo.require("dojo.parser");
dojo.declare("dijit.WidgetWithOndijitclick",
dijit._Widget,
{
clickCount: 0,
_onClick: function() {
this.clickCount++;
},
postCreate: function() {
this.connect(this.domNode, "ondijitclick", "_onClick");
}
}
);
dojo.addOnLoad(function(){
doh.register("ondijitclick",
[
{
name: "ondijitclick fires once on a space-key-up",
runTest: function(t){
var w = dijit.byId("widget1");
if (dojo.isSafari){ // safari has error
this.name += " * SKIPPED *";
return;
}
// simulate space up
if (document.createEvent){
var e = document.createEvent("KeyboardEvent");
e.initKeyEvent("keyup",true,true,null,false,false,false,false,32,0);
w.domNode.focus();
w.clickCount = 0;
w.domNode.dispatchEvent(e);
t.is(1, w.clickCount);
}
}
},
{
name: "ondijitclick fires once on an enter-key-down",
runTest: function(t){
var w = dijit.byId("widget1");
if (dojo.isSafari){ // safari has error
this.name += " * SKIPPED *";
return;
}
// simulate enter down
if (document.createEvent && !dojo.isSafari){
var e = document.createEvent("KeyboardEvent");
e.initKeyEvent("keydown",true,true,null,false,false,false,false,13,0);
w.domNode.focus();
w.clickCount = 0;
w.domNode.dispatchEvent(e);
t.is(1, w.clickCount);
}
}
},
{
name: "ondijitclick fires once on a mouse click",
runTest: function(t){
var w = dijit.byId("widget1");
// simulate enter up
if (document.createEvent){
var e = document.createEvent("MouseEvents");
e.initMouseEvent('click', true, true, document.defaultView, 1, 0, 0, 3, 3, false, false, false, false, 0, w.domNode);
w.clickCount = 0;
w.domNode.dispatchEvent(e);
t.is(1, w.clickCount);
}
}
}
]
);
doh.run();
});
</script>
</head>
<body class="tundra">
<div id="widget1" dojoType="dijit.WidgetWithOndijitclick"></div>
</body>
</html>