178 lines
6.6 KiB
HTML
178 lines
6.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
|
"http://www.w3.org/TR/html4/strict.dtd">
|
|
<html>
|
|
<head>
|
|
<title>doh.robot BorderContainer Test</title>
|
|
|
|
<style>
|
|
@import "../../../../util/doh/robot/robot.css";
|
|
</style>
|
|
|
|
<!-- required: dojo.js -->
|
|
<script type="text/javascript" src="../../../../dojo/dojo.js"
|
|
djConfig="isDebug: true"></script>
|
|
|
|
<!-- functions to help test -->
|
|
<script type="text/javascript" src="../../helpers.js"></script>
|
|
<script type="text/javascript" src="./borderContainerTestFunctions.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
dojo.require("dijit.robotx");
|
|
|
|
dojo.ready(function(){
|
|
doh.robot.initRobot('../test_BorderContainer.html');
|
|
|
|
doh.register("mouse", [
|
|
{
|
|
name: "expand right pane",
|
|
timeout: 10000,
|
|
runTest: function(t){
|
|
var d = new doh.Deferred();
|
|
|
|
var oTop = dojo.position(dojo.byId("border2-top")),
|
|
oCenter = dojo.position(dojo.byId("border2-center")),
|
|
oRight = dojo.position(dojo.byId("border2-trailing")),
|
|
oBottom = dojo.position(dojo.byId("border2-bottom"));
|
|
|
|
// Drag slider to expand pane
|
|
var size = dojo.position("border2-trailing_splitter");
|
|
doh.robot.mouseMoveAt("border2-trailing_splitter", 500);
|
|
doh.robot.mousePress({left: true}, 500);
|
|
doh.robot.mouseMoveAt("border2-trailing_splitter", 500, 100,
|
|
size.w/2 + (dojo._isBodyLtr() ? -100 : 100), size.h/2);
|
|
doh.robot.mouseRelease({left: true}, 500);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
var nTop = dojo.position(dojo.byId("border2-top")),
|
|
nCenter = dojo.position(dojo.byId("border2-center")),
|
|
nRight = dojo.position(dojo.byId("border2-trailing")),
|
|
nBottom = dojo.position(dojo.byId("border2-bottom"));
|
|
|
|
doh.t(within(oRight.w + 100, nRight.w, 10), "right width went from " + oRight.w + " to " + nRight.w);
|
|
doh.t(within(oTop.w - 100, nTop.w, 10), "top width went from " + oTop.w + " to " + nTop.w);
|
|
doh.t(within(oCenter.w - 100, nCenter.w, 10), "center width went from " + oCenter.w + " to " + nCenter.w);
|
|
doh.t(within(oBottom.w - 100, nBottom.w, 10), "bottom width went from " + nBottom.w + " to " + nBottom.w);
|
|
}), 500);
|
|
|
|
return d;
|
|
}
|
|
},
|
|
{
|
|
name: "shrink bottom pane",
|
|
timeout: 10000,
|
|
runTest: function(t){
|
|
var d = new doh.Deferred();
|
|
|
|
var oTop = dojo.position(dojo.byId("border2-top")),
|
|
oCenter = dojo.position(dojo.byId("border2-center")),
|
|
oRight = dojo.position(dojo.byId("border2-trailing")),
|
|
oBottom = dojo.position(dojo.byId("border2-bottom"));
|
|
|
|
// Drag slider to shrink pane
|
|
var size = dojo.position("border2-bottom_splitter");
|
|
doh.robot.mouseMoveAt("border2-bottom_splitter", 500);
|
|
doh.robot.mousePress({left: true}, 500);
|
|
doh.robot.mouseMoveAt("border2-bottom_splitter", 500, 100, size.w/2, size.h/2 + 10);
|
|
doh.robot.mouseRelease({left: true}, 500);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
var nTop = dojo.position(dojo.byId("border2-top")),
|
|
nCenter = dojo.position(dojo.byId("border2-center")),
|
|
nRight = dojo.position(dojo.byId("border2-trailing")),
|
|
nBottom = dojo.position(dojo.byId("border2-bottom"));
|
|
|
|
doh.t(within(oBottom.h - 10, nBottom.h, 10), "bottom height went from " + oBottom.h + " to " + nBottom.h);
|
|
doh.t(within(oCenter.h + 10, nCenter.h, 10), "center height went from " + oCenter.h + " to " + nCenter.h);
|
|
}), 500);
|
|
|
|
return d;
|
|
}
|
|
}
|
|
]);
|
|
|
|
doh.register("keyboard", [
|
|
function setup(){
|
|
// Workaround FF4 bug where overflow:auto panes get focus even when
|
|
// they don't have a scrollbar, remove when
|
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=616594 fixed
|
|
if(dojo.isFF == 4){
|
|
dojo.query(".dijitContentPane").style("overflow", "hidden");
|
|
}
|
|
},
|
|
|
|
{
|
|
name: "tabIndex",
|
|
timeout: 10000,
|
|
runTest: function(t){
|
|
var d = new doh.Deferred();
|
|
doh.robot.sequence(function(){
|
|
dojo.byId("toggleLeftButton").focus();
|
|
}, 500, 500);
|
|
|
|
// Tab into second BorderContainer, landing on link
|
|
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("a link", innerText(dojo.global.dijit.focus.curNode), "tabbed to link");
|
|
}), 500);
|
|
|
|
// Tab past ComboBox to get to splitter for bottom panel
|
|
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
|
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("border2-bottom_splitter", dojo.global.dijit.focus.curNode.id, "focus on bottom splitter");
|
|
}), 500);
|
|
|
|
// Tab to get to splitter for right panel
|
|
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("border2-trailing_splitter", dojo.global.dijit.focus.curNode.id, "focus on bottom splitter");
|
|
}), 500);
|
|
|
|
// tab out of BorderContainer, into the next one
|
|
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("a link", innerText(dojo.global.dijit.focus.curNode), "tabbed to link in next BC");
|
|
}), 500);
|
|
|
|
return d;
|
|
}
|
|
},
|
|
|
|
{
|
|
name: "expand/contract",
|
|
timeout: 10000,
|
|
runTest: function(t){
|
|
var d = new doh.Deferred();
|
|
|
|
var oSize, nSize;
|
|
|
|
// contract bottom pane
|
|
doh.robot.sequence(function(){
|
|
dojo.byId("border2-bottom_splitter").focus();
|
|
oSize = dojo.position("border2-bottom");
|
|
}, 500, 500);
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 500, {});
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
nSize = dojo.position("border2-bottom");
|
|
doh.t(nSize.h < oSize.h, "contracted bottom pane");
|
|
}), 500);
|
|
|
|
// expand trailing pane
|
|
doh.robot.sequence(function(){
|
|
dojo.byId("border2-trailing_splitter").focus();
|
|
oSize = dojo.position("border2-trailing");
|
|
}, 500, 500);
|
|
doh.robot.keyPress(dojo._isBodyLtr() ? dojo.keys.LEFT_ARROW : dojo.keys.RIGHT_ARROW, 500, {});
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
nSize = dojo.position("border2-trailing");
|
|
doh.t(nSize.w > oSize.w, "expanded trailing pane");
|
|
}), 500);
|
|
|
|
return d;
|
|
}
|
|
}
|
|
]);
|
|
|
|
doh.run();
|
|
});
|
|
</script>
|
|
</head>
|
|
</html> |